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

Google Sheets如何统计含逗号分隔多值列的唯一值出现次数

Google Sheets 单元格内逗号分隔多值拆分计数方案

你之前直接使用=UNIQUE(A2:A)无法得到正确结果,核心原因是该公式会将每个单元格的完整内容作为单个统计单元,没有先对单元格内按逗号分隔的多值做拆分处理,以下两种方案均可以在Google Sheets原生环境下实现需求,不需要依赖外部Python环境。

方案1:零代码原生公式(推荐,适配绝大多数场景)

直接在空白列的起始单元格输入以下公式,回车后会自动输出所有唯一值及对应出现次数:

=QUERY(
  FLATTEN(SPLIT(A2:A, ", ")),
  "SELECT Col1, COUNT(Col1) 
   WHERE Col1 IS NOT NULL 
   GROUP BY Col1 
   LABEL Col1 '统计值', COUNT(Col1) '出现次数'"
)

公式逻辑说明:

  • SPLIT(A2:A, ", "):按照「英文逗号+空格」的规则,把每个单元格内的多值拆分为独立列
  • FLATTEN():将拆分后分散在多列的所有值合并为单列,完成所有拆分值的归集
  • QUERY():对归集后的单列值做分组统计,自动过滤空值、去重后计算每个值的出现次数

用你提供的示例数据运行该公式,输出结果完全匹配预期:

  • A example:3次
  • B example:1次
  • C example:2次
  • D example:2次
  • E example:1次
  • F example:1次
  • G example:1次

提示:如果你的数据里逗号后面没有空格,把SPLIT里的分隔符从", "改成","即可正常识别。

方案2:自定义函数(适合万行以上大数据量场景)

如果数据量较大导致原生公式计算卡顿,可以用Google Sheets内置的Apps Script写自定义统计函数,步骤如下:

  1. 点击表格顶部菜单栏「扩展程序」→「Apps Script」,打开脚本编辑器
  2. 清空编辑器内默认的占位代码,粘贴以下代码:
function COUNT_SPLIT_VALUES(range, delimiter = ", ") {
  const countRes = {};
  range.flat().forEach(cellContent => {
    if (!cellContent) return;
    cellContent.toString()
      .split(delimiter)
      .map(item => item.trim())
      .forEach(validItem => {
        if (!validItem) return;
        countRes[validItem] = (countRes[validItem] || 0) + 1;
      })
  })
  return [["统计值", "出现次数"], ...Object.entries(countRes)];
}
  1. 点击编辑器顶部的保存按钮,按提示给脚本授权后回到表格界面
  2. 在空白单元格输入公式=COUNT_SPLIT_VALUES(A2:A),回车即可直接输出统计结果;如果是无空格的逗号分隔,用=COUNT_SPLIT_VALUES(A2:A, ",")即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 00:06:35