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

Excel对比指定列查找同手机号同日期重复行并返回匹配行号

错误原因说明

你之前的公式存在两个核心问题:一是AND函数内的两个MATCH参数缺少逗号分隔,二是MATCH只能返回单个维度第一个匹配的相对位置,无法同时校验手机号+日期两个条件,也不能精准返回匹配行的实际行号。

实现方案

方案1:Excel 365 / 2021及以上版本(支持动态数组)

直接在新增列第2行输入以下公式,下拉即可自动匹配所有行:

=IFERROR(TEXTJOIN(",",TRUE,FILTER(ROW($E$2:$E$4761),(ROW($E$2:$E$4761)<>ROW())*($E$2:$E$4761=E2)*($I$2:$I$4761=I2),0)),0)
  • 公式说明:
    • 自动过滤出和当前行手机号、日期完全一致,且排除自身的所有行
    • 存在多个重复行时会用逗号拼接所有匹配的工作表行号,无匹配则返回0
    • 可将$E$2:$E$4761替换为你实际的数据行范围
  • 如果只需要返回第一个匹配的行号,可简化为:
=XLOOKUP(1,($E$2:$E$4761=E2)*($I$2:$I$4761=I2)*(ROW($E$2:$E$4761)<>ROW()),ROW($E$2:$E$4761),0)

方案2:旧版Excel(不支持动态数组)

使用数组公式,输入完成后需按Ctrl+Shift+Enter三键组合确认生效,再下拉填充:

=IFERROR(INDEX(ROW($E$2:$E$4761),SMALL(IF(($E$2:$E$4761=E2)*($I$2:$I$4761=I2)*(ROW($E$2:$E$4761)<>ROW()),ROW($E$2:$E$4761)-ROW($E$1),99999),1)),0)

该公式默认返回第一个匹配的重复行行号,无匹配返回0。

注意事项

  • 所有范围引用需保留$绝对引用符,避免下拉公式时范围偏移
  • 若I列日期带时分秒格式,需将公式中I2和$I$2:$I$4761替换为INT(I2)和INT($I$2:$I$4761),先转成纯日期再匹配
  • 如果需要返回数据在列表内的序号(比如第一行数据返回1而非工作表行号2),将公式中ROW($E$2:$E$4761)整体减去1即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:09:01