Come filtrare una tabella pivot in base al valore di una specifica cella in Excel?
In Excel, le tabelle pivot sono ampiamente utilizzate per riepilogare, analizzare ed esplorare i dati in modo efficiente. Per impostazione predefinita, il filtraggio all’interno di una tabella pivot avviene selezionando gli elementi desiderati dal menu a discesa del filtro. Sebbene questo approccio offra flessibilità, in alcuni scenari è necessario un metodo di filtraggio più dinamico: ad esempio, potresti volere che i risultati della tabella pivot si aggiornino automaticamente in base al valore inserito in una specifica cella del foglio di lavoro. Questa funzionalità risulta particolarmente utile nella creazione di dashboard, nell’automazione di flussi di lavoro o nello sviluppo di report interattivi per utenti finali che potrebbero non sentirsi a proprio agio con il filtraggio manuale.
Excel non offre una funzionalità nativa per collegare direttamente il valore di una cella a un filtro di Tabella pivot senza ricorrere al codice. Tuttavia, esistono diverse tecniche pratiche per soddisfare questa esigenza, ognuna con propri vantaggi e aspetti da valutare. Questo tutorial presenta innanzitutto un semplice metodo VBA che collega una cella a un filtro di Tabella pivot, aggiornando istantaneamente la tabella non appena il valore della cella cambia. Inoltre, illustra approcci alternativi, come l’uso di formule Excel (ad esempio GETPIVOTDATA o FILTRO) per mostrare risultati filtrati e l’impiego dei segmenti come controlli grafici di filtro. Conoscere queste opzioni ti permette di scegliere la soluzione più adatta al tuo flusso di lavoro in Excel e all’esperienza utente desiderata.

