分隔逗号的索引和匹配函数
Index and Match Function for Separated Comma
我一直在尝试制作一个公式,其中 INDEX
Sheet1.Rage("B2")
的值与 Sheet2.Rage("A2")
匹配,然后将结果粘贴到 Sheet2.Rage("B2")
我的匹配 ID 在 Sheet2.Rage("A2")
中用逗号分隔,就像这样 BFXI77,CTIB60,KWPX76
和 Sheet1.Rage("A2")
有这样的 ID BFXI77
。
所以我想对 Sheet2.Rage("B2")
中的结果求和三次。
我附上了一个 Sheet link 可能会有更好的帮助,我们将不胜感激。
https://docs.google.com/spreadsheets/d/1I9kiYaTnaIS-EZ3QpN-6Z063Y2CGsDZNeZvYO5Z0bRw/edit?usp=sharing
=INDEX(Sheet1!B2:B27,MATCH(A2,Sheet1!A2:A27,0),1)
在Excel中可以在数组公式中使用FILTERXML
函数:
=SUM(INDEX(Sheet1!B:B,N(IF(1,MATCH(FILTERXML("<a><b>" & SUBSTITUTE(A2,",","</b><b>") & "</b></a>","//b"),Sheet1!A:A,0)))))
编辑后的数组公式按ctrl
+shift
+enter
确认
您需要用逗号分隔 3 个单独的 MatchId,然后分别对每个 MatchId 进行 VLOOKUP。
这有点棘手,因为如果没有足够的逗号,您会得到#VALUE!,因此第二次和第三次查找的每个公式都必须使用 ISERROR 检查。
像这样:在 sheet 2
B2 formula: comma 1 pos: =FIND(",",A2)
C2 formula: comma 2 pos : =FIND(",",A2,B2+1)
D2 formula: lookup 1: =LEFT(A2,IF(ISERROR(B2),LEN(A2),B2-1))
E2 formula: lookup 2: =MID(A2,B2+1,IF(ISERROR(C2),LEN(A2),C2-1)-B2)
F2 formula: lookup 3: =RIGHT(A2,LEN(A2)-C2)
G2 formula: value 1: =VLOOKUP(D2,ItemTable,2,0)
H2 formula: value 2: =IF(ISERROR(B2),,VLOOKUP(E2,ItemTable,2,0))
I2 formula: value 3: =IF(ISERROR(C2),,VLOOKUP(F2,ItemTable,2,0))
J2 formula: Total: =G2+H2+I2
我一直在尝试制作一个公式,其中 INDEX
Sheet1.Rage("B2")
的值与 Sheet2.Rage("A2")
匹配,然后将结果粘贴到 Sheet2.Rage("B2")
我的匹配 ID 在 Sheet2.Rage("A2")
中用逗号分隔,就像这样 BFXI77,CTIB60,KWPX76
和 Sheet1.Rage("A2")
有这样的 ID BFXI77
。
所以我想对 Sheet2.Rage("B2")
中的结果求和三次。
我附上了一个 Sheet link 可能会有更好的帮助,我们将不胜感激。
https://docs.google.com/spreadsheets/d/1I9kiYaTnaIS-EZ3QpN-6Z063Y2CGsDZNeZvYO5Z0bRw/edit?usp=sharing
=INDEX(Sheet1!B2:B27,MATCH(A2,Sheet1!A2:A27,0),1)
在Excel中可以在数组公式中使用FILTERXML
函数:
=SUM(INDEX(Sheet1!B:B,N(IF(1,MATCH(FILTERXML("<a><b>" & SUBSTITUTE(A2,",","</b><b>") & "</b></a>","//b"),Sheet1!A:A,0)))))
编辑后的数组公式按ctrl
+shift
+enter
您需要用逗号分隔 3 个单独的 MatchId,然后分别对每个 MatchId 进行 VLOOKUP。
这有点棘手,因为如果没有足够的逗号,您会得到#VALUE!,因此第二次和第三次查找的每个公式都必须使用 ISERROR 检查。
像这样:在 sheet 2
B2 formula: comma 1 pos: =FIND(",",A2)
C2 formula: comma 2 pos : =FIND(",",A2,B2+1)
D2 formula: lookup 1: =LEFT(A2,IF(ISERROR(B2),LEN(A2),B2-1))
E2 formula: lookup 2: =MID(A2,B2+1,IF(ISERROR(C2),LEN(A2),C2-1)-B2)
F2 formula: lookup 3: =RIGHT(A2,LEN(A2)-C2)
G2 formula: value 1: =VLOOKUP(D2,ItemTable,2,0)
H2 formula: value 2: =IF(ISERROR(B2),,VLOOKUP(E2,ItemTable,2,0))
I2 formula: value 3: =IF(ISERROR(C2),,VLOOKUP(F2,ItemTable,2,0))
J2 formula: Total: =G2+H2+I2