在一对多的情况下使用MATCH

时间:2016-09-21 17:23:02

标签: excel

我有两个城市列表,包含邮政编码和州。一个可疑质量列表,另一个绝对是正确的。我正在尝试查找可疑列表不正确的实例。

任何指定城市可能都有多个与之关联的邮政编码。

我正在尝试使用索引匹配来完成此操作。但是,Excel的匹配功能似乎不适用于这样的一对多关系。它找到与城市关联的第一个邮政编码,然后停止。

在这种情况下,有更好的方法来执行匹配吗?

2 个答案:

答案 0 :(得分:1)

此方法将显示代码并告诉您哪些行具有数据。使用如下数据:

enter image description here

D1 中输入城市名称​​ Springfield
D2 中输入:

=MATCH($D$1,A:A,0)

D3 中输入:

=MATCH($D$1,INDEX(A:A,D2+1):INDEX(A:A,9999),0)+D2

并向下复制,直到出现错误。列 D 标识 Springfield 行。在 E2 中输入:

=INDEX(B:B,D2)

并向下复制以显示代码。

enter image description here

该方法避免使用数组公式并避免使用 INDIRECT()

答案 1 :(得分:0)

我能够找到一个(相当简单的)解决方案:连接两个字段然后匹配。

A列包含城市名称,B列是邮政编码。所以我用公式创建了一个新的C列:

=Concatenate(A1, "-", B1)

我为可疑数据和干净数据做了这个。

从这里可以很容易地匹配连接数据。