You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

两列双向查找差异值:实现Col1与Col2互斥值识别需求

双向识别两列互斥值的Excel解决方案

需求说明

双向识别两列中的互斥值:查找Col1中存在但Col2中不存在的值,以及Col2中存在但Col1中不存在的值,规则如下:

  • 针对Col1的每一行值,若在Col2中找到匹配项,则在Col3中写入0;若未找到,则保留原数值或标记错误/NA均可。
  • 针对Col2的每一行值,若在Col1中找到匹配项,则在Col4中写入0;若未找到,则保留原数值或标记错误/NA均可。
  • 若Col1中某值重复出现多次,而Col2中仅出现一次,则第一个匹配项写0,其余未匹配项标记错误/保留原值。

示例数据集

Col1Col2
42646
5542646
77
33
2577

预期结果

Col3Col4
0
550
0
33(或error/NA)
250

解决方案

VLOOKUP无法处理“重复值仅匹配一次”的规则,这里用IF+COUNTIF的组合公式来实现:

计算Col3(匹配Col1到Col2)

在Col3的首个数据单元格(比如C2)输入以下公式,下拉填充至所有行:

=IF(AND(A2<>"",COUNTIF($B$2:$B$6,A2)>COUNTIF($C$1:C1,0)),0,A2)

公式逻辑:

  • 先排除Col1为空的行
  • 统计Col2中当前Col1值的总出现次数,再统计当前行之前Col3已经写入0的次数(即已匹配的次数)
  • 当总匹配次数大于已使用次数时,写入0,否则保留原数值

计算Col4(匹配Col2到Col1)

在Col4的首个数据单元格(比如D2)输入以下公式,下拉填充至所有行:

=IF(AND(B2<>"",COUNTIF($A$2:$A$6,B2)>COUNTIF($D$1:D1,0)),0,B2)

逻辑和Col3完全一致,仅调换了Col1和Col2的引用范围。

如果需要标记错误而非保留原值,只需把公式末尾的A2/B2替换为"error"或NA(),例如:

=IF(AND(A2<>"",COUNTIF($B$2:$B$6,A2)>COUNTIF($C$1:C1,0)),0,"error")

内容的提问来源于stack exchange,提问作者Ivan Kotlan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 16:55:17