Skip to main content

Kutools per Office — Una Suite. Cinque Strumenti. Ottieni di Più.

Come filtrare una tabella pivot in base a un valore di cella specifico in Excel?

Author Siluvia Last modified

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.

A screenshot showing a Pivot Table with a drop-down filter in Excel


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.

A screenshot showing the View Code option for a worksheet in Excel

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.

Pivot Table filtered based on a specific cell value

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.

Result of changing the filter cell value for the Pivot Table

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:

  1. Seleziona una cella qualsiasi all'interno della tua tabella pivot.
  2. Vai alla scheda Analizza tabella pivot (o scheda Analizza nelle versioni precedenti) e fai clic su Inserisci selettore.
  3. Nella finestra di dialogo Inserisci selettori, seleziona il campo su cui vuoi filtrare (ad esempio, Categoria), poi fai clic su OK.
  4. 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:

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l’analisi dei dati grazie a: Esecuzione intelligente | Genera codice | Crea formule personalizzate | Analizza dati e crea grafici | Attiva Funzioni avanzate
Funzionalità più usate: Trova, evidenziazione o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda senza formula...
Super RICERCA.VERT: Ricerca VERT per criteri multipli | Ricerca VERT per valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestore colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia stato di visibilità delle colonne nascoste | Confronta intervalli & colonne...
Funzionalità in primo piano: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestore di cartelle di lavoro & fogli | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email per elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
Top15 strumenti:12 strumenti Testo (Aggiungi testo, Elimina Caratteri Specifici, ...) |50+ tipi di grafico (Diagramma di Gantt, ...) |40+ formule pratiche (Calcola letà in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti Unione & Dividi (Unione avanzata righe, Dividi celle, ...) | ... e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre lingue!

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.

Excel Word Outlook Tabs PowerPoint
  • 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