Если вы правильно отобразите свои данные, вы можете создать круговую диаграмму с подрезами для каждой из трех ваших круговых диаграмм, а затем просто наложите их на слои.Вот пример:
![](https://i.stack.imgur.com/A6EIO.png)
Ваш набор данных 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 для создания набора данных для 2-го графика:
=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 и создайте 2-ю круговую диаграмму из диапазона 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)
- когда закончите, наложите 1-й график на 2-й график
- затем вставьте эту формулу в ячейку i4 (это будет набор данных для 3-го графика)
=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 .Снова поиграйте с цветами и скройте корректирующие кусочки.когда закончите, наложите его поверх 1-го и 2-го графика
- когда закончите, вставьте эту формулу в ячейку 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)
- создать 4-ую круговую диаграмму из диапазона K2: L , играть с цветами, скрывать корректирующий фрагмент, размещать его на всех предыдущих графиках
- , если вы хотите разместить несколько меток, тогда вы можете вставить рисунки и наложитьэто еще раз
![](https://i.stack.imgur.com/aDHzI.png)