如何在两个表格间校验数据匹配?VLOOKUP/INDEX MATCH可行吗?
用VLOOKUP/INDEX MATCH实现表格数据匹配验证方案
一、验证PT与BQ标签页分类区间数量匹配
可以用VLOOKUP或INDEX MATCH关联两张表的分类区间,再对比对应数量是否一致,具体实现如下:
- 假设PT表分类区间在
A列、数量在B列;BQ表分类区间在D列、数量在E列。 - VLOOKUP验证方式:在PT表空白列(如C2)输入公式:
下拉填充后,结果为=VLOOKUP(A2,BQ!$D:$E,2,FALSE)-B20则对应分类数量匹配,非0则存在差异。 - INDEX MATCH验证方式:公式替换为:
逻辑和VLOOKUP一致,INDEX MATCH在处理非首列匹配的场景下更灵活。=INDEX(BQ!$E:$E,MATCH(A2,BQ!$D:$D,0))-B2 - 额外补充:也可直接用COUNTIF统计同一分类的出现次数是否一致:
返回=COUNTIF(PT!$A:$A,A2)=COUNTIF(BQ!$D:$D,A2)TRUE则分类数量匹配,FALSE则不匹配。
二、审核DC与BQ表A、B、C列数据完全匹配
由于需要同时验证三列数据,需结合多条件匹配逻辑,两种函数的实现方式如下:
1. INDEX MATCH(推荐,适配重复值场景)
在DC表空白列(如D2)输入数组公式(按Ctrl+Shift+Enter确认):
=AND(INDEX(BQ!$A:$A,MATCH(DC!A2&DC!B2&DC!C2,BQ!$A:$A&BQ!$B:$B&BQ!$C:$C,0))=DC!A2,INDEX(BQ!$B:$B,MATCH(DC!A2&DC!B2&DC!C2,BQ!$A:$A&BQ!$B:$B&BQ!$C:$C,0))=DC!B2,INDEX(BQ!$C:$C,MATCH(DC!A2&DC!B2&DC!C2,BQ!$A:$A&BQ!$B:$B&BQ!$C:$C,0))=DC!C2)
下拉填充后,返回TRUE则三列数据完全匹配,FALSE则存在差异。该方法通过拼接三列内容作为匹配条件,能精准定位唯一的行记录。
2. VLOOKUP(仅适用于A列无重复值场景)
若DC和BQ表的A列无重复值,可通过多次VLOOKUP拼接对比:
=EXACT(DC!A2&DC!B2&DC!C2,VLOOKUP(DC!A2,BQ!$A:$C,1,FALSE)&VLOOKUP(DC!A2,BQ!$A:$C,2,FALSE)&VLOOKUP(DC!A2,BQ!$A:$C,3,FALSE))
返回TRUE则匹配,但若A列存在重复值,VLOOKUP仅会返回第一个匹配项,可能导致误判,因此优先推荐INDEX MATCH方案。
总结
VLOOKUP和INDEX MATCH均能满足你的数据匹配验证需求:
- 分类区间数量匹配:两种函数都能快速实现关联对比;
- 三列数据匹配:INDEX MATCH在多条件、重复值场景下的适用性更强,VLOOKUP仅适合A列无重复值的简单场景。
内容的提问来源于stack exchange,提问作者anna
相关产品推荐
相关产品推荐

