在Excel中,我有两列属性名称。我需要确定A列中的名称是否在B列中具有完全匹配,部分匹配或不匹配。
除了设置这个让我感到困惑的事情是如果有多个部分匹配的话 - 我不认为用“最佳匹配”组件使其复杂化是合理的,但我不知道如何处理这部分。如何做到这一点?
答案 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