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

求Excel公式:统计数字字符串第3-5位的最常见3个数字(顺序无关)

提取指定位置数字并统计频率TOP3的方法

方法一:辅助列+基础函数(兼容所有Excel版本)

适合无动态数组功能的旧版Excel,分步操作:

  1. 拆分目标数字:假设数据在A列,右侧插入3个辅助列(B、C、D),分别输入公式并下拉填充:
    • B1:=MID(A1,3,1) 提取第3位数字
    • C1:=MID(A1,4,1) 提取第4位数字
    • D1:=MID(A1,5,1) 提取第5位数字
  2. 统计数字频率:在空白列(如E列)手动输入0-9十个数字(E1到E10依次为0、1、2…9),F1输入公式=COUNTIF($B:$D,E1),下拉到F10得到每个数字的总出现次数。
  3. 提取TOP3数字:在G1-G3分别输入公式,得到频率最高的三个数字:
    • G1:=INDEX(E:E,MATCH(LARGE(F:F,1),F:F,0))
    • G2:=INDEX(E:E,MATCH(LARGE(F:F,2),F:F,0))
    • G3:=INDEX(E:E,MATCH(LARGE(F:F,3),F:F,0))

方法二:动态数组函数(Excel 365/2021及以上版本)

单公式直接生成结果,无需辅助列:

=TAKE(SORT(CHOOSECOLS(HSTACK(SEQUENCE(10,,0),BYROW(SEQUENCE(10,,0),LAMBDA(x,SUM(--ISNUMBER(SEARCH(x,MID(A:A,3,3))))))),2,-1),3,1)

逻辑说明:

  • MID(A:A,3,3) 批量提取所有单元格的第3-5位字符串
  • SEARCH(x,...) 检查数字x在目标字符串中的出现情况
  • SUM(--ISNUMBER(...)) 统计数字x的总出现次数
  • HSTACK 将0-9数字与对应次数组合成二维数组
  • SORT 按次数降序排序
  • TAKE 提取前3行的数字列,得到TOP3结果

方法三:Power Query批量处理(适合大量数据)

数据量较大时更高效:

  1. 选中数据列,点击「数据」→「从表格/区域」,将数据导入Power Query编辑器。
  2. 点击「添加列」→「自定义列」,输入公式:=Text.Middle([列1],2,3)(Power Query索引从0开始,第3位对应索引2,取3个字符)。
  3. 选中新列,点击「拆分列」→「按字符数」,设置每个字符拆为一列,拆成3列。
  4. 选中拆分后的3列,点击「转换」→「逆透视列」,仅保留「值」列。
  5. 选中「值」列,点击「转换」→「分组依据」,分组列选「值」,新列名设为「计数」,操作选「行计数」。
  6. 按「计数」列降序排序,保留前3行。
  7. 点击「关闭并上载」,将结果导入Excel。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 19:23:14