如何在Google Sheets中动态统计列内唯一短语的出现次数
Google Sheets 动态统计唯一短语出现次数方案
方案1:针对固定列(无需提前知晓列内短语)
如果数据在某列(例:J列),但不确定列内会出现哪些短语,用以下公式自动统计,同时处理单元格内的数组格式(提取["internal"]这类数组中的纯文本):
=QUERY(ARRAYFORMULA(IF(J:J<>"", INDEX(J:J,,1), "")), "select Col1, count(Col1) where Col1 is not null group by Col1 label count(Col1) '出现次数'")
- 先通过
ARRAYFORMULA+INDEX把单元格内的数组内容转换为纯文本 - 再用
QUERY自动分组所有唯一短语,统计非空值的出现次数
方案2:自动识别数据列(无需指定列名)
如果不确定要统计的是哪一列,用以下公式自动定位A3:O16范围内第一个有数据的列并完成统计:
=LET( data_range, A3:O16, col_num, MATCH(TRUE, MMULT(--(data_range<>""), SEQUENCE(ROWS(data_range),1,1,0))>0, 0), target_col, INDEX(data_range,,col_num), clean_data, ARRAYFORMULA(IF(target_col<>"", INDEX(target_col,,1), "")), QUERY(clean_data, "select Col1, count(Col1) where Col1 is not null group by Col1 label count(Col1) '出现次数'") )
- 用
LET简化变量定义,先锁定数据范围 - 通过
MATCH+MMULT动态找到第一个非空数据列 - 自动处理数组格式后,完成统计
方案3:数据透视表(无公式更直观)
不想用公式的话,直接用数据透视表:
- 选中数据范围
A3:O16 - 点击「数据」→「数据透视表」,选择透视表放置位置
- 右侧面板操作:把目标列拖到「行」区域,再将同一列拖到「值」区域,值字段设置为「计数」
- 透视表会自动识别所有唯一短语并统计次数,数据更新后刷新即可
内容的提问来源于stack exchange,提问作者addzo
相关产品推荐
相关产品推荐

