Excel查找索引列表中的最大部分值

时间:2014-10-01 19:47:13

标签: excel indexing max match countif

我正在使用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列中找到的最大结果是我希望找到的结果。不是最低的共同点。

任何建议都会很棒!

提前致谢。

编辑:添加括号,它是一个数组公式

1 个答案:

答案 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在公式周围放置了大括号{}(虽然不要尝试自己手动插入这些)。