Excel进阶精确匹配公式需求:按组比对B列重复项
无需VBA的Excel进阶精确匹配实现方案
需求说明
针对10万+行数据,在已完成基础去重的前提下,仅对A列值相同的连续奇偶行对(如行1&行2、行3&行4),比对对应B列值是否一致,跳过不同A列组的行比对。
核心公式实现(辅助列方式)
在空白列(如C列)的第2行输入以下公式,下拉填充至全数据行:
=IF(AND(A1=A2,MOD(ROW(),2)=0),IF(B1=B2,"一致","不一致"),"")
公式逻辑拆解
MOD(ROW(),2)=0:判断当前行是偶数行,确保只和前一行(奇数行)组成待比对的奇偶对A1=A2:限定仅比对A列值相同的行对- 满足上述两个条件时,返回B列值的比对结果("一致"/"不一致");不满足则返回空值,避免无效标记干扰
如果需要返回布尔值(TRUE/FALSE),可简化公式:
=IF(AND(A1=A2,MOD(ROW(),2)=0),B1=B2,"")
无辅助列方案(条件格式高亮)
若不想新增辅助列,可通过条件格式直接高亮不一致的行对:
- 选中B列全部数据区域(如
B1:B100000) - 依次点击「开始」→「条件格式」→「新建规则」→「使用公式确定要设置格式的单元格」
- 新建第一条规则,输入公式并设置高亮格式(如红色填充):
(标记奇数行中,与下一行A列相同但B列不同的行)=AND(A1=A2,MOD(ROW(),2)=1,B1<>B2) - 新建第二条规则,输入公式并设置相同高亮格式:
(标记偶数行中,与上一行A列相同但B列不同的行)=AND(A1=A2,MOD(ROW(),2)=0,B1<>B2)
特殊情况处理
- 若某A列组包含奇数行(如示例中200000组有3行),组内最后一行(奇数行)因无对应偶数行,会自动跳过比对,不会产生无效标记
- 10万行数据量级下,上述公式和条件格式均可稳定运行,无需依赖VBA
内容的提问来源于stack exchange,提问作者holyton23
相关产品推荐
相关产品推荐

