如何在Google Sheets中基于现有公式生成带唯一值计数的指定格式数组
Google Sheets 分组统计公式优化方案
问题分析
现有公式仅针对第一个A列单元格(A2)做统计,无法自动遍历所有唯一大类(A列)并生成对应小类(C列)的计数列表,需要调整为按每个唯一大类批量处理。
优化后的公式
=ARRAYFORMULA(FLATTEN(SPLIT(TEXTJOIN("|", TRUE, BYROW(UNIQUE(A2:A), LAMBDA(x, x&"|"&TEXTJOIN("|", TRUE, UNIQUE(FILTER(C2:C, A2:A=x))&": "&COUNTIF(FILTER(C2:C, A2:A=x), UNIQUE(FILTER(C2:C, A2:A=x))))))), "|")))
公式说明
UNIQUE(A2:A):提取A列所有唯一的大类名称BYROW(..., LAMBDA(x, ...)):逐个遍历每个唯一大类x,对每个大类执行统计逻辑FILTER(C2:C, A2:A=x):筛选出当前大类x对应的所有小类数据UNIQUE(...)&": "&COUNTIF(...):生成「小类名称: 计数」的格式文本TEXTJOIN("|", TRUE, ...):先把每个大类的名称和对应小类统计文本用|拼接,再将所有大类的结果合并成一个字符串SPLIT(..., "|"):把拼接后的字符串按|拆分,最后用FLATTEN展开成单列结果
用法说明
将上述公式直接粘贴到目标单元格(比如E2),即可自动生成期望输出:每个大类名称单独占一行,下方依次列出该大类下所有小类的计数结果。
内容的提问来源于stack exchange,提问作者benhowdle89
相关产品推荐
相关产品推荐

