确定列表A中的名称是否具有完全匹配,部分匹配,或者在列表B中找不到?

时间:2013-03-09 09:33:17

标签: excel

在Excel中,我有两列属性名称。我需要确定A列中的名称是否在B列中具有完全匹配,部分匹配或不匹配。

除了设置这个让我感到困惑的事情是如果有多个部分匹配的话 - 我不认为用“最佳匹配”组件使其复杂化是合理的,但我不知道如何处理这部分。

如何做到这一点?

2 个答案:

答案 0 :(得分:4)

完全匹配

查明是否有完全匹配很容易 - 您可以使用MATCH函数:

=MATCH(B1,A:A,0)

将返回找到B1的行号。将它与IFERROR结合起来处理没有任何匹配的元素:

=IFERROR(MATCH(B1,A:A,0),"No exact match")

或者,如果您只对匹配感兴趣,而不是感兴趣,请使用ISERROR函数:

=NOT(ISERROR(MATCH(B1,A:A,0)))

部分匹配

根据您的评论,我理解“部分匹配”表示B列中的完整字符串作为A列中的子字符串出现。您可以使用SEARCH函数。但是,由于搜索只会检查出现在一个单元格中,因此需要将其组合为数组公式:

=MATCH(FALSE,ISERROR(SEARCH(B1,A1:A100)),0)

输入 Ctrl - Shift - 输入

另请注意,出于性能原因,最好限制搜索范围,即代替A:A,使用A1:A100 - 或任何行数。

答案 1 :(得分:2)

如果您想知道值的匹配程度,请考虑使用Excel的模糊查找加载项 http://www.microsoft.com/en-us/download/details.aspx?id=15011

以下链接提供了一个演示: http://www.k2e.com/tech-update/tips/431-tip-fuzzy-lookups-in-excel