Come filtrare una tabella pivot in base a un valore di cella specifico in Excel?
In Excel, le tabelle pivot sono ampiamente utilizzate per riassumere, analizzare ed esplorare i dati in modo efficiente. Per impostazione predefinita, il filtro all'interno di una tabella pivot viene generalmente eseguito selezionando gli elementi desiderati dal menu a discesa del filtro. Sebbene questo approccio offra flessibilità, ci sono determinati scenari in cui è necessario un metodo di filtro più dinamico: ad esempio, si potrebbe volere che i risultati della tabella pivot cambino automaticamente in base al valore inserito in una cella specifica del foglio di lavoro. Questo è particolarmente utile quando si preparano dashboard, si automatizzano flussi di lavoro o si costruiscono report interattivi per gli utenti finali che potrebbero non essere a proprio agio con il filtro manuale.
Excel non fornisce una funzionalità standard che collega nativamente il valore di una cella a un filtro della tabella pivot (senza usare codice). Tuttavia, ci sono diverse tecniche pratiche per affrontare questa esigenza, ognuna con i propri vantaggi e aspetti da considerare. Questo tutorial introduce innanzitutto un metodo VBA semplice per collegare direttamente una cella a un filtro della tabella pivot, in modo che la tabella pivot si aggiorni istantaneamente quando il valore della cella cambia. Inoltre, tratteremo metodi alternativi, come l'uso di formule Excel (ad esempio, GETPIVOTDATA, FILTER) per visualizzare i risultati filtrati, e l'uso di Selettori come controlli grafici di filtro. Comprendere queste opzioni aiuta a scegliere il metodo migliore per il proprio flusso di lavoro in Excel e l'esperienza utente.
➤ Filtra la tabella pivot in base a un valore di cella specifico con il codice VBA
➤ Formula Excel - Visualizza i risultati filtrati della tabella pivot in base a un valore di cella
➤ Altri metodi integrati di Excel - Usa i selettori come filtri interattivi delle tabelle pivot
Filtra la tabella pivot in base a un valore di cella specifico con il codice VBA
Se vuoi una vera interattività dinamica — ovvero, quando digiti un valore in una cella e il filtro della tabella pivot risponde automaticamente alla modifica — VBA offre una soluzione diretta. Questo è particolarmente utile nei dashboard, nei modelli per i colleghi o in situazioni in cui sono necessari rapidi aggiustamenti dei filtri cambiando una singola cella. Tuttavia, questo metodo richiede una conoscenza di base dell'editor VBA, e, come per tutte le macro, il tuo foglio di lavoro deve essere salvato in un formato abilitato per le macro (.xlsm).
Il seguente codice VBA ti consente di collegare dinamicamente una cella del foglio di lavoro a un filtro della tabella pivot. Segui attentamente questi passaggi e assicurati di modificare il nome del foglio di lavoro, il nome della tabella pivot e il riferimento al campo come necessario nel tuo foglio di lavoro:
Passo 1: Inserisci il valore con cui vuoi filtrare la tua tabella pivot in una cella del foglio di lavoro (ad esempio, digita o seleziona il valore di filtro nella cella H6).
Passo 2: Apri il foglio di lavoro che contiene la tua tabella pivot di destinazione. Fai clic con il tasto destro sul tab del foglio nella parte inferiore di Excel e seleziona Visualizza codice dal menu contestuale. Questo apre la finestra dell'editor VBA per il foglio di lavoro.
Passo 3: Nella finestra Microsoft Visual Basic for Applications (VBA) aperta, incolla il seguente codice nel modulo di codice del foglio di lavoro (non un modulo standard):
Codice VBA: Filtra la tabella pivot in base al valore della cella
Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
Dim xPTable As PivotTable
Dim xPFile As PivotField
Dim xStr As String
On Error Resume Next
If Intersect(Target, Range("H6:H7")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xPTable = Worksheets("Sheet1").PivotTables("PivotTable2")
Set xPFile = xPTable.PivotFields("Category")
xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Application.ScreenUpdating = True
End Sub
📝 Note:
- "Sheet1" è il foglio di lavoro contenente la tabella pivot. Modificalo secondo necessità.
- "PivotTable2" è il nome della tua tabella pivot. Puoi trovarlo nella scheda Analizza tabella pivot.
- "Category" è il campo che vuoi filtrare. Deve corrispondere esattamente al nome del campo.
- H6 è la cella di filtro. Assicurati che il valore corrisponda a un elemento nell'elenco del filtro.
- I valori di filtro devono corrispondere carattere per carattere. Spazi extra o errori di battitura possono causare errori o risultati vuoti.
Passo 4: Premi Alt + Q per chiudere l'editor VBA e tornare a Excel.
Ora, la tua tabella pivot dovrebbe filtrare automaticamente per mostrare solo i dati che corrispondono al valore inserito nella cella H6. Questa macro viene eseguita ogni volta che il valore in H6 cambia, rendendo facile regolare dinamicamente il riassunto dei dati.
Puoi modificare il valore nella cella di filtro in qualsiasi momento — la tabella pivot si aggiornerà istantaneamente ogni volta che il contenuto della cella viene modificato o sostituito.
Risoluzione dei problemi:
- Assicurati che le macro siano abilitate nel tuo foglio di lavoro.
- Verifica nuovamente che i nomi del foglio di lavoro, della tabella pivot e dei campi corrispondano alla tua configurazione effettiva.
- Assicurati che il valore di filtro in H6 corrisponda esattamente ai valori della tabella pivot.
- Questo approccio VBA funziona per filtri su un singolo campo. Per più campi, è richiesto uno script aggiuntivo.
Formula Excel – Visualizza i risultati filtrati della tabella pivot in base a un valore di cella
Per gli utenti che preferiscono non abilitare le macro, Excel offre approcci basati su formule per visualizzare i risultati della tabella pivot in base a un valore di cella specifico. Anche se funzioni come GETPIVOTDATA
e FILTER
non modificano effettivamente le impostazioni del filtro della tabella pivot, possono fare riferimento dinamicamente e presentare risultati di riepilogo che rispondono all'input dell'utente.
Questa soluzione è particolarmente utile quando si creano tabelle di riepilogo personalizzate, dashboard o report che riflettono criteri variabili inseriti dall'utente — senza alterare la vista originale della tabella pivot.
Utilizzo di GETPIVOTDATA:
Supponiamo che la tua tabella pivot (chiamata "PivotTable2") riassuma le vendite per categoria, e il valore del filtro sia inserito nella cella H6. Puoi usare GETPIVOTDATA
per visualizzare le vendite totali per la categoria specificata in H6:
1. Seleziona la cella dove vuoi visualizzare il risultato del riepilogo (ad esempio, I6):
=GETPIVOTDATA("Sum of Sales", $A$4, "Category", $H$6)
2. Premi Invio. Quando cambi il valore in H6, il risultato in I6 si aggiorna automaticamente per riflettere il corrispondente riepilogo dalla tabella pivot.
Se la tua tabella pivot utilizza nomi di campo o layout diversi, regola la formula di conseguenza. Per generare automaticamente una formula GETPIVOTDATA
, digita =
in una cella, poi fai clic su una cella di valore all'interno della tua tabella pivot. Excel inserirà la formula appropriata, che puoi quindi modificare come necessario.
Utilizzo di FILTER con una tabella di supporto:
Se vuoi estrarre record dettagliati dal tuo set di dati originale (piuttosto che solo i riepiloghi della tabella pivot), e stai usando Excel 365 o Excel 2019, la funzione FILTER
consente un filtraggio dinamico basato su un valore di cella:
Supponiamo che i tuoi dati sorgente siano nell'intervallo A1:C100
e che Categoria sia nella colonna A.
1. Seleziona la cella iniziale dove i record filtrati dovrebbero apparire (ad esempio, J6):
=FILTER(A2:C100, A2:A100 = H6, "No data")
2. Premi Invio. Le righe corrispondenti verranno riversate nelle celle adiacenti, elencando tutti i record dove la categoria corrisponde al valore in H6. L'aggiornamento di H6 rinfrescherà istantaneamente i risultati.
Per abbinare raggruppamenti della tabella pivot o filtrare su più criteri, considera di combinare GETPIVOTDATA
e FILTER
, o estendi la formula con condizioni logiche aggiuntive.
📝 Suggerimenti & Avvertenze:
- Queste formule non modificano il filtro effettivo della tabella pivot. Forniscono solo una vista separata e dinamica basata sui valori delle celle.
- Per cambiare direttamente i filtri della tabella pivot, è richiesto VBA.
- Assicurati che i nomi dei campi utilizzati in
GETPIVOTDATA
corrispondano esattamente a quelli nella tabella pivot (casi e spaziature). - Se vedi errori
#RIF!
, verifica che i tuoi riferimenti siano validi e che la struttura della tabella pivot non sia cambiata.
Altri metodi integrati di Excel – Usa i selettori come filtri interattivi delle tabelle pivot
Se le soluzioni VBA o basate su formule non soddisfano completamente il tuo flusso di lavoro, i selettori di Excel forniscono un altro metodo interattivo per filtrare le tabelle pivot. I selettori sono controlli di filtro visivi che consentono agli utenti di filtrare i dati con una semplice interfaccia di puntamento e clic. Anche se non possono essere collegati direttamente ai valori delle celle — il che significa che non puoi cambiare una cella per controllare un selettore — sono intuitivi e altamente efficaci per dashboard e report utilizzati da utenti non tecnici.
Come aggiungere e usare un selettore:
- Seleziona una cella qualsiasi all'interno della tua tabella pivot.
- Vai alla scheda Analizza tabella pivot (o scheda Analizza nelle versioni precedenti) e fai clic su Inserisci selettore.
- Nella finestra di dialogo Inserisci selettori, seleziona il campo su cui vuoi filtrare (ad esempio, Categoria), poi fai clic su OK.
- Il selettore apparirà sul tuo foglio di lavoro. Fai clic su un pulsante per filtrare la tabella pivot per quel valore. Tieni premuto Ctrl per selezionare più elementi.
I selettori possono essere formattati, ridimensionati e collegati a più tabelle pivot per il filtraggio sincronizzato attraverso diversi report. Sono particolarmente utili nei dashboard o nei fogli di lavoro condivisi dove gli utenti potrebbero non essere a loro agio con i filtri a discesa ma hanno comunque bisogno di filtrare facilmente i dati senza usare VBA o modificare le formule.
Limitazioni: I selettori non supportano il collegamento nativo ai valori delle celle. Se il tuo flusso di lavoro richiede un filtraggio dinamico controllato dall'input delle celle, i selettori dovrebbero essere considerati uno strumento complementare piuttosto che una sostituzione dei metodi basati su VBA o formule.
Inoltre, se i tuoi dati sono memorizzati in una tabella Excel (non una tabella pivot), puoi comunque usare i selettori selezionando la tabella e andando alla scheda Progettazione tabella > Inserisci selettore.
Risoluzione dei problemi: Se il selettore non sembra filtrare la tabella pivot, controlla le Connessioni report (sotto la scheda Selettore o Analizza) per assicurarti che sia correttamente connesso alla tabella pivot prevista.
Ciascuno dei metodi sopra descritti serve a uno scopo diverso: VBA permette il filtraggio collegato direttamente alle celle, le formule forniscono una visualizzazione dinamica dei risultati, e i selettori offrono un filtro grafico user-friendly. Scegli l'approccio che meglio corrisponde alle tue esigenze di automazione, flessibilità e facilità d'uso. I filtri a discesa tradizionali delle tabelle pivot rimangono disponibili come opzione di base di fallback.
Articoli correlati:
- Come combinare più fogli in una tabella pivot in Excel?
- Come creare una tabella pivot da un file di testo in Excel?
- Come collegare il filtro della tabella pivot a una certa cella in Excel?
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e farti risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta le schede su Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra invece che in nuove finestre.
- Aumenta la produttività del50% e riduce centinaia di clic del mouse ogni giorno!
Tutti gli add-in Kutools. Un solo programma di installazione
La suite Kutools for Office include add-in per Excel, Word, Outlook & PowerPoint più Office Tab Pro, ideale per i team che lavorano su più app di Office.





- Suite tutto-in-uno — Add-in per Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un solo programma di installazione, una sola licenza — configurazione in pochi minuti (pronto per MSI)
- Funzionano meglio insieme — produttività ottimizzata su tutte le app Office
- Prova completa30 giorni — nessuna registrazione, nessuna carta di credito
- Massimo risparmio — costa meno rispetto all’acquisto singolo degli add-in