在一对多的情况下使用MATCH
我有两个城市的名单,他们的邮政编码和州。 一个可疑的质量清单,另一个是绝对正确的。 我正在尝试查找可疑列表不正确的情况。
任何给定的城市都可能有多个与之相关的邮政编码。
我正在尝试使用索引匹配来实现这一点。 但是,Excel的匹配函数似乎不适用于像这样的一对多关系。 它find与城市相关的第一个邮政编码,然后停止。
在这种情况下是否有更好的方法来进行比赛?
这种方法将显示代码,并告诉你哪些行有数据。 有了这样的数据:
在D1input城市名称斯普林菲尔德 。
在D2中input:
=MATCH($D$1,A:A,0)
在D3中input:
=MATCH($D$1,INDEX(A:A,D2+1):INDEX(A:A,9999),0)+D2
并复制下来,直到你得到一个错误。 D列标识了斯普林菲尔德行。 在E2中input:
=INDEX(B:B,D2)
并抄下来显示代码。
该方法避免使用数组公式,避免使用INDIRECT() 。
我能够找出一个(相当容易)解决这个问题:连接两个字段,然后匹配。
列A包括城市名称,列B是邮政编码。 于是我创build了一个新的C列,公式如下:
=Concatenate(A1, "-", B1)
我为可疑的数据和干净的数据做了这个。
从这里很容易匹配连接的数据。