Sommario
Oggi vi mostrerò come Excel filtra più criteri di alcuni dati corrispondenti usando la funzione FILTRO Prima di passare alla discussione principale, vorrei ricordarvi una cosa: il FILTRO è disponibile solo in Office 365 .
Scarica il quaderno di esercizi
Filtrare più valori.xlsxIntroduzione alla funzione FILTRO
Conosciamo le funzioni di Excel FILTRO per filtrare più criteri.
Guardate il set di dati qui sotto: abbiamo gli anni, le paesi ospitanti , il paesi campioni , e il Paesi secondi classificati di tutti i Coppe del Mondo FIFA in colonne B, C, D, e E rispettivamente.
Ora, se vi chiedo: quali sono gli anni in cui Brasile è diventato campione?
Cosa farete?
Probabilmente passerete attraverso la colonna D (Campione), e vedere se c'è una cella che contiene un Brasile in esso o meno.
Poi, quando se ne trova uno, ci si sposta di due passi a sinistra di quella cella, nella colonna B (Anno) e annotare l'anno corrispondente.
E poi scendete di nuovo attraverso la colonna D e fare lo stesso per tutte le celle che contengono un elemento Brasile in esso.
In questo modo, si annoteranno tutti gli anni in cui Brasile era il campione.
Per un piccolo insieme di dati, questo è OK Ma è possibile ripetere la stessa procedura per un ampio insieme di dati, ad esempio, di 10000 file?
Per saperne di più: Come filtrare più righe in Excel (11 approcci adatti)
La risposta è no, un grande no.
Cosa fare, dunque?
Microsoft Excel dispone di una funzione integrata chiamata FILTRO per eseguire esattamente lo stesso compito per voi.
Il FILTRO La funzione accetta tre argomenti, un intervallo di celle chiamato "an array , un criterio chiamato includono, e un valore chiamato if_empty che viene restituito nel caso in cui il criterio non sia soddisfatto per nessuna cella.
Quindi la sintassi del file FILTRO è la funzione:
=FILTRO(array,include,[se_vuoto])
Per una migliore comprensione, veniamo alla Brasile Dobbiamo filtrare gli anni in cui Brasile è diventato il campione.
La formula per ottenere questo risultato sarà:
=FILTER(B5:B25,D5:D25="Brazil","")
Vedi, abbiamo tutti gli anni in cui Brasile è diventato campione, 1958, 1962,1970, 1994, e 2002 (Colorato nell'immagine).
Ora, per una maggiore comprensione, scomponiamo la formula.
D5:D25="Brasile" attraversa tutte le cellule da D5 a D25 e restituisce un oggetto VERO se trova un Brasile , altrimenti FALSO .
La formula FILTRO(B5:B25,D5:D25="Brasile","") diventa allora
=FILTRO({B5,B6,B7,...,B25},{FALSE,FALSE,...,TRUE,...,FALSE},")
Per ogni VERO restituisce la cella adiacente dell'array {B5,B6,B7,...,B25}
E per un FALSO non restituisce alcun risultato, "" . (è facoltativo, l'impostazione predefinita è nessun risultato), "" )
C'è un VERO solo per le cellule B9 , B10 , B12 , B18, e B20 .
Quindi restituisce solo il contenuto di queste celle, 1958, 1962, 1970, 1994 e 2002.
Sono gli anni in cui il Brasile diventa campione.
Spero che abbiate capito come il FILTRO funziona.
Ora, se hai capito questo, puoi dirmi la formula per trovare gli anni in cui il paese ospitante è diventato campione?
Sì, hai ragione. La formula è:
=FILTER(B5:B25,C5:C25=D5:D25,””)
Il paese ospitante è diventato campione in 1930, 1934, 1966, 1974, 1978, e 1998.
4 modi per filtrare con più criteri in Excel
Ora abbiamo capito come il FILTRO Proviamo questa volta ad applicare più criteri all'interno della funzione. Ecco una panoramica del set di dati per il compito di oggi.
1. Filtrare più valori di tipo OR
Prima di tutto, concentriamoci sui criteri multipli di O Questi sono i criteri che vengono soddisfatti quando uno o più criteri sono soddisfatti.
Ad esempio, se vi chiedo di dirmi un anno in cui avete avuto un'esperienza di questo tipo, vi chiedo di dirmelo. Argentina è diventato campione o Germania Ovest è diventato secondi classificati .
Si può dire che 1978 , o 1982 o 1986 .
Ora, proviamo a filtrare tutti gli anni in cui Italia era il ospite o il campione , o entrambi Questo è un problema di O È un'operazione semplice: basta aggiungere i due criteri con un più (+) Seguiamo le istruzioni qui sotto per filtrare più criteri in Excel!
Passi:
- Prima di tutto, selezionare la cella G5 e scrivere la funzione FILTRO in quella cella. La funzione sarà:
=FILTER(B5:B25,(C5:C25="Italy")+(D5:D25="Italy"))
- Pertanto, è sufficiente premere Entrare Come risultato, si otterranno gli anni in cui l'Italia è stata il paese più importante del mondo. ospite o campione o entrambi che è il ritorno di la funzione FILTRO .
Vedi, Italia è stato ospite o campione o entrambi negli anni 1934, 1938, 1982, 1990, e 2006.
Ripartizione della formula
Ora, per capire meglio, scomponiamo la formula.
- C5:C25="Italia" restituisce un array di VERO o FALSO. VERO quando l'Italia era ospite, FALSO altrimenti.
- D5:D25="Italia" restituisce anche un array di VERO o FALSO . VERO quando l'Italia era campione, FALSO altrimenti.
- (C5:C25="Italia")+(D5:D25="Italia") aggiunge due array di valori booleani, VERO e FALSO Ma considera ogni VERO come un 1 , e ogni FALSO come un 0 .
- Quindi restituisce un 2 quando entrambi i criteri sono soddisfatti, un 1 quando è soddisfatto un solo criterio, e una 0 quando nessun criterio è soddisfatto.
La formula diventa ora:
=FILTER({B5,B6,B7,...,B25},{0,2,1,...,0})
Considera i numeri maggiori di zero (0 e 1 in questo caso) come VERO e gli zeri come FALSO.
Quindi restituisce gli anni dalla colonna B quando si trova di fronte a un numero maggiore di 0 e non restituisce alcun risultato in caso contrario.
Ora, se si comprende come il FILTRO La funzione lavora con criteri multipli di tipo OR, potete dare una risposta ad una domanda?
Quale sarà la formula per filtrare gli anni in cui il Brasile si è laureato campione o l'Italia è diventata campione d'Europa? secondi classificati o entrambi?
Sì, hai ragione, la formula sarà:
=FILTER(B5:B25,(D5:D25="Brazil")+(E5:E25="Italy"))
2. Applicare la funzione FILTRO per il criterio AND
Ora ci concentreremo su criteri multipli di E Questo significa che dobbiamo soddisfare tutti i criteri per ottenere un VERO risultato, altrimenti FALSO .
Sappiamo che fino all'anno 1970 , il Coppa del mondo FIFA è stato chiamato il "Jules Rimet" trofeo. Dopo 1970 , ha iniziato ad essere chiamato il Coppa del mondo FIFA Quindi la mia prima domanda è: quali sono gli anni in cui Brasile ha vinto il "Jules Rimet" trofeo?
Ci sono due criteri qui.
- In primo luogo, l'anno deve essere inferiore o uguale a 1970 .
- In secondo luogo, il campione paese deve essere Brasile .
Come fare per soddisfare entrambi i criteri?
È molto semplice: moltiplicare i due criteri all'interno dell'elemento FILTRO con una funzione (*) Seguiamo le istruzioni che seguono per filtrare più criteri in Excel!
Passi:
- Prima di tutto, selezionare la cella G5 e scrivere la funzione FILTRO in quella cella. La funzione sarà:
=FILTER(B5:B25,(B5:B25<=1970)*(D5:D25="Brazil"))
Ripartizione della formula
(B5:B25<=1970
restituisce un VERO se l'anno è minore o uguale al 1970, altrimenti FALSO .(D5:D25="Brasile")
restituisce un VERO se il paese campione è il Brasile, altrimenti FALSO.(B5:B25<=1970)*(D5:D25="Brazil")
moltiplica due matrici di VERO e FALSO ma considera ogni VERO come 1 e ogni FALSO come 0 .- Quindi restituisce un 1 se entrambi i criteri sono soddisfatti, altrimenti restituisce un valore 0.
- Ora la formula diventa:
=FILTER({B4,B5,B6,...,B24},{0,0,...,1,1,...,0})
- Restituisce l'anno nella colonna B quando affronta un 1 e non restituisce alcun risultato quando affronta un 0 .
- Pertanto, è sufficiente premere Entrare Come risultato, si otterrà l'anno in cui Brasile è stato il campione del "Jules Rimet" trofeo che è il ritorno di la funzione FILTRO . vedi, fino a 1970 , il Brasile ha vinto tre volte , in 1958, 1962, e 1970 .
In questo modo possiamo filtrare tutti i dati che soddisfano più criteri di E tipo.
Ora puoi dirmi la formula per trovare gli anni precedenti a 2000 quando Brasile era il campione e l'Italia il secondo classificato?
La formula sarà:
=FILTER(B5:B25,(B5:B25<2000)*(D5:D25="Brazil")*(E5:E25="Italy"))
Letture simili:
- Applicare filtri multipli in Excel [Metodi + VBA].
- Come filtrare i dati in Excel utilizzando una formula
- Filtrare i dati di Excel in base al valore della cella (6 modi efficienti)
3. Filtrare criteri multipli con la combinazione dei tipi AND e OR in Excel
Caso 1: OR all'interno di OR
Ora se vi faccio una domanda, quali sono gli anni in cui un Sud America paese ( Brasile, Argentina o Uruguay ) era o campione o secondi classificati ?
Può dare una risposta alla mia domanda?
Si noti con attenzione che qui il paese campione deve essere Brasile, Argentina, o Uruguay Oppure il Paese secondo classificato deve essere Brasile, Argentina o Uruguay Questo è un problema di tipo OR all'interno di OR. Non preoccupatevi, seguite le istruzioni qui sotto per filtrare più criteri in Excel!
Passi:
- Prima di tutto, selezionare la cella G5 e scrivere le funzioni in quella cella. Le funzioni saranno:
=FILTRO(B5:B25,(ISNUMERO(MATCH(D5:D25,{"Brasile", "Argentina", "Uruguay"},0))+ (ISNUMERO(MATCH(E5:E25,{"Brasile", "Argentina", "Uruguay"},0))))
Ripartizione della formula
MATCH(D4:D24,{"Brasile", "Argentina", "Uruguay"},0)
ritorni 1 se la squadra campione è il Brasile, 2 se la squadra campione è l'Argentina, 3 se la squadra campione è l'Uruguay, e un errore (N/A) se la squadra campione non è nessuna di queste.ISNUMBER(MATCH(D4:D24,{"Brasile", "Argentina", "Uruguay"},0))
converte i numeri in VERO e gli errori in FALSO .- Allo stesso modo,
ISNUMBER(MATCH(E4:E24,{"Brasile", "Argentina", "Uruguay"},0))
restituisce un valore VERO se il paese secondo classificato è il Brasile, l'Argentina o l'Uruguay. e FALSO - Quindi,
(ISNUMERO(MATCH(D4:D24,{"Brasile", "Argentina", "Uruguay"},0)))+(ISNUMERO(MATCH(E4:E24,{"Brasile", "Argentina", "Uruguay"},0))
restituisce un 1 o 2 se un Paese sudamericano è campione, o secondo classificato, o entrambi. - e altrimenti restituisce zero.
- La formula diventa:
=FILTER({B4,B5,...,B24},{2,0,0,2,...,1,0})
- Restituisce un anno dalla colonna B se trova un numero maggiore di zero, altrimenti non restituisce alcun risultato.
- Pertanto, è sufficiente premere Entrare Come risultato, si otterrà l'anno in cui un Sud America paese ( Brasile, Argentina o Uruguay ) era o campione o secondi classificati. Abbiamo trovato tutti gli anni in cui un Paese sudamericano è stato campione o secondo classificato.
Caso 2: OR all'interno di AND
Se si comprende la formula di cui sopra, si può dire la formula per determinare gli anni in cui entrambi i campione e secondi classificati provenivano da Sud America (Brasile, Argentina, o Uruguay) ?
È abbastanza facile: basta sostituire il (+) della formula precedente con un segno (*) Le funzioni sono:
=FILTRO(B4:B24,(ISNUMERO(MATCH(D4:D24,{"Brasile", "Argentina", "Uruguay"},0)))*(ISNUMERO(MATCH(E4:E24,{"Brasile", "Argentina", "Uruguay"},0))))
Questi si sono verificati solo due volte, nel 1930 e nel 1950.
4. Utilizzare la funzione FILTRO in più colonne
Se si osserva con maggiore attenzione, si scopre che fino all'anno 1990 , c'era un paese chiamato Germania Ovest . e dopo 1990 , non c'è Germania Ovest . quello che c'è Germania I due sono in realtà dello stesso paese". 1990 , il due Germania (Est e Ovest) uniti a formare l'attuale Germania.
Ora puoi identificare gli anni in cui Germania è stato il campione Non importa Est o Ovest .
È necessario utilizzare la funzione FILTRO in più colonne.
La formula sarà:
=FILTRO(B5:B25,ISNUMERO(RICERCA("*Germania",D5:D25))
Ripartizione della formula
RICERCA("*Germania",D5:D25)
cerca tutto ciò che ha Germania alla fine nell'array D5 a D25 Se si ha bisogno della Germania al centro, usare "*Germania*".- Restituisce un valore 1 se trova una corrispondenza (Germania Occidentale e Germania) e restituisce un Errore
ISNUMBER(SEARCH("*Germania",D5:D25))
converte gli 1 in VERO e gli errori in FALSO .- Infine,
FILTRO(B5:B25,ISNUMERO(RICERCA("*Germania",D5:D25))
restituisce gli anni della colonna B quando affronta un VERO altrimenti non restituisce alcun risultato.
- La Germania era il campione 4 volte . 3 volte da Germania Ovest e 1 tempo per presente Germania .
Ora, se si comprende questa formula, è possibile trovare gli anni in cui il Coppa del Mondo FIFA è stato ospitato da due paesi ?
Vi sto dando un indizio: ci deve essere una " e " nel nome del paese ospitante. ( "e" tra due spazi)
Sì, hai ragione, la formula sarà:
=FILTRO(B5:B25,ISNUMERO(RICERCA("* e *",C5:C25))
Ora, vediamo che questo è accaduto solo una volta in 2002 , ospitato da Corea del Sud e Giappone .
Opzioni alternative per filtrare più criteri in Excel
I metodi sopra menzionati per filtrare più criteri sono abbastanza utili, ma con uno svantaggio , il FILTRO è disponibile solo in Office 365 .
Coloro che non hanno un Office 365 possono utilizzare questi metodi alternativi per filtrare alcuni dati con criteri multipli.
Per scoprire gli anni in cui Italia è stato il paese ospitante o campione utilizzare la formula seguente:
=IF((C5:C25="Italy")+(D5:D25="Italy"),B4:B24,"")
E per scoprire gli anni in cui Brasile è stato campione fino a 1970 , utilizzare questa formula:
=IF((B5:B25<=1970)*(D5:D25="Brazil"),B5:B25,"")
Nota: Non è possibile rimuovere le celle vuote come nel caso di FILTRO e premere il tasto Ctrl + Shift + Invio per inserire le formule.
Come utilizzare un filtro avanzato in Excel
Applicheremo criteri multipli su una colonna utilizzando dati calcolati Qui, stiamo per trovare prodotti consegnati con quantità superiore a 50 ma meno di 100 Per questo è necessario applicare il seguente formula . il formula è-
=IF(AND(E550),E5,FALSE)
L'output nella cella C16 è 55 come il la quantità consegnata diminuisce nel gamma .
Quindi, selezionare il Avanzato sotto il comando Ordinamento e filtro dalla finestra di dialogo Dati scheda.
Dopo di che, mettiamo il intero set di dati come il Gamma dell'elenco e cellule C15:C16 come il Gamma di criteri .
Infine, premere OK per vedere il risultato, cioè un elenco di prodotti consegnati avere un quantità nell'intervallo da 50 a 100.
Conclusione
Utilizzando questi metodi, è possibile filtrare qualsiasi dato mantenendo più criteri in Excel. Conoscete altri metodi? Fatecelo sapere nella sezione dei commenti.