【问题标题】:Index and Match Function for Separated Comma分隔逗号的索引和匹配函数
【发布时间】:2021-03-19 11:52:14
【问题描述】:

我一直在尝试制作一个公式,其中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") 中对结果求和三次。

我附上了一个工作表链接,它可能会更好地帮助您,我们将不胜感激。

https://docs.google.com/spreadsheets/d/1I9kiYaTnaIS-EZ3QpN-6Z063Y2CGsDZNeZvYO5Z0bRw/edit?usp=sharing

=INDEX(Sheet1!B2:B27,MATCH(A2,Sheet1!A2:A27,0),1)

【问题讨论】:

    标签: excel excel-formula match


    【解决方案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确认

    【讨论】:

      【解决方案2】:

      您需要将 3 个单独的 MatchId 以逗号分隔,然后对每个单独进行 VLOOKUP。

      这有点棘手,因为如果没有足够的逗号,就会得到 #VALUE!,因此第二次和第三次查找的每个公式都必须使用 ISERROR 检查。

      像这样:在第 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
      

      【讨论】:

      • 非常感谢@Edward 的帮助
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多