Come creare un grafico a colonne/barre raggruppate e impilate in Excel?
Nell'analisi dei dati professionale, visualizzare più categorie e gruppi di dati all'interno di un unico grafico può fornire un confronto più chiaro e un'interpretazione dei dati più efficiente. Una richiesta comune è quella di mostrare una combinazione di dati impilati e raggruppati, come ad esempio mostrare i valori delle vendite per regione e per trimestre, raggruppati uno accanto all'altro. Questo articolo ti guiderà attraverso i passaggi per creare un grafico a colonne raggruppate e impilate in Excel, che ti consente di confrontare i valori delle singole categorie come barre raggruppate, mentre ogni gruppo è composto da segmenti impilati. Questo approccio consente un potente analisi comparativa tra gruppi e su più variabili, come mostrato nello screenshot sottostante.
➤ Crea un grafico a colonne raggruppate e impilate in Excel
➤ Codice VBA – Automatizza la ristrutturazione dei dati e la generazione del grafico
➤ Formula Excel – Ristruttura dinamicamente i dati per grafici raggruppati e impilati
Crea un grafico a colonne raggruppate e impilate in Excel
Per creare un grafico a colonne raggruppate e impilate in Excel, è importante prima capire che Excel non supporta nativamente questo tipo di grafico. Tuttavia, puoi simulare l'effetto preparando attentamente i tuoi dati e personalizzando il layout del grafico.
✅ Cosa devi sapere prima:
- Excel non offre un tipo di "grafico a colonne raggruppate e impilate" integrato. Il risultato viene creato attraverso trucchi di layout dei dati.
- È necessario ristrutturare i dati di origine per simulare i raggruppamenti a cluster.
- Vengono aggiunte righe vuote tra i gruppi di categorie per separare visivamente ogni cluster.
Esaminiamo il processo passo dopo passo utilizzando dati di vendita campione per prodotti su più trimestri.
1. Organizza i tuoi dati grezzi: In questo esempio, abbiamo i nomi dei prodotti nella colonna A e i dati di vendita (ad esempio, Valore effettivo vs Obiettivo per Q1 e Q2) nelle colonne adiacenti. L'obiettivo è raggruppare i dati di ciascun prodotto uno accanto all'altro e mostrare i valori effettivi/obiettivo impilati all'interno di ogni cluster.
2. Ristruttura i dati: È necessario copiare ogni gruppo di dati (ad esempio, ogni riga di prodotto) in un nuovo layout e inserire una riga vuota tra ogni gruppo. Questo aiuta Excel a interpretare ogni gruppo come un cluster separato nel grafico a colonne impilate.
3. Crea il grafico: Seleziona i tuoi dati appena strutturati. Poi vai su Inserisci > Grafico a colonne o barre > Colonne impilate.
4. Formatta le serie: Fai clic con il tasto destro su qualsiasi colonna nel grafico, seleziona Formatta serie dati.
5. Riduci la larghezza dell'intervallo: Nel riquadro Formatta serie dati, vai su Opzioni della serie e imposta Larghezza intervallo = 0% per comprimere visivamente ogni gruppo in un unico cluster impilato.
6. Regola legenda e layout: Fai clic con il tasto destro sulla legenda > Formatta legenda.
7. Seleziona posizione legenda: All'interno del riquadro Formatta legenda, sotto le Opzioni della legenda, seleziona la posizione della legenda preferita (Destra, In alto, Sinistra o In basso) per adattarsi meglio al layout del grafico ed evitare sovrapposizioni con i dati.
✅ Risultato: Ora hai un grafico a colonne raggruppate e impilate dove i dati effettivi/obiettivo di ciascun prodotto sono raggruppati e impilati fianco a fianco per un confronto rapido.
⚠️ Limitazione: Questa tecnica funziona bene per set di dati più piccoli. Ma per set di dati grandi o dati che cambiano frequentemente, la ristrutturazione manuale può essere soggetta a errori. Vedi le sezioni seguenti per soluzioni VBA e formule per automatizzare questo processo.
Codice VBA – Automatizza la ristrutturazione dei dati e la generazione del grafico
Quando si gestiscono grandi set di dati o report che cambiano frequentemente, riorganizzare manualmente i dati per creare grafici raggruppati e impilati può essere noioso e soggetto a errori. Utilizzando VBA (Visual Basic for Applications), è possibile automatizzare l'intero processo - dalla ristrutturazione della tabella di origine all'inserimento del grafico - risparmiando tempo e fatica.
Questo metodo è particolarmente adatto agli utenti familiari con le macro di Excel o negli ambienti in cui è consentito VBA. È particolarmente efficace se la struttura del tuo grafico rimane la stessa ma i dati si aggiornano regolarmente. Ecco come implementarlo:
Passaggio 1: Premi Alt + F11 per aprire l'editor VBA. Nell'editor, clicca su Inserisci > Modulo.
Passaggio 2: Incolla il seguente codice VBA nella finestra del modulo:
Sub CreateStackedClusteredChart()
Dim ws As Worksheet
Dim rngData As Range
Dim chartObj As ChartObject
Dim chartRange As Range
Dim xTitleId As String
On Error Resume Next
Set ws = ActiveSheet
xTitleId = "KutoolsforExcel"
' Prompt user to select original data
Set rngData = Application.InputBox("Select the original grouped data (including all headers):", xTitleId, Selection.Address, Type:=8)
If rngData Is Nothing Then Exit Sub
' Create new worksheet for reshaped data
Dim wsChartData As Worksheet
Set wsChartData = Worksheets.Add
wsChartData.Name = "ChartData_" & Format(Now(), "hhmmss")
Dim numRows As Long, numCols As Long, i As Long, j As Long, outRow As Long
numRows = rngData.Rows.Count
numCols = rngData.Columns.Count
outRow = 1
' Add headers
wsChartData.Cells(outRow, 1).Value = "Category"
For j = 2 To numCols
wsChartData.Cells(outRow, j).Value = rngData.Cells(1, j).Value
Next j
outRow = outRow + 1
' Copy data and insert blank rows
For i = 2 To numRows
For j = 1 To numCols
wsChartData.Cells(outRow, j).Value = rngData.Cells(i, j).Value
Next j
outRow = outRow + 1
If i < numRows Then
wsChartData.Cells(outRow, 1).Value = ""
outRow = outRow + 1
End If
Next i
' Define chart data range
Set chartRange = wsChartData.Range(wsChartData.Cells(1, 1), wsChartData.Cells(outRow - 1, numCols))
' Insert chart
Set chartObj = wsChartData.ChartObjects.Add(Left:=100, Top:=30, Width:=500, Height:=350)
With chartObj.Chart
.SetSourceData Source:=chartRange
.ChartType = xlColumnStacked
.HasTitle = True
.ChartTitle.Text = "Stacked Clustered Column Chart"
.Legend.Position = xlLegendPositionRight
.ChartGroups(1).GapWidth = 0
End With
MsgBox "Chart generated successfully.", vbInformation, "KutoolsforExcel"
End Sub
Passaggio 3: Premi Alt + F8 per aprire la finestra di dialogo Macro. Seleziona CreateStackedClusteredChart e clicca su Esegui.
Passaggio 4: Quando richiesto, seleziona il tuo dataset originale (con intestazioni). La macro genererà un nuovo foglio di lavoro con righe vuote inserite e creerà automaticamente il grafico a colonne raggruppate e impilate.
📝 Suggerimenti:
- Assicurati che la tua tabella originale abbia intestazioni di colonna coerenti e formattazione.
- Puoi rieseguire la macro ogni volta che il tuo dataset si aggiorna - non c'è bisogno di ripetere i passaggi manuali.
✅ Vantaggi: Risparmia tempo, layout accurato, perfetto per report ricorrenti.
⚠️ Svantaggi: Richiede Excel abilitato per macro e una conoscenza base di VBA.
Formula Excel – Ristruttura dinamicamente i dati per grafici raggruppati e impilati
Se preferisci non usare VBA o hai bisogno di una soluzione che permetta aggiornamenti dinamici del grafico quando cambiano i dati grezzi, le formule possono essere utilizzate per ristrutturare i tuoi dati di origine nel layout corretto per grafici raggruppati e impilati. Sfruttando funzioni incorporate come INDICE, TRASPOSTA e colonne di supporto, puoi impostare un'area di trasformazione dei dati che fornisce sempre la struttura corretta per il tuo grafico con il minimo sforzo.
Questo approccio è particolarmente pratico quando i tuoi dati grezzi vengono aggiornati regolarmente (nuovi periodi, categorie, ecc.) e desideri che il tuo grafico si aggiusti automaticamente senza ristrutturazione manuale. Il requisito principale è costruire una sezione di “supporto” che estrae e organizza blocchi di dati e righe vuote utilizzando formule, in modo che la fonte del grafico rimanga sempre aggiornata.
Ecco un esempio di come potresti impostarlo:
- Supponiamo che i tuoi dati originali siano in A1:D7 (con A1 come intestazione in alto a sinistra), strutturati come regione/categoria nella colonna A e valori delle sottocategorie (ad esempio, Q1, Q2, Q3) nelle colonne B, C, D.
- Vuoi mostrare ogni categoria come un cluster con i valori Q impilati, usando righe vuote per separare i cluster.
1. Nel tuo nuovo foglio o area adiacente, crea una struttura di supporto per estrarre ogni gruppo e inserire righe vuote. Ad esempio, per copiare la prima riga di dati in E2:G2:
=INDEX($A$2:$D$7,INT((ROW()-2)/2)+1,COLUMN()-4+1)
Trascina questa formula verso il basso secondo necessità. Per inserire righe vuote tra i gruppi, imposta una formula SE per restituire vuoto ("") sulle righe alternate:
=IF(ISODD(ROW()), "", INDEX($A$2:$D$7,ROW()/2,COLUMN()-4+1))
Usa una combinazione di queste formule con riferimenti attentamente strutturati per generare i tuoi dati ristrutturati, inclusi gli intervalli vuoti a intervalli regolari.
2. Una volta completato l'intervallo di trasformazione (con pile e cluster), seleziona questo nuovo intervallo e crea il tuo grafico a colonne impilate seguendo il metodo originale dato in precedenza (Inserisci > Colonne impilate). Il grafico ora rifletterà automaticamente qualsiasi modifica apportata alla tabella dati originale.
Per set di dati di grandi dimensioni, spesso è utile usare la funzione OFFSET per rendere il processo di estrazione più flessibile o applicare intervalli denominati dinamici per definire la fonte del grafico.
Vantaggi: Non è richiesto VBA o macro, ideale per ambienti con scripting limitato.
Svantaggi: Impostazione di formule complesse per grandi quantità di dati, possibile rallentamento delle prestazioni con intervalli dinamici molto grandi.
Risoluzione dei problemi: Se il tuo grafico non si aggiorna correttamente, controlla nuovamente eventuali errori di riferimento o discrepanze nelle formule di supporto. Assicurati che le righe vuote siano inserite correttamente, poiché queste sono fondamentali per ottenere l'aspetto “raggruppato”.
Altri articoli relativi ai grafici:
- Crea un grafico a barre sovrapposte in Excel
- Quando creiamo un grafico a barre o colonne raggruppate con due serie di dati, le barre delle due serie di dati verranno mostrate fianco a fianco. Ma, a volte, dobbiamo usare il grafico a barre sovrapposte o sovrapposte per confrontare le due serie di dati in modo più chiaro. In questo articolo, parlerò di come creare un grafico a barre sovrapposte in Excel.
- Crea un grafico a gradini in Excel
- Un grafico a gradini viene utilizzato per mostrare i cambiamenti avvenuti a intervalli irregolari, è una versione estesa di un grafico a linee. Ma, non c'è un modo diretto per crearlo in Excel. In questo articolo, parlerò di come creare un grafico a gradini passo dopo passo nel foglio di lavoro di Excel.
- Evidenzia i punti dati massimi e minimi in un grafico
- Se hai un grafico a colonne in cui vuoi evidenziare i valori più alti o più bassi con colori diversi per farli risaltare come mostrato nello screenshot seguente. Come potresti identificare i valori più alti e più bassi e quindi evidenziare i punti dati nel grafico rapidamente?
- Crea un modello di grafico a curva a campana in Excel
- Il grafico a curva a campana, noto come distribuzioni di probabilità normali in Statistica, viene solitamente creato per mostrare gli eventi probabili, e la parte superiore della curva a campana indica l'evento più probabile. In questo articolo, ti guiderò nella creazione di un grafico a curva a campana con i tuoi dati e salveremo la cartella di lavoro come modello in Excel.
- Crea un grafico a bolle con più serie in Excel
- Come sappiamo, per creare rapidamente un grafico a bolle, creerai tutte le serie come una serie sola come mostrato nello screenshot1, ma ora ti dirò come creare un grafico a bolle con più serie come mostrato nello screenshot2 in Excel.
I migliori strumenti per la produttività di Office
Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%
- Barra delle formule super (modifica facilmente più righe di testo e formule); Layout di lettura (leggi ed edita facilmente un gran numero di celle); Incolla in un intervallo filtrato...
- Unisci celle/righe/colonne mantenendo i dati; Dividi il contenuto delle celle; Combina righe duplicate e somma/media... Prevenire celle duplicate; Confronta intervalli...
- Seleziona righe duplicate o uniche; Seleziona righe vuote (tutte le celle sono vuote); Super Trova e Trova approssimativa in molte cartelle di lavoro; Selezione casuale...
- Copia esatta di più celle senza cambiare il riferimento della formula; Crea automaticamente riferimenti a più fogli; Inserisci punti elenco, caselle di controllo e altro...
- Preferiti e inserimento rapido di formule, intervalli, grafici e immagini; Crittografa celle con password; Crea elenco di invio e invia email...
- Estrai testo, aggiungi testo, rimuovi caratteri in una posizione specifica, rimuovi spazio; Crea e stampa statistiche pagina dati; Converti tra contenuto delle celle e commenti...
- Super Filtri (salva e applica schemi di filtro ad altri fogli); Ordinamento avanzato per mese/settimana/giorno, frequenza e altro; Filtro speciale per grassetto, corsivo...
- Unisci cartelle di lavoro e fogli di lavoro; Unisci tabelle basandoti su colonne chiave; Suddividi dati in più fogli; Conversione batch di xls, xlsx e PDF...
- Raggruppamento tabella pivot per numero di settimana, giorno della settimana e altro... Mostra celle sbloccate, celle bloccate con colori diversi; Evidenziazione celle che hanno formula/nome...

- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea documenti multipli in nuove schede della stessa finestra, anziché in nuove finestre.
- Aumenta la tua produttività del 50%, e riduce centinaia di clic del mouse ogni giorno!