➤ Filtrare i Tabella pivot in base a un valore specifico di una cella con codice VBA
➤ Formula Excel – Visualizzare i risultati filtrati dei Tabella pivot in base a un valore di cella
➤ Altri metodi integrati di Excel – Utilizzare le barre di scorrimento come filtri interattivi per tabelle pivot
Filtra la Tabella pivot in base al valore di una specifica cella con codice VBA
Se desideri un'interattività davvero dinamica—ovvero, quando digiti un valore in una cella e il filtro della tabella pivot risponde automaticamente alla modifica—VBA offre una soluzione immediata. Questo approccio è particolarmente utile nei dashboard, nei modelli condivisi con i colleghi o in tutte quelle situazioni in cui serve regolare rapidamente il filtro modificando semplicemente una singola cella. Tuttavia, questo metodo richiede una conoscenza di base dell’editor VBA e, come per tutte le macro, la cartella di lavoro deve essere salvata in un formato abilitato alle macro ().xlsm).
Il seguente codice VBA ti consente di collegare dinamicamente una cella del foglio di lavoro a un filtro di tabella pivot. Segui attentamente questi passaggi e ricorda di aggiornare il nome del foglio di lavoro, il nome della tabella pivot e il riferimento al campo in base alle tue esigenze:
Passo 1:Inserisci nella cella del foglio di lavoro il valore in base al quale desideri filtrare la tua Tabella pivot (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. Fai clic con il pulsante destro del mouse sulla scheda del foglio in basso in Excel e seleziona Visualizza codice dal menu contestuale. Si aprirà così la finestra dell’editor VBA per il foglio di lavoro.

Passo 3:Nella finestra di Microsoft Visual Basic, Applications Edition(VBA) aperta, incolla il seguente codice nel modulo di codice del foglio di lavoro (non in un modulo standard):
Codice VBA: Filtra la Tabella pivot in base al valore della cella
Private Sub Worksheet_Change(ByVal Target As Range)
'Aggiornato da 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:
- "Foglio1" è il foglio di lavoro che contiene la tabella pivot. Modificalo secondo necessità.
- "TabellaPivot2" è il nome della tua tabella pivot. Puoi trovarlo nella scheda Analisi tabella pivot.
- «Categoria» è il campo che desideri filtrare. Deve corrispondere esattamente al nome della condizione.
- H6 è la cella del filtro. Assicurati che il valore corrisponda a un elemento presente nell'elenco dei filtri.
- I valori del filtro devono corrispondere esattamente, carattere per carattere: spazi aggiuntivi o errori di battitura potrebbero causare errori o restituire risultati vuoti.
Passo 4: Premi Alt + Q per chiudere l'editor VBA e tornare a Excel.
Ora la tua tabella pivot dovrebbe filtrarsi automaticamente per mostrare solo i dati corrispondenti al valore inserito nella cella H6. Questa macro viene eseguita ogni volta che il valore in H6 cambia, consentendo un aggiornamento dinamico semplice e immediato del riepilogo dei dati.

Puoi modificare in qualsiasi momento il valore nella cella di filtro: la tabella pivot si aggiornerà istantaneamente non appena ne modificherai o sostituirai il contenuto.

Risoluzione problemi:
- Assicurati che le macro siano attivate nella tua cartella di lavoro.
- Verifica attentamente che il foglio di lavoro, la tabella pivot e il nome della condizione corrispondano alla tua configurazione effettiva.
- Assicurati che il valore del filtro in H6 corrisponda esattamente a quelli presenti nella tabella pivot.
- Questo approccio VBA funziona con filtri applicati a un singolo campo; per gestire più campi, sono necessari script aggiuntivi.
Formula Excel – Visualizza risultati filtrati della Tabella pivot in base al valore di una cella
Per gli utenti che preferiscono non abilitare le macro, Excel offre soluzioni basate su formule per visualizzare i risultati della Tabella pivot in base al valore di una specifica cella. Anche se funzioni come GETPIVOTDATA e FILTRO non modificano effettivamente le impostazioni del filtro della Tabella pivot, possono fare riferimento dinamicamente ai risultati di riepilogo e presentarli in risposta all’input dell’utente.
Questa soluzione è particolarmente utile per creare tabelle riepilogative personalizzate, dashboard o report che riflettono i criteri variabili definiti dall’utente, senza modificare la vista originale della tabella pivot.
Utilizzo di GETPIVOTDATA:
Supponiamo che la tua Tabella pivot (denominata)"TabellaPivot2") riassuma le vendite per categoria e che il valore del filtro sia inserito nella cella H6. Puoi utilizzare la funzione GETPIVOTDATA per visualizzare il totale delle vendite relativo alla categoria specificata in H6:
1.Seleziona la cella in cui desideri visualizzare il risultato del riepilogo (ad esempio,)I6):
=GETPIVOTDATA("Sum of Sales", $A$4, "Category", $H$6) 2. Premi Invio. Quando modifichi il valore in H6, il risultato in I6 si aggiorna automaticamente per riflettere il corrispondente riepilogo della Tabella pivot.
Se la tua Tabella pivot utilizza nomi di campo diversi o un layout differente, adatta la formula di conseguenza. Per generare automaticamente una formula GETPIVOTDATA, digita = in una cella, quindi fai clic su una cella contenente un valore all'interno della tua Tabella pivot. Excel inserirà la formula appropriata, che potrai poi personalizzare in base alle tue esigenze.
Utilizzo di FILTRO con una tabella di supporto:
Se desideri estrarre record dettagliati dal tuo set di dati originale (anziché soltanto riepiloghi della Tabella pivot), e utilizzi Excel 365 o Excel 2019, la funzione FILTROconsente un filtraggio dinamico basato sul valore di una cella:
Supponiamo che i tuoi Dati di origine si trovino nell'intervallo A1:C100 e che la colonna Categoria sia nella colonna A.
1.Selezionare la cella iniziale in cui devono comparire i record filtrati (ad esempio,)J6):
=FILTER(A2:C100, A2:A100 = H6, "No data") 2. Premere Invio. Le righe corrispondenti si espanderanno automaticamente nelle celle adiacenti, mostrando tutti i record in cui la categoria corrisponde al valore presente in H6. Non appena si aggiorna H6, i risultati vengono aggiornati all’istante.
Per abbinare raggruppamenti di una Tabella pivot o applicare filtri in base a criteri multipli, valuta la possibilità di combinare GETPIVOTDATA e FILTRO, oppure estendi la formula con ulteriori condizioni logiche.
📝 Suggerimenti e avvertenze:
- Queste formule non modificano il filtro effettivo del Tabella pivot. Forniscono soltanto una vista separata e dinamica basata sui valori delle celle.
- Per modificare direttamente i filtri del Tabella pivot, è necessario utilizzare VBA.
- Assicurati che i nomi delle condizioni utilizzati nella funzione
GETPIVOTDATAcorrispondano esattamente a quelli presenti nella tabella pivot (maiuscole/minuscole e spaziatura inclusi). - Se visualizzi errori
#RIF!, assicurati che i tuoi riferimenti siano validi e che la struttura della tabella pivot non sia cambiata.
Altri metodi integrati di Excel – Utilizzare le barre di scorrimento come filtri interattivi per Tabella pivot
Se le soluzioni basate su VBA o formule non soddisfano pienamente le proprie esigenze operative, le barre di scorrimento (Slicers) di Excel offrono un metodo interattivo aggiuntivo per filtrare le tabelle pivot. Le barre di scorrimento sono controlli visivi che consentono di filtrare i dati tramite un’interfaccia semplice e intuitiva, basata sui clic del mouse. Benché non possano essere collegate direttamente ai valori delle celle—ossia non è possibile controllare una barra di scorrimento modificando una cella—sono estremamente efficaci e facili da usare, ideali per dashboard e report destinati a utenti non tecnici.
Come aggiungere e utilizzare una barra di scorrimento:
- Seleziona una qualsiasi cella all'interno del tuo Tabella pivot.
- Vai alla scheda Analisi tabella pivot(oppure alla scheda)Analisi nelle versioni precedenti) e fai clic su Inserisci segmento.
- Nella finestra di dialogo Inserisci segmenti, seleziona il campo in base al quale desideri filtrare (ad esempio,)Categoria), quindi fai clic su OK.
- Il segmento verrà visualizzato sul tuo foglio di lavoro. Fai clic su un pulsante per filtrare la Tabella pivot in base a quel valore. Tieni premuto Ctrl per selezionare più elementi.
Le barre di scorrimento possono essere formattate, ridimensionate e collegate a più Tabella pivot per consentire un filtraggio sincronizzato tra diversi report. Sono particolarmente utili in dashboard o cartelle di lavoro condivise, dove gli utenti potrebbero non sentirsi a proprio agio con i filtri a discesa, ma hanno comunque bisogno di filtrare i dati facilmente senza ricorrere a VBA o modificare formule.
Limitazioni: Le barre di scorrimento non supportano il collegamento nativo ai valori delle celle. Se il tuo flusso di lavoro richiede un filtraggio dinamico controllato da un input in cella, considera le barre di scorrimento come uno strumento complementare, non come sostituto dei metodi basati su VBA o formule.
Inoltre, se i dati sono memorizzati in una Tabella Excel (e non in una Tabella pivot), puoi comunque utilizzare le barre di scorrimento: seleziona la tabella e vai alla scheda Progettazione tabella > Inserisci barra di scorrimento.
Risoluzione dei problemi: Se la barra di scorrimento non filtra correttamente le tabelle pivot, controlla le Connessioni report(nella scheda)Barra di scorrimento o Analizza) per assicurarti che sia collegata correttamente alle tabelle pivot desiderate.
Ciascuno dei metodi illustrati sopra soddisfa esigenze diverse: VBA permette un filtraggio direttamente collegato alle celle, le formule offrono una visualizzazione dinamica dei risultati e le barre di scorrimento garantiscono un filtraggio grafico intuitivo. Scegli l’approccio che meglio si adatta alle tue necessità in termini di automazione, flessibilità e facilità d’uso. I tradizionali filtri a discesa per Tabella pivot restano comunque disponibili come opzione base alternativa.
Articoli correlati:
- Come combinare più fogli in un Tabella pivot in Excel?
- Come creare un Tabella pivot da File di Testo in Excel?
- Come collegare il filtro Tabella pivot a una determinata cella in Excel?
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 oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi