如何修改XLOOKUP函数实现Excel两表格逐单元格对比并标记差异?
解决Excel双表单元格对比并返回#N/A的问题
问题分析
你当前的=XLOOKUP(I8,C:C,C:C)函数逻辑错误:用右侧的Auto_Inc(I8)去匹配左侧的Col2列(C:C),完全没用到作为唯一标识的Auto_Inc列,自然无法实现双表同单元格的对比。
正确公式写法
假设:
- 左侧基准表:
A列=Auto_Inc,B列=Col1,C列=Col2,D列=Col3 - 右侧对比表:
I列=Auto_Inc,J列=Col1,K列=Col2,L列=Col3 - 对比结果放在
N列(对应J列)、O列(对应K列)、P列(对应L列)
以N8单元格(对应右侧J8的Col1对比)为例,公式如下:
=IF(XLOOKUP(I8,$A:$A,$B:$B)=J8,J8,#N/A)
公式解释:
XLOOKUP(I8,$A:$A,$B:$B):用右侧的Auto_Inc(I8)在左侧Auto_Inc列(A:A)查找,返回左侧对应行的Col1值(B:B)IF(...,J8,#N/A):对比返回值和右侧当前单元格(J8)的内容,一致则保留原内容;不一致(或找不到匹配的Auto_Inc导致XLOOKUP返回#N/A)则显示#N/A
批量应用
- 把N8的公式向右拖动到O8、P8,即可完成Col2、Col3的对比
- 再把N8:P8的公式向下拖动到N10:P10,即可覆盖你需要的区域
特殊场景适配
右侧7-9行(Auto_Inc=7、8、9)在左侧没有对应行,XLOOKUP会直接返回#N/A,经IF判断后结果也会显示#N/A,完全符合你的需求。
内容的提问来源于stack exchange,提问作者Koneczek
相关产品推荐
相关产品推荐

