一张图中的三个Google表格的数据图(饼图)

时间:2019-02-25 10:44:18

标签: google-sheets google-sheets-formula google-sheets-query

我在一个电子表格中有三个Google数据表。这些表格包含ABC镇学生的数据。 ABC镇有3条街道,分别称为1号街道,2号街道和3号街道。

  • 第1街 10 个不同年级的学生。
  • 街道2 6 个不同年级的学生。
  • 第3街 2 个不同年级的学生。

每张纸上都有学生成绩摘要饼图。现在我需要的是 我必须将这三个饼图合并为一个图,以获得三张纸的最终摘要。我怎样才能做到这一点?拜托。

这是我的电子表格:https://docs.google.com/spreadsheets/d/1NmCSRPaoGCpuyfxv24z2-M8TNktBjHNt7BoaMF6LCJY/edit?usp=sharing

图片中的解释:

image

2 个答案:

答案 0 :(得分:1)

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

0

demo spreadsheet

答案 1 :(得分:0)

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


  • 您的 A1:C 数据集在创建图表时不处于“良好”状态,因此,首先,您需要在辅助数据中添加一些公式来重新调整其形状完成后可以隐藏的列

  • 单元格 E1 中粘贴此公式并创建基本饼图。这样会在 Libaries 之间创建均匀的比率。为每种库选择原色并最大化图表样式

    ={"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$2:$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$2:$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$2:$C); 
     "select Col3, count(Col3) 
      where Col1 is not null and Col2='"&G1&"'
      group by Col3 
      label count(Col3)''"; 0)))*2; 6)
  • 完成后,将第一张图表与第二张图表重叠
  • 然后将此公式粘贴到 i4 单元格中(这将是第三张图表的数据集)
    =ARRAYFORMULA(QUERY(TO_TEXT($A$2:$C); 
     "select count(Col3), Col3 
      where Col1 is not null and Col2='"&I1&"'
      group by Col3 
      label count(Col3)''"; 0))
  • 接下来,您需要再次更正。这次两次。将此公式粘贴到 i2 i7
    =SUM(ARRAYFORMULA(QUERY(TO_TEXT($A$2:$C), 
     "select Col3, count(Col3) 
      where Col1 is not null and Col2='"&I1&"'
      group by Col3 
      label count(Col3)''", 0)))
  • 现在您可以在 i2:J 范围内构造第三个饼图。再次播放颜色并隐藏校正片。完成后将其叠加在第一张和第二张图表上
  • 完成此公式后,将其粘贴到 K4 单元格中(这将是第4个饼图的数据集)
    =ARRAYFORMULA(QUERY(TO_TEXT($A$2:$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$2:$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$2:$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