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

Excel中多值出现最高频率相同时如何返回全部对应结果

Excel 提取并列最高频值解决方案

原有公式的局限性

你当前使用的=INDEX(A2:A11,MODE(MATCH(A2:A11,A2:A11,0)))仅能返回区域内排在首位的最高频值:MODE函数本身设计逻辑就是返回数据集中出现频率最高的第一个数值,遇到多个值频次并列最高的场景,不会输出全部结果,这就是蓝色区域公式仅返回V1的原因。

可用方案

根据你使用的Excel版本选择对应公式即可,公式直接支持「单最高频值返回单个结果、多并列最高频值用and拼接所有结果」的需求。

适用Excel 365/Excel 2021及以上版本(支持动态数组)

针对你示例中蓝色区域D2:D11的统计场景,直接输入以下公式即可:

=TEXTJOIN(" and ",TRUE,UNIQUE(FILTER(D2:D11,COUNTIF(D2:D11,D2:D11)=MAX(COUNTIF(D2:D11,D2:D11)))))

公式逻辑拆解:

  • COUNTIF(D2:D11,D2:D11):逐行计算区域内每个值的总出现次数
  • MAX(...):提取区域内的最高出现频次
  • FILTER(...):筛选出所有出现次数等于最高频次的值
  • UNIQUE(...):对筛选结果去重,避免同一值重复返回
  • TEXTJOIN(" and ",TRUE,...):将所有符合要求的值用and拼接为文本,自动忽略空值

适用Excel 2019及更早版本(无动态数组支持)

使用支持返回多众数的MODE.MULT函数替换原公式中的MODE,输入公式后按Ctrl+Shift+Enter三键结束确认(数组公式生效要求):

=TEXTJOIN(" and ",TRUE,INDEX(D2:D11,MODE.MULT(MATCH(D2:D11,D2:D11,0))))

公式逻辑拆解:

  • MODE.MULT会返回所有最高频值在MATCH结果中的位置数组
  • INDEX根据位置数组返回所有对应的实际值
  • 最后通过TEXTJOIN完成文本拼接

效果验证

  • 针对无并列的红色区域A2:A11,上述公式会直接返回单个结果V1,和你原有公式效果完全一致
  • 针对存在并列的蓝色区域D2:D11,公式会自动返回V1 and V2,符合你的预期输出要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:06:07