如何用Google Sheets高效统计重复表头列的"Yes"响应数?
解决Google表格重复表头下的班次Yes统计问题
方法1:使用QUERY函数(推荐,自动生成统计表格)
假设你的表头在A1:F1(重复的red/blue/green),对应的数据行是A2:F9(共8行),可以用FLATTEN把横向的重复表头和数据转成纵向的规整结构,再用QUERY分组统计:
=QUERY( {FLATTEN(A1:F1), FLATTEN(A2:F9)}, "SELECT Col1, COUNT(Col2), COUNT(Col2)/COUNT(Col1)*100 WHERE Col2 = 'Yes' GROUP BY Col1 LABEL Col1 '班次', COUNT(Col2) 'Yes总数', COUNT(Col2)/COUNT(Col1)*100 '绩效百分比(%)'", 1 )
公式说明:
{FLATTEN(A1:F1), FLATTEN(A2:F9)}:把表头行和数据区域分别转成两列,生成一个包含「班次」和「响应」的临时数据表SELECT Col1, COUNT(Col2)...:按班次分组,统计每个班次的Yes数量,并计算占比(总记录数为该班次的所有响应数)LABEL:给统计结果列添加可读性标题,1表示临时表的第一行是表头
方法2:使用SUMPRODUCT函数(单单元格快速统计)
如果只需要单个班次的统计结果,SUMPRODUCT比叠加COUNTIF更简洁,不需要手动指定每一列:
统计各班次Yes数量:
- Red班次:
=SUMPRODUCT((A1:F1="red")*(A2:F9="Yes")) - Blue班次:
=SUMPRODUCT((A1:F1="blue")*(A2:F9="Yes")) - Green班次:
=SUMPRODUCT((A1:F1="green")*(A2:F9="Yes"))
计算绩效百分比:
以Red班次为例,用Yes数量除以该班次的总记录数:
=SUMPRODUCT((A1:F1="red")*(A2:F9="Yes"))/SUMPRODUCT((A1:F1="red")*(A2:F9<>""))*100
- 分母
SUMPRODUCT((A1:F1="red")*(A2:F9<>"")):统计该班次的所有有效记录数(排除空行),如果确定每个班次固定是16条记录(2列×8行),也可以直接写/16*100
内容的提问来源于stack exchange,提问作者SamHandwich
相关产品推荐
相关产品推荐

