三个 Google 工作表的数据图(饼图)在一张图中

Three Google Sheets' data graphs (pie charts) in one graph

我在一张纸上有三个 google sheet 的数据sheet。这些 sheets 包含 ABC 镇学生的数据。 ABC 镇有 3 条街道,分别称为街道 1、街道 2 和街道 3。

每个 sheet 都有学生成绩汇总饼图。现在我需要的是, 我必须将这三个饼图组合成一个图表才能得到三个 sheet 的最终摘要。我怎样才能做到这一点?请。

这是我的点差[​​=44=]:https://docs.google.com/spreadsheets/d/1NmCSRPaoGCpuyfxv24z2-M8TNktBjHNt7BoaMF6LCJY/edit?usp=sharing

如图所示:

如果你以正确的方式绘制你的数据,你可以为你的三个饼图创建带有子切片的饼图,然后你将它们分层。这是一个例子:


  • 您的 A1:C 的数据集不适合创建图表的 "good" 形状,因此首先,您需要重新-通过在辅助列中添加一些公式来调整它,完成后可以隐藏这些公式

  • 在单元格 E1 中粘贴此公式并创建一个基础饼图。这将在 Libaries 之间创建均匀的比率。 select 每个库和最大化图表样式的原色

    ={"Libaries"\""; {TRANSPOSE(SPLIT(REPT(1&" "; 
      COUNTA(UNIQUE(FILTER(B2:B; B2:B<>""))));" "))\ 
      UNIQUE(FILTER(B2:B; B2:B<>""))}}
    

  • 如果你有 #ERROR! 将其粘贴到 E1 单元格中:
    ={"Libaries",""; {TRANSPOSE(SPLIT(REPT(1&" ", 
      COUNTA(UNIQUE(FILTER(B2:B, B2:B<>""))))," ")), 
      UNIQUE(FILTER(B2:B, B2:B<>""))}}
    
  • 将此公式粘贴到 G1 单元格中以创建标签:
    =ARRAYFORMULA(SPLIT(JOIN("×"; 
     TRANSPOSE(REPT(UNIQUE(FILTER(B2:B&"×"; B2:B<>"")); 2))); "×"))
    
  • 然后将此公式粘贴到 G2 中,为第二个图表创建数据集:
    =ARRAYFORMULA(QUERY(TO_TEXT($A:$C); 
     "select count(Col3), Col3 
      where Col1 is not null and Col2='"&G1&"'
      group by Col3 
      label count(Col3)''"; 0))
    
  • 在此之后,您将需要校正公式,它可以校正第一组饼图的位置。将其粘贴到 G6 单元格中,并从范围 G2:H 创建第二个饼图。然后玩颜色并在 None 上设置校正饼图的颜色
    =IF(SUM(ARRAYFORMULA(QUERY(TO_TEXT($A:$C); 
     "select count(Col3) 
      where Col1 is not null and Col2='"&G1&"'
      group by Col3 
      label count(Col3)''"; 0)))>3;
     SUM(ARRAYFORMULA(QUERY(TO_TEXT($A:$C); 
     "select Col3, count(Col3) 
      where Col1 is not null and Col2='"&G1&"'
      group by Col3 
      label count(Col3)''"; 0)))*2; 6)
    
  • 完成后,将第一个图表与第二个图表叠加
  • 然后将此公式粘贴到 i4 单元格中(这将是第 3 个图表的数据集)
    =ARRAYFORMULA(QUERY(TO_TEXT($A:$C); 
     "select count(Col3), Col3 
      where Col1 is not null and Col2='"&I1&"'
      group by Col3 
      label count(Col3)''"; 0))
    
  • 接下来您需要再次更正。这次是两次。将此公式粘贴到 i2i7
    =SUM(ARRAYFORMULA(QUERY(TO_TEXT($A:$C), 
     "select Col3, count(Col3) 
      where Col1 is not null and Col2='"&I1&"'
      group by Col3 
      label count(Col3)''", 0)))
    
  • 现在您可以从范围 i2:J 构建第 3 个饼图。再次玩转颜色并隐藏校正切片。完成后将其覆盖在第一个和第二个图表之上
  • 完成后将此公式粘贴到 K4 单元格中(这将是第 4 个饼图的数据集)
    =ARRAYFORMULA(QUERY(TO_TEXT($A:$C); 
     "select count(Col3), Col3 
      where Col1 is not null and Col2='"&K1&"'
      group by Col3 
      label count(Col3)''"; 0))
    
  • 您需要再次使用粘贴在 K2 单元格中的公式更正位置
    =IF(SUM(ARRAYFORMULA(QUERY(TO_TEXT($A:$C); 
     "select count(Col3) 
      where Col1 is not null and Col2='"&K1&"'
      group by Col3 
      label count(Col3)''"; 0)))>3;
     SUM(ARRAYFORMULA(QUERY(TO_TEXT($A:$C); 
     "select Col3, count(Col3) 
      where Col1 is not null and Col2='"&K1&"'
      group by Col3 
      label count(Col3)''"; 0)))*2; 6)
    
  • 从范围 K2:L 创建第 4 个饼图,玩转颜色,隐藏校正切片,将其放置在所有之前的图表上
  • 如果你想贴一些标签,那么你可以插入图纸并再次覆盖它


demo spreadsheet

或者您可能只想合并所有 3 个图表 (?),例如:

demo spreadsheet