Farby grafu kontingenčnej tabuľky - tipy pre program Excel

Obsah

Shari pošle tento týždeň otázku programu Excel.

Odpoveď na túto otázku sa mi nepodarilo nájsť v našom oddelení IT, v súboroch pomoci s programom Excel alebo v online pomoci s programom Microsoft Excel. Dúfam, že pomôžete.

Analyzujem údaje programu Excel v priebehu dvadsiatich rokov a pre každý rok musím vytvoriť koláčové grafy programu Excel. Grafy programu Excel sú založené na kontingenčnej tabuľke (alebo kontingenčnom grafe v programe Excel 2000) s rokom ako poľom stránky. Problém je v tom, že nie všetky roky obsahujú rovnaké položky, takže každý graf v programe Excel bude pre rovnakú farbu používať inú farbu. koláčový plátok.

Snažíme sa porovnávať údaje za posledných 20 rokov, takže je nevyhnutné mať rovnaké farby pre každý graf. Nakoniec musím zmeniť každý veľa rezov na mnohých grafoch, aby zodpovedali prvému, niekedy aj niekoľkokrát, pretože farby sa môžu meniť, ak sa údaje zmenia, a musím prepočítať kontingenčnú tabuľku, na ktorej je graf založený.

MrExcel prvýkrát vyskúšal kontingenčný graf. Kontingenčné tabuľky sú veľmi účinným spôsobom, ako vytvoriť graf pre niekoľko rôznych scenárov údajov, majú však túto nepríjemnú chybu. Nastavil som kontingenčnú tabuľku s rokom triedy ako riadkom, rokom ako stránky. Požiadal som, aby bol triedny ročník zoradený podľa zostupného skóre. Keď zmeníte kontingenčný graf z roka na rok, farby koláčových rezov spojených s prvákom sa zmenia. Niektoré roky sú členmi všetkých štyroch tried, iné roky členmi iba 3 triedy.

Ukážkový kontingenčný graf

Excel použije na každý rez predvolené poradie farieb, takže zodpovedajúce farby sa budú z roka na rok meniť. Vidím, ako môj manažér znechutene krúti hlavou, keď som mu podával tieto tabuľky.

Existuje spôsob, ako vyriešiť problém pomocou makra jazyka Visual Basic. Ak nastavíte dátové štítky tak, aby zobrazovali názov štítka, je možné v rámci jazyka Visual Basic nájsť názov každého rezu. Keď už máte meno, môžete jeho farbu prefarbiť na základe hodnoty mena.

Ukážkový kontingenčný graf

Program Excel použil vyššie uvedené farby pre rok 1990, ale v roku 1991 sa farby menia podľa počtu položiek a ich poradia:

Nasledujúce makro je pevne zakódované pre konkrétny príklad Shari, kde má možné hodnoty pre prvákov, druhákov, juniorov a seniorov. Pridaním ďalších príkazov Prípady s rôznymi farebnými indexmi to môžete prispôsobiť tak, aby zodpovedali vašej konkrétnej situácii.

Sub ColorPieSlices() ' Copyright 1999.com ' This macro will re-color the pie slices in a chart ' So that slices for a specific category are similarly colored ' Select the chart before calling the macro ' ' Find the number of pie slices in this chart NumPoints = ActiveChart.SeriesCollection(1).Points.Count ' Loop through each pie slice For x = 1 To NumPoints ' Save the label currently attached to this slice If ActiveChart.SeriesCollection(1). _ Points(x).HasDataLabel = True Then SavePtLabel = ActiveChart.SeriesCollection(1) _ .Points(x).DataLabel.Text Else SavePtLabel = "" End If ' Assign a new data label of just the point name ActiveChart.SeriesCollection(1).Points(x).ApplyDataLabels Type:= _ xlDataLabelsShowLabel, AutoText:=True ThisPt = ActiveChart.SeriesCollection(1).Points(x).DataLabel.Text ' Based on the label of this slice, set the color Select Case ThisPt Case "Freshman" ActiveChart.SeriesCollection(1). _ Points(x).Interior.ColorIndex = 3 Case "Sophomore" ActiveChart.SeriesCollection(1). _ Points(x).Interior.ColorIndex = 4 Case "Junior" ActiveChart.SeriesCollection(1). _ Points(x).Interior.ColorIndex = 5 Case "Senior" ActiveChart.SeriesCollection(1). _ Points(x).Interior.ColorIndex = 6 Case Else ' Add code here to handle an unexpected label End Select ' Return the label to it's original pre-macro state ActiveChart.SeriesCollection(1). _ Points(x).DataLabel.Text = SavePtLabel Next x End Sub

Spustite editor VB pomocou alt-F11. Do Vložiť - Modul. Postup vloženia. Ako názov zadajte ColorPieSlices a kliknite na OK. Zadajte vyššie uvedené makro.

Aby ste si uľahčili život, priraďte makro k skratke v programe Excel. V programe Excel urobte Nástroje - Makro. Zvýraznite ColorPieSlices a kliknite na tlačidlo možností. Do poľa klávesovej skratky zadajte písmeno „d“. Kliknite na OK a zatvorte dialógové okno Makro kliknutím na „x“ v pravom hornom rohu. Teraz, keď zmeníte svoj kontingenčný graf, môžete stlačiť kombináciu klávesov Ctrl + D a znova odfarbiť výseče na vami preferovanú sadu farieb.

Zaujímavé články...