在 Excel 中,我有两列属性名称。我需要确定 A 列中的名称在 B 列中是完全匹配、部分匹配还是不匹配。
除了设置它之外让我感到困惑的是,如果有多个部分匹配怎么办 - 我认为用“最佳匹配”组件将其复杂化是不合理的,但我不确定如何处理这个部分。
如何才能做到这一点?
在 Excel 中,我有两列属性名称。我需要确定 A 列中的名称在 B 列中是完全匹配、部分匹配还是不匹配。
除了设置它之外让我感到困惑的是,如果有多个部分匹配怎么办 - 我认为用“最佳匹配”组件将其复杂化是不合理的,但我不确定如何处理这个部分。
如何才能做到这一点?
完全符合
找出是否有完全匹配很容易 - 您可以使用以下MATCH
功能:
=匹配(B1,A:A,0)
将返回找到 B1 的行号。将它与 IFERROR 结合起来处理没有任何匹配的元素:
=IFERROR(MATCH(B1,A:A,0),"没有完全匹配")
或者,如果您只对是否有匹配感兴趣,而不是在哪里,请使用以下ISERROR
功能:
=NOT(ISERROR(匹配(B1,A:A,0)))
部分匹配
从您的评论中,我了解到“部分匹配”意味着 B 列中的完整字符串作为 A 列中的子字符串出现。您可以使用该SEARCH
函数。但是,由于搜索只会检查出现在一个单元格中,因此您需要将其组合为数组公式:
=匹配(错误,错误(搜索(B1,A1:A100)),0)
用Ctrl- Shift-输入Enter。
另请注意,出于性能原因,最好限制搜索范围,即代替A:A
, 使用A1:A100
- 或任何您的行数。
如果您想知道这些值的匹配程度,请考虑使用 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