抱歉,如果已经提出过这个问题,请阅读很多关于此的答案,(这是最能描述我情况的答案 - Excel - Match cells that contains exact match from list)
我希望Excel能够索引一个列,其中单元格包含以逗号分隔的值列表。有些列表只有一个条目,因此没有逗号。
我希望Excel找到给定字符串的完全匹配,例如,如果我搜索" C2"我希望它只能找到" C2"而不是" C22"或" C230"。它还应该找到" C2,"
我已经使用这个公式为单细胞工作:
= ISNUMBER(找到(""& E $ 1&",&#34 ;;""& $ B1&", &#34))
其中" C2"包含在单元格E1中,逗号分隔列表位于单元格B1中。
但是,如果我尝试将其合并到一个INDEX公式中(我希望它从列A中存在C2的单元格中返回相应的值),它再次找到" C2&#34的所有实例;。我写了如下公式:
= INDEX(A:A; ISNUMBER(找到(""& E $ 1&",&#34 ;;""& B: B&",")))
如果有人对如何让这个工作有任何建议,我将非常感激!
卡特里娜
答案 0 :(得分:0)
在辅助列中使用=ISNUMBER(FIND(" "&E$1&", "; " "&$B1&", "))
函数,例如F,然后沿B中的逗号分隔值向下拉。
使用=INDEX(A:A;MATCH(TRUE;F:F;0))
。在没有发生C2的情况下,这将首次发现C2或#NV。
请注意,该功能将找到“C2”和“C2”,但不会找到“C2”。
答案 1 :(得分:0)
=SUMPRODUCT(ISNUMBER(FIND(" "&E$1&", "; " "&B:B&", "))*A:A)
SUMPRODUCT适用于数组。 ISNUMBER函数返回一个false / 0和true / 1数组,然后与A列中的相应值相乘,仅返回A中ISNUMBER为真的值。如果多次出现E1值,则返回A中各个值的总和。
为了获得更好的性能,A和B中的范围应限制在可能值的范围内,例如A1:A100和B1:B100。