Come filtrare automaticamente le righe in base al valore della cella in Excel?
In Excel, la funzione Filtro standard offre un modo rapido per filtrare i dati in base ai criteri che selezioni manualmente. Tuttavia, in alcuni flussi di lavoro, potresti volere che i tuoi dati si aggiornino automaticamente non appena inserisci un valore o una condizione in una cella specifica. Ad esempio, se vuoi che il set di dati venga filtrato istantaneamente in base a una parola chiave o a un parametro inserito in un'altra cella, ciò va oltre le capacità native di filtro di Excel. Questo tipo di filtro dinamico o "automatico" può aiutare a semplificare il processo di revisione dei dati, ridurre il tempo speso per il filtraggio manuale e aumentare l'accuratezza legando i criteri di filtro direttamente ai valori delle celle. Se desideri implementare un meccanismo di questo tipo basato sull'inserimento di valori nelle celle, ci sono diverse soluzioni pratiche disponibili per ottenere questo risultato.
Filtro automatico delle righe in base al valore della cella con una soluzione tramite formula Excel
Filtro automatico delle righe in base al valore della cella inserito tramite codice VBA
Filtro automatico delle righe in base al valore della cella con una soluzione tramite formula Excel
Se preferisci un approccio senza macro o devi evitare l'uso di VBA a causa delle impostazioni di sicurezza o preoccupazioni di collaborazione, puoi creare un effetto di "filtro automatico" utilizzando una combinazione di formule e funzionalità di filtro incorporate in Excel. Questa soluzione funziona bene per Microsoft 365, Microsoft 2019 e versioni successive che supportano funzioni di array dinamici come FILTER
. È particolarmente adatta per la condivisione con colleghi che potrebbero non avere le macro abilitate, o per modelli leggeri in cui è necessaria un'automazione senza installazione.
1. Seleziona una cella vuota dove vuoi che inizino i risultati filtrati (ad esempio, posiziona il cursore nella cella G2).
=FILTER(A2:C20, (A2:A20=E1) * (B2:B20=E2), "No match")
2. Dopo aver inserito la formula in G2, premi Invio. Il set di dati filtrati apparirà in un intervallo di overflow a partire dalla cella G2. Quando cambi i valori in E1 o E2, l'elenco filtrato si aggiorna istantaneamente.
Questo esempio di formula presuppone che i dati principali si trovino in A2:C20 e che i criteri di filtro siano inseriti in E1 (corrispondente alla colonna A) e E2 (corrispondente alla colonna B). Se vuoi filtrare solo per una colonna, puoi semplificare di conseguenza la condizione logica. Il messaggio "Nessuna corrispondenza" appare se nessuna riga soddisfa i criteri inseriti.
Suggerimento: La funzione FILTER è disponibile in Microsoft 365 e alcune versioni di Microsoft 19+. Per le versioni precedenti di Excel, il filtro dinamico tramite formule è meno diretto, e potresti voler esplorare colonne ausiliarie combinate con il tradizionale AutoFiltro o funzionalità di filtro avanzate. Controlla la tua versione per assicurarti la compatibilità.
Quando utilizzi questa soluzione, i risultati occupano una nuova area sul tuo foglio di lavoro, il che aiuta a preservare i dati grezzi. Tuttavia, il dataset originale rimane inalterato — i filtri si applicano solo ai risultati visualizzati, non allo stato di visualizzazione dei dati di origine.
Errori potenziali: Se vedi un errore #NOME? o #SPILL!, verifica di utilizzare una versione compatibile di Excel e che non ci siano celle unite nell'intervallo dei risultati. Inoltre, evita di inserire altri dati nell'area di overflow della formula per prevenire blocchi.
Filtro automatico delle righe in base al valore della cella inserito tramite codice VBA
Supponiamo che tu stia lavorando con un set di dati e voglia filtrare automaticamente i record in base ai criteri che digiti in celle specifiche. Ad esempio, quando inserisci le tue condizioni desiderate nella cella E1 ed E2, i dati nel foglio di lavoro vengono filtrati automaticamente per corrispondere a quei valori, come illustrato di seguito:
Per automatizzare il filtraggio in questo modo, puoi configurare una semplice soluzione VBA. Questo metodo si attiva ogni volta che aggiorni il valore nelle celle filtro designate. È particolarmente utile per dashboard, report interattivi o modelli in cui gli utenti si aspettano un filtraggio dinamico da celle parametri centrali.
1. Vai al foglio di lavoro dove desideri automatizzare il filtraggio delle righe in base agli input inseriti nelle celle.
2. Fai clic destro sulla scheda del foglio nella parte inferiore della finestra di Excel e scegli Visualizza codice dal menu contestuale. Nella finestra di Microsoft Visual Basic for Applications che appare, incolla il seguente codice VBA nell'area vuota più grande (comunemente indicata come finestra del codice o modulo del foglio di lavoro), come mostrato qui:
Codice VBA: Filtrare automaticamente i dati in base al valore della cella inserito
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160606
If Target.Address = Range("E2").Address Then
Range("A1:C20").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("E1:E2")
End If
End Sub
Nota: In questo codice VBA, A1:C20 si riferisce all'intervallo di dati a cui applicare il filtro. E2 è la cella dove inserisci il valore del filtro (i tuoi criteri target), e E1:E2 sono le celle utilizzate come condizioni di filtro. Puoi modificare questi intervalli secondo necessità — assicurati che riflettano accuratamente dove si trovano i tuoi dati e i criteri di filtro per la struttura specifica del tuo foglio di lavoro. Inoltre, è meglio evitare celle unite e assicurarsi che l'intervallo di dati contenga intestazioni se necessario per un filtraggio accurato.
3. Ora, inserisci o modifica i criteri di filtro nella cella E1 e/o E2. Una volta premuto Invio, il codice VBA viene eseguito automaticamente e filtra l'intervallo di dati designato mostrando solo le righe che corrispondono ai tuoi criteri di input.
Se il filtro non sembra funzionare immediatamente dopo aver inserito un valore, assicurati che la funzionalità macro sia abilitata nel tuo workbook e verifica che gli intervalli nel codice VBA corrispondano correttamente al layout del tuo foglio di lavoro attuale. In scenari multi-utente, ricorda agli altri che le macro devono essere abilitate affinché questa funzionalità funzioni correttamente.
Questo metodo VBA è particolarmente vantaggioso per dashboard guidati da parametri dinamici, modelli interattivi per l'inserimento di dati o qualsiasi scenario in cui l'applicazione manuale dei criteri di filtro sarebbe inefficiente. Tuttavia, tieni presente che gli utenti potrebbero incontrare problemi se disabilitano le macro, e le soluzioni basate su VBA sono specifiche per il file in cui viene aggiunto il codice.
Se il tuo scenario richiede frequenti cambiamenti di criteri da parte di più utenti che potrebbero avere impostazioni di sicurezza di Excel variabili, o se hai intenzione di condividere ampiamente il tuo file, potresti voler considerare soluzioni alternative basate su formule o componenti aggiuntivi di Excel.
Demo: Filtro automatico delle righe in base al valore della cella inserito tramite codice VBA
Filtra i dati per più criteri o altre condizioni specifiche, come per lunghezza del testo, per distinzione tra maiuscole e minuscole, ecc. Quando hai bisogno di eseguire operazioni di filtraggio avanzate — come combinare diversi criteri di filtro, filtrare per la lunghezza del testo, per sensibilità alle maiuscole/minuscole o filtrare in base a periodi specifici — i filtri incorporati di Excel potrebbero essere insufficienti. In tali scenari, la funzione Super Filtri di Kutools per Excel offre un modo pratico per gestire facilmente ed efficacemente requisiti di filtro complessi. Questa funzione ti aiuta a:
Kutools per Excel: Dotato di oltre 300 componenti aggiuntivi pratici per Excel, prova gratuita completa per 30 giorni. Scarica e prova gratis ora! |
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 risparmiare tempo. Clicca qui per ottenere la funzione 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 della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!