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

如何在Google Sheets中统计多选值的出现次数

Google Sheets多选值统计方案:函数/数据透视表/AppScript

一、用内置函数快速统计

如果你的多选值是固定分隔符(比如逗号、分号)分隔的,直接用组合公式搞定:

  • 拆分所有值到单列:假设数据在A列(A2:A),在空白列(比如B2)输入:
    =FLATTEN(SPLIT(A2:A, ", "))
    注意把", "换成你实际的分隔符(比如分号就用"; ",要包含空格的话别漏)。
  • 一键统计次数:用QUERY公式直接输出结果,不用分步操作:
    =QUERY(FLATTEN(SPLIT(A2:A, ", ")), "SELECT Col1, COUNT(Col1) WHERE Col1 IS NOT NULL GROUP BY Col1 LABEL Col1 '选项', COUNT(Col1) '出现次数'")

二、数据透视表统计步骤

数据透视表不能直接识别单元格内的多选值,得先拆分数据:

  1. 用上面的FLATTEN(SPLIT(...))公式把所有多选值拆成单独行,复制拆分后的列,右键「粘贴为值」固定数据。
  2. 选中拆分后的单列,点菜单栏「数据」→「数据透视表」,选好放置位置。
  3. 在透视表编辑器里:
    • 把拆分后的字段拖到「行」区域
    • 再把同一个字段拖到「值」区域,汇总方式选「计数」

三、AppScript自动化统计

如果需要数据更新后自动统计,或者处理大量数据,用脚本更高效:

  1. 打开表格,点「扩展程序」→「Apps 脚本」
  2. 替换默认代码为以下内容(记得修改数据范围和分隔符):
function countMultiSelectValues() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const dataRange = sheet.getRange("A2:A"); // 替换成你的数据列范围
  const values = dataRange.getValues().flat().filter(val => val !== "");
  const countMap = new Map();

  values.forEach(cell => {
    const options = cell.split(", ").filter(opt => opt !== ""); // 替换成你的实际分隔符
    options.forEach(opt => {
      countMap.set(opt, (countMap.get(opt) || 0) + 1);
    });
  });

  const output = [["选项", "出现次数"], ...Array.from(countMap.entries())];
  sheet.getRange(1, 4, output.length, 2).setValues(output); // 输出到D1开始的区域,可自行调整
}
  1. 保存项目后点击运行,授权权限即可完成统计。

内容的提问来源于stack exchange,提问作者Luan Nguyen Thanh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 14:33:17