You need to enable JavaScript to run this app. 无需数据透视表,统计Excel表格列中频数最高的前5个文本的公式怎么写
优惠活动
大模型
产品
解决方案
定价
更多

无需数据透视表,统计Excel表格列中频数最高的前5个文本的公式怎么写

Excel单列前5高频文本统计方案(无需数据透视表)

适用Microsoft 365/Excel 2021及以上版本(动态数组方案)

这是最简方案,无需辅助列、无需下拉,单个公式即可返回结果:

  1. 单独返回前5个高频文本(每个值占一个单元格)
    假设统计范围为A列A2:A100,任意空白单元格输入公式:
    =INDEX(SORTBY(UNIQUE(A2:A100),COUNTIF(A2:A100,UNIQUE(A2:A100)),-1),SEQUENCE(5))
  2. 直接拼接为完整字符串(符合示例中输出bcdef的需求)
    =TEXTJOIN("",TRUE,INDEX(SORTBY(UNIQUE(A2:A100),COUNTIF(A2:A100,UNIQUE(A2:A100)),-1),SEQUENCE(5)))

公式说明

  • UNIQUE(A2:A100):自动提取目标列所有不重复文本
  • COUNTIF(...):批量统计每个不重复文本的出现次数
  • SORTBY(..., -1):按出现次数从高到低排序文本
  • INDEX+SEQUENCE(5):提取排序后的前5项
  • TEXTJOIN:将前5项拼接为无分隔符的完整字符串
    和单独使用COUNTIF需要手动枚举所有不重复值的逻辑不同,该方案全程自动计算,不需要额外操作。

适用Excel 2019及更低版本(兼容方案)

不支持动态数组的旧版本需要用数组公式,操作步骤:

  1. 选中第一个要输出结果的单元格(如B2)
  2. 输入如下公式,输入完成后按Ctrl+Shift+Enter三键触发数组计算生效
  3. 选中B2下拉填充到B6,即可得到前5个高频文本
    =INDEX(A$2:A$100,MODE(MATCH(A$2:A$100,A$2:A$100,0)+IF(COUNTIF(B$1:B1,A$2:A$100)>0,10^9,0)))
    如果需要拼接为字符串,直接用&把B2到B6的内容拼接即可。

注意事项

  • 公式中的A2:A100可替换为你实际的统计范围
  • 若存在多个文本频次相同的情况,会按文本在原列中首次出现的顺序排序
  • 如需过滤空值,365版本可将公式中的A2:A100替换为FILTER(A2:A100,A2:A100<>"")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 13:54:01