基于Index与Match双条件的SAP表与内部Excel表比对求助
Excel表格数据匹配校验与差异排查方案
我有两个Excel工作表,一份是公司内部维护表格,另一份是SAP系统生成表格。需要校验两份表格的数据是否匹配,找出不匹配的差异,其中Input Data 2为正确基准数据,但数据量庞大,不知道怎么完成,求专业协助。
Input Data 1(公司内部维护表格)
| SAP Account Nr. | Company Account Nr. |
|---|---|
| 6020 | 55300000 |
| 8170 | 55790000 |
| 8180 | 55800000 |
| 8180 | 55850000 |
| 8156 | 56300000 |
| 8151 | 56400000 |
| 8165 | 56500000 |
| 8165 | 56500101 |
| 8100 | 56600000 |
| 8100 | 56650000 |
| 8100 | 56725000 |
| 8100 | 56750001 |
Input Data 2(SAP系统生成基准表格)
| Company Account Nr. | SAP Account Nr. |
|---|---|
| 55750000 | 6020 |
| 55750000 | 6020 |
| 55760000 | 6020 |
| 55770000 | 6020 |
| 55790000 | 8170 |
| 55800000 | 8180 |
| 55850000 | 8180 |
| 56300000 | 8156 |
| 56400000 | 8151 |
| 56450000 | 8150 |
| 56500000 | 8165 |
| 56500101 | 8165 |
| 56556000 | 8007 |
| 56600000 | 8100 |
| 56650000 | 8100 |
具体操作方案
方法1:函数快速校验匹配
在Input Data 1的空白列(如C列)输入以下公式,下拉填充后即可标记差异:
- 适用于Excel 365及以后版本:
=XLOOKUP(B2,'Input Data 2'!A:A,'Input Data 2'!B:B,"差异/无匹配",0) - 兼容旧版Excel:
=IFERROR(VLOOKUP(B2,'Input Data 2'!A:B,2,FALSE),"差异/无匹配")
结果显示"差异/无匹配"的行,即为Input Data 1与基准数据不符的记录;反向在Input Data 2中用同样方法,可找出内部表格缺失的基准记录。
方法2:Power Query批量对比差异
- 分别将两个表格导入Power Query:点击「数据」>「自表格/区域」
- 选择其中一个查询,点击「合并查询」>「合并查询作为新查询」,选择
Company Account Nr.+SAP Account Nr.作为匹配键,合并类型选「完全外部」 - 展开合并后的列,筛选出任意一侧为空的行,这些就是差异记录,可直接加载回Excel。
方法3:条件格式高亮差异单元格
- 选中Input Data 1的
SAP Account Nr.列,点击「开始」>「条件格式」>「新建规则」>「使用公式确定要设置格式的单元格」 - 输入公式:
=A2<>XLOOKUP(B2,'Input Data 2'!A:A,'Input Data 2'!B:B,""),设置高亮格式(如红色填充) - 对
Company Account Nr.列重复上述操作,可快速定位差异单元格。
内容的提问来源于stack exchange,提问作者AshSam123
相关产品推荐
相关产品推荐

