Chcę utworzyć wykres kołowy w programie Excel z 8 sektorami, jak w tym przykładzie:
Zamiast przedstawiać procent jak na wykresie kołowym, chcę rzeczywistą wartość jak na wykresie radarowym.
Czy to możliwe bez użycia makr?
źródło
Chcę utworzyć wykres kołowy w programie Excel z 8 sektorami, jak w tym przykładzie:
Zamiast przedstawiać procent jak na wykresie kołowym, chcę rzeczywistą wartość jak na wykresie radarowym.
Czy to możliwe bez użycia makr?
Ta instrukcja oparta jest na oryginalnym tutorialu Andy'ego Pope'a tutaj. Powiedzmy, że to dane, od których zaczynasz. Przed utworzeniem wykresu należy wykonać trochę manipulacji danymi.
W twoim przykładzie chcemy, aby wszystkie sektory miały ten sam rozmiar, ale uelastycznijmy i dodajmy kolumnę wagi sektora. np. jeśli chcesz, aby „PRACA” pojawiała się jako plaster podwójny / potrójny / poczwórny, po prostu zmień wagę sektora na 2/3/4 itp.
Teraz musimy obliczyć proporcje przekroju, które musi pokryć każdy sektor. Dodaj kolumnę o nazwie „% z 360”, dzieląc wagę sektora przez sumę wszystkich wag sektora.
=C2/SUM($C$2:$C$9)
Następnie musimy obliczyć kąty początkowy i końcowy, które obejmuje każdy sektor. Dodaj kolumnę „Kąt początkowy”. W górnym wierszu wpisz 0, a następnie dla każdego wiersza poniżej odwołaj się do komórki powyżej.
W kolumnie „Kąt końcowy” pomnóż skumulowaną liczbę „% 360” przez 360.
Teraz sztuczką, aby wykres radarowy uznał, że jest to wykres kołowy, jest utworzenie punktów danych dla każdego z 360 stopni w okręgu.
Rozszerzmy naszą tabelę o kolumnę dla każdego kąta (w moim przykładzie w kolorze szarym). Dla każdej komórki dodaj logikę, która sprawdza, czy kąt dla tej kolumny jest objęty kątami początkowymi / końcowymi - a jeśli tak, to zwróć wartość dla tego wiersza. Pamiętaj, aby skopiować to dla wszystkich wierszy i kolumn dla 0-360 stopni.
=IF(AND(G$1>=$E2,G$1<=$F2),$B2,0)
(Uwaga - jeśli używasz programu Excel 2003 lub wcześniejszego, musisz odwrócić tę tabelę, aby tabela była pionowa (transponować), ponieważ liczba kolumn używanych przez tę metodę jest większa niż liczba dozwolona w starych wersjach programu Excel.)
Możemy teraz pomyśleć o wykresie. Ze względu na elastyczność dodajmy kolumnę „Etykiety wykresów” między końcowym kątem a 0-360 stopni. Odniosę się tylko do tytułów w kolumnie A, ale możesz je tutaj dostosować.
Wybierz wszystkie komórki w „Etykietach wykresów” i kolumnach 0–360 (G2: ND9 w tym przykładzie). Wstaw mapę - w opcjach mapy radarowej wybierz końcową - „Filled Radar”. Dostaniesz to.
Usuń legendę i okrągłe etykiety danych (podświetlone na żółto). Kliknij pozostałą oś prawym przyciskiem myszy i wybierz polecenie Formatuj oś. Ustaw główną jednostkę na 10 (wartość maksymalna), a drugorzędną na 1. Zamknij okno dialogowe, a następnie usuń numery osi na wykresie.
Włącz główne i drobne poziome linie siatki:
Teraz nasz wykres wygląda tak.
Ustaw grubość linii głównej linii na 2pt i czarną dla zewnętrznej granicy okręgu. Jeśli chcesz, aby segmenty wyświetlały drobne linie siatki, musisz zmienić kolor wypełnienia każdego segmentu i ustawić przezroczystość (powinno to zrobić około 20-40% przezroczystości).
Aby uzyskać granice segmentów promieniowych, musimy dodać nową serię. Ustaw tytuł na komórkę C1 („Waga sektora”), a wartości na wiersze w kolumnie C (C2: C9). Ustaw etykiety osi poziomej jako etykiety wykresu (G2: G9).
Zmień typ wykresu dla tej nowej serii na wykres kołowy. Usuń wypełnienie segmentów kołowych i dodaj czarne ramki. Dodaj etykiety danych dla serii kołowej, wybierając Nazwę kategorii zamiast Wartości i ustawiając pozycję Zewnętrzny koniec.
EDYCJA (30 września 2014 r.): Skoroszyt jest dostępny do pobrania tutaj, zgodnie z prośbą Firee.
EDYCJA 2 (25 marca 2015 r.): Mihajlo wskazał, że tę technikę można nieco ulepszyć:
Wykres kończy się nieznacznym przesunięciem w kierunku przeciwnym do ruchu wskazówek zegara (jak widać na ostatnim wykresie powyżej z czerwonym z przerwą w pionie, ale pokrywającą granicę pod kątem 300 stopni). Wynika to z tego, że wykres pająka zawsze jest jeden za (tj. 1 stopień jest wykreślany przy 2, 2 przy 3 itd.)
Szybkim rozwiązaniem tego jest zmiana formuły kąta wykończenia (F2) z
=360*SUM($D$2:D2)
na=360*SUM($D$2:D2)+1
i zmiana formuły dla pierwszego punktu ostatniej serii, aby była taka sama jak ostatni punkt ostatniej serii (w powyższym przykładzie utwórz komórkę H9 wzór na = ND9.