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

如何用Excel公式统计并排序E2:J27区域内的高频乐透号码?

解决Excel乐透号码频率统计排序问题

问题说明

在Excel中,每组乐透游戏的6个开奖号码位于E-J列,需要统计并排序E2:J27区域内出现频率最高的号码,但使用MODE函数的方法无法得到预期结果。

尝试过的数组公式(旧版Excel需按Ctrl+Shift+Enter确认输入):

=MODE(IF(ISERROR(MATCH($E$2:$J$27,D$30:D30,0)),$E$2:$J$27))

或

=IFERROR(MODE(IF(COUNTIF(D$30:D30,$E$2:$J$27)={0},$E$2:$J$27)),"")

期望最终得到如下格式的统计排序表格:

号码出现次数
2417
1214

有效解决方案

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

直接用以下公式就能自动生成完整的统计排序表(无需下拉填充):

=SORT(HSTACK(UNIQUE(TOCOL(E2:J27,1)),COUNTIF(E2:J27,UNIQUE(TOCOL(E2:J27,1)))),2,-1)
  • 公式逻辑:先用TOCOL把二维区域转为一维列表,UNIQUE提取不重复号码,COUNTIF统计每个号码的出现次数,HSTACK合并两列数据,最后SORT按出现次数降序排列。

如果需要拆分步骤:

  1. 提取不重复号码(放在D30单元格):
=SORT(UNIQUE(TOCOL(E2:J27,1)),1,1)
  1. 统计对应次数(放在E30单元格):
=COUNTIF(E2:J27,D30#)

方法2:旧版Excel(无动态数组)

  1. 提取不重复号码:
    在D30输入公式,按Ctrl+Shift+Enter确认后下拉,直到出现错误值再删除错误行:
=INDEX($E$2:$J$27,MIN(IF(COUNTIF($D$29:D29,$E$2:$J$27)=0,ROW($E$2:$J$27)*100+COLUMN($E$2:$J$27),999999)))
  1. 统计出现次数:
    在E30输入公式并下拉填充:
=COUNTIF($E$2:$J$27,D30)
  1. 排序:
    选中D30:EXX数据区域,点击「数据」选项卡的「排序」,设置主要关键字为「出现次数」,排序依据选「数值」,次序设为「降序」。

原MODE方法无效原因

你使用的MODE公式逻辑是逐个提取未出现过的众数,但MODE函数本身仅返回第一个出现频率最高的数值,当存在多个相同频率的号码时,这种数组公式容易出现遗漏或重复,无法完整统计所有号码的频率并实现排序需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 15:01:18