我正在使用excel并尝试查找一个单元格的一部分是否与列表中的任何内容匹配。我试图提取单元格的那部分作为我的结果。
我正在使用的公式是:
{= INDEX($ A $ 1:$ A $ 10,MATCH(1,COUNTIF(B1," *"& $ A $ 1:$ A $ 10&" *&# 34;),0))}
注意:必须将星号用尽以避免斜体
A1到A10是我引用的列表,B列中的任何内容都是我在列表中搜索的部分
问题是公式返回列表中找到的最常见值,而不是列表中最具体的部分。
示例:
A(list) B (formula result) (desired Result)
1 ABC sdfjABCsdhfs ABC ABC
2 ABC123 asdfasdfa #N/A #N/A
3 RBZ456 agfhABC1234shj ABC ABC1234
4 ABC1234 wuefhiuvbsiue #N/A #N/A
5 DEF123 dfsghABC123sdf ABC ABC123
B列中找到的最大结果是我希望找到的结果。不是最低的共同点。
任何建议都会很棒!
提前致谢。
编辑:添加括号,它是一个数组公式
答案 0 :(得分:3)
数组公式** :
= INDEX($ A $ 1:$ A $ 10,MATCH(MAX(IF(COUNTIF(B1,“*”& $ A $ 1:$ A $ 10&“*”),LEN($ A $ 1:$ A $ 10))),IF(COUNTIF(B1,“*”& $ A $ 1:$ A $ 10&“*”),LEN($ A $ 1:$ A $ 10)),0))
(我还在四个星号中的每一个之前添加了一个空格。)
此致
**数组公式的输入方式与“标准”公式的输入方式不同。您只需按住CTRL和SHIFT键,然后按ENTER键,而不是按ENTER键。如果你已经正确地完成了它,你会注意到Excel在公式周围放置了大括号{}(虽然不要尝试自己手动插入这些)。