Google Sheets中分号分隔值分组统计并按market汇总实现问题
Google Sheets 分号分隔元素按markets分组统计解决方案
核心实现公式
直接在空白单元格输入以下公式,替换对应数据源范围即可:
=ArrayFormula(QUERY(SPLIT(FLATTEN(IF(你的数据源区域!A:A<>"",你的数据源区域!A:A&"|"&TRIM(SPLIT(你的数据源区域!B:B,";",1,1)),)),"|",1,0),"select Col1,count(Col2) where Col1 is not null group by Col1 pivot Col2 label Col1 'markets'",1))
参数替换说明
- 把公式中的
你的数据源区域!A:A替换为你实际存储markets字段的列范围 - 把公式中的
你的数据源区域!B:B替换为你实际存储分号分隔元素的列范围
实现逻辑说明
- 先用
SPLIT函数拆分每行的分号分隔字符串,得到单行多列的独立元素 - 用
FLATTEN函数把拆分后的多列元素展开为单列,同时通过IF逻辑给每个元素绑定对应行的markets值,用|作为分隔符拼接 - 二次拆分拼接后的字符串,得到markets和对应独立元素的二维明细表
- 用
QUERY的GROUP BY+PIVOT语法,按markets分组、按拆分后的元素做列维度转置,自动计数每个分组下各元素的出现次数
优化说明
- 公式内置
TRIM函数自动清理元素前后的多余空格,避免同一元素因空格差异被统计为不同项 SPLIT参数已配置自动跳过空白拆分结果,避免空值干扰统计- 无需手动预定义列维度的元素清单,
PIVOT会自动提取所有出现过的元素作为列标题,空值统计结果自动补0
内容的提问来源于stack exchange,提问作者cybergerac
相关产品推荐
相关产品推荐

