如何用Google Sheets数据透视表准确统计每人各颜色选择次数?
解决Google Sheets数据透视表统计人员颜色选择次数的问题
错误原因
你之前的操作逻辑有误:将颜色设为行、人员列设为值并使用COUNTA,只会统计该人员列的非空单元格总数,无法匹配行对应的颜色进行计数,所以结果偏差极大。
两种可行解决方案
方案1:直接调整数据透视表字段(无需修改数据源)
假设你的表格结构如下(A列为可选颜色,B-D列为三位人员的颜色选择):
| 可选颜色 | 人员A | 人员B | 人员C |
|---|---|---|---|
| 红色 | 蓝色 | 红色 | 红色 |
| 蓝色 | 红色 | 蓝色 | 蓝色 |
| 绿色 | 绿色 | 绿色 | 红色 |
- 选中包含表头的全部数据区域,点击「数据」→「数据透视表」,选择放置位置后确认
- 在右侧数据透视表编辑器中:
- 将可选颜色拖入「行」区域
- 将人员A、人员B、人员C分别拖入「值」区域
- 对每个值字段(如「求和项:人员A」),点击右侧下拉箭头→「值字段设置」:
- 切换到「自定义公式」,输入
=COUNTIF(INDIRECT("B:B"), A2)(B:B对应人员A的列,A2为当前行的颜色值) - 点击「确定」,重复此操作修改另外两个人员字段的公式(对应修改列号,如人员B用C:C)
- 切换到「自定义公式」,输入
方案2:先逆透视数据源(更直观易维护)
横向的人员列结构不适合直接统计匹配项,先转成纵向结构再做数据透视:
- 在空白单元格(如F1)输入以下公式,生成「人员-颜色-次数」的统计结果:
(注:公式中B2:D是人员选择的数据区域,B1:D1是人员表头,A2:A是可选颜色的数据行范围,可根据实际表格调整)=QUERY({FLATTEN(B2:D), FLATTEN(ARRAYFORMULA(REPT(B1:D1, ROWS(A2:A))))}, "select Col2, Col1, count(Col1) group by Col2, Col1 label count(Col1)'次数'") - 选中生成的结果区域,插入数据透视表:
- 将**Col1(颜色)**拖入「行」区域
- 将**Col2(人员)**拖入「列」区域
- 将次数拖入「值」区域,即可得到每人每种颜色的选择次数
内容的提问来源于stack exchange,提问作者user87171
相关产品推荐
相关产品推荐

