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

Excel查找同位置重复数字匹配值 公式失效问题求助

解决Excel中匹配同位置重复数字的数值筛选问题

问题分析

你需要为A列中含重复数字的数值,在H列筛选出同位置重复数字完全匹配的数值,并用逗号分隔填入B列。例如:

  • A列是022(位置2、3为重复的2),需提取H列中所有位置2、3为2的数值(如022、122、222)
  • A列是313(位置1、3为重复的3),需提取H列中所有位置1、3为3的数值(如313、323、333)
  • A列是2722(位置1、3、4为重复的2),需提取H列中所有位置1、3、4为2的数值(如2122、2222、2722)

你原公式的问题在于仅判断了前两位或中间两位的重复,未覆盖所有可能的重复位置(比如1、3位的重复),导致筛选结果不准确。


解决方案

根据Excel版本不同,提供两种适配的公式:

1. Excel 365/2021(支持动态数组)

使用FILTER+BYROW+MODE组合,自动识别重复数字及其位置,适配任意长度的文本数值(需确保A、H列为文本格式,避免前导0丢失):

=TEXTJOIN(",",TRUE,FILTER(H:H,
    BYROW(H:H,LAMBDA(y,
        AND(MID(y,XMATCH(MODE(MID(A1,SEQUENCE(LEN(A1)),1)),MID(A1,SEQUENCE(LEN(A1)),1)),1)=MODE(MID(A1,SEQUENCE(LEN(A1)),1))
    ))
))

公式逻辑:

  • MID(A1,SEQUENCE(LEN(A1)),1):将A1拆分为单个字符的数组(如022拆为{"0","2","2"})
  • MODE(...):提取A1中重复次数最多的数字(即目标重复数字)
  • XMATCH(...):定位该重复数字在A1中的所有位置
  • AND(...):验证H列数值的对应位置是否都等于目标重复数字
  • FILTER+TEXTJOIN:筛选符合条件的数值并以逗号连接

2. 旧版Excel(非365/2021)

针对3位数值,使用数组公式(需按Ctrl+Shift+Enter触发):

=TEXTJOIN(",",TRUE,IF(
    (MID(H:H,IF(MID(A1,1,1)=MID(A1,2,1),{1,2},IF(MID(A1,1,1)=MID(A1,3,1),{1,3},{2,3})),1)=MID(A1,IF(MID(A1,1,1)=MID(A1,2,1),{1,2},IF(MID(A1,1,1)=MID(A1,3,1),{1,3},{2,3})),1))*1=2,
    H:H,
    ""
))

公式逻辑:

  • 先判断A1的哪两个位置数字重复,再检查H列数值的对应位置是否匹配该重复数字
  • 用*1=2确保两个位置的条件都满足(乘积为2表示两个判断均为TRUE)

注意事项

  • 确保A列和H列的数值为文本格式:选中列 → 右键「设置单元格格式」→ 选择「文本」,避免前导0被自动去除。
  • 若H列数据范围明确(如H1:H1000),建议替换公式中的H:H为具体范围,提升计算效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 01:29:54