Google Sheets:如何整理鞋码数据以生成双系列柱状图
解决Google Sheets双系列柱状图鞋码统计不匹配问题
方法一:UNIQUE+COUNTIF 分步构建规范表格
逻辑直观,适合快速上手:
提取所有唯一鞋码
在空白列(如D列)的D1单元格输入表头:鞋码(Shoe Size)
D2单元格输入公式:=FILTER(UNIQUE({A2:A7; B2:B7}), UNIQUE({A2:A7; B2:B7})<>"")该公式会合并A、B列鞋码,去重后过滤空白值,得到所有出现过的鞋码列表。
统计可用鞋码数量
在E1单元格输入表头:USABLE
E2单元格输入公式:=ARRAYFORMULA(COUNTIF(A2:A7, D2:D))用数组公式批量计算每个唯一鞋码在可用列(A列)的出现次数,无匹配时自动显示0。
统计损坏鞋码数量
在F1单元格输入表头:DAMAGED
F2单元格输入公式:=ARRAYFORMULA(COUNTIF(B2:B7, D2:D))同理批量计算每个鞋码在损坏列(B列)的出现次数。
生成的D:F列就是规范的统计表格,直接选中这三列即可创建正确的双系列柱状图。
方法二:QUERY+PIVOT 一键生成统计表格
想一步到位的话,用QUERY的PIVOT功能直接输出目标格式:
在空白单元格(如D1)输入公式:
=ARRAYFORMULA( QUERY( FILTER( {A2:A7, ARRAYFORMULA(IF(A2:A7<>"", "USABLE", "")); B2:B7, ARRAYFORMULA(IF(B2:B7<>"", "DAMAGED", ""))}, INDEX({A2:A7; B2:B7},,1)<>"" ), "SELECT Col1, COUNT(Col1) WHERE Col1 IS NOT NULL GROUP BY Col1 PIVOT Col2 LABEL Col1 '鞋码(Shoe Size)'", 0 ) )
公式说明:
- 先将A、B列数据转换为「鞋码+类型」的纵向结构,过滤掉空白鞋码行
- 通过
GROUP BY Col1按鞋码分组,PIVOT Col2把类型(USABLE/DAMAGED)转为横向列 - 自动添加表头,直接生成符合绘图要求的统计表格
若表格中存在空白值(对应某鞋码无该类型数据),可嵌套IFERROR替换为0:
=ARRAYFORMULA( IFERROR( QUERY( FILTER( {A2:A7, ARRAYFORMULA(IF(A2:A7<>"", "USABLE", "")); B2:B7, ARRAYFORMULA(IF(B2:B7<>"", "DAMAGED", ""))}, INDEX({A2:A7; B2:B7},,1)<>"" ), "SELECT Col1, COUNT(Col1) WHERE Col1 IS NOT NULL GROUP BY Col1 PIVOT Col2 LABEL Col1 '鞋码(Shoe Size)'", 0 ), 0 ) )
内容的提问来源于stack exchange,提问作者therockbobster
相关产品推荐
相关产品推荐

