Cum se filtrează cu criterii multiple în Excel (4 moduri simple)

  • Imparte Asta
Hugh West

Astăzi vă voi arăta cum Excel filtrează mai multe criterii de filtrare a unor date potrivite folosind funcția FILTRUL de Excel. Înainte de a trece la discuția principală, aș dori să vă reamintesc un lucru: Sistemul de FILTRU este disponibilă numai în Office 365 .

Descărcați caietul de practică

Filtrarea valorilor multiple.xlsx

Introducere în funcția FILTER

Să facem cunoștință cu Excel's FILTRU pentru a filtra mai întâi mai multe criterii.

Uitați-vă la setul de date de mai jos. Avem anii, anii țările gazdă , a țările campioane , iar țările finaliste a tuturor Cupele Mondiale FIFA în coloane B, C, D, și E respectiv.

Acum, dacă vă întreb, care sunt anii în care Brazilia a devenit campion?

Ce vei face?

Veți trece probabil prin coloana D (Champion), și să vedem dacă există o celulă care conține un Brazilia în ea sau nu.

Apoi, când găsești una, te vei muta cu doi pași în stânga acelei celule, în coloana B (Anul) și notați anul corespunzător.

Și apoi veți coborî din nou prin coloana D și se face același lucru pentru toate celulele care conțin un Brazilia în ea.

Astfel, veți nota toți anii în care Brazilia a fost campion.

Pentru un set mic de date, acest lucru este OK Dar poți repeta aceeași procedură pentru un set mare de date, gândește-te, de 10000 rânduri?

Citește mai mult: Cum să filtrați mai multe rânduri în Excel (11 abordări adecvate)

Răspunsul este nu, un mare nu.

Deci, ce să facem?

Microsoft Excel aduce o funcție încorporată numită FILTRU pentru a îndeplini exact aceeași sarcină pentru dumneavoastră.

The FILTRU primește trei argumente, un interval de celule numit anvelopă array , un criteriu numit includ, și o valoare numită if_empty care este returnat în cazul în care criteriul nu este îndeplinit pentru nicio celulă.

Deci, sintaxa din FILTRU funcția este:

=FILTER(array,include,[if_empty])

Pentru o mai bună înțelegere, să trecem la Brazilia Trebuie să filtrăm anii în care Brazilia a devenit campion.

Formula pentru a realiza acest lucru va fi:

=FILTER(B5:B25,D5:D25="Brazil","")

Vezi, avem toți anii în care Brazilia a devenit campion, 1958, 1962,1970, 1994, și 2002 (Colorat în imagine).

Acum, de dragul înțelegerii, haideți să defalcăm formula.

D5:D25="Brazilia" trece prin toate celulele de la D5 la D25 și returnează un ADEVĂRAT dacă găsește un Brazilia , în caz contrar FALSE .

Formula FILTER(B5:B25,D5:D25="Brazilia",""") atunci devine

=FILTER({B5,B6,B7,...,B25},{FALSE,FALSE,...,TRUE,...,FALSE},"")

Pentru fiecare ADEVĂRAT , se returnează celula adiacentă din matrice {B5,B6,B7,...,B25}

Și pentru un FALSE , acesta nu returnează niciun rezultat, "" . (Acest lucru este opțional. În mod implicit, nu se obține niciun rezultat, "" )

Există un ADEVĂRAT numai pentru celulele B9 , B10 , B12 , B18, și B20 .

Astfel, se returnează doar conținutul acestor celule, 1958, 1962, 1970, 1994 și 2002.

Aceștia sunt anii în care Brazilia a devenit campioană.

Sper că ați înțeles cum funcționează FILTRU funcționează.

Acum, dacă ați înțeles acest lucru, îmi puteți spune formula pentru a afla anii în care țara gazdă a devenit campioană?

Da, ai dreptate, formula este:

=FILTER(B5:B25,C5:C25=D5:D25,””)

Vezi, țara gazdă a devenit campioană în 1930, 1934, 1966, 1974, 1978, și 1998.

4 moduri de a filtra cu criterii multiple în Excel

Acum, am înțeles cum se face FILTRU Să încercăm de data aceasta să aplicăm mai multe criterii în cadrul funcției. Iată o prezentare generală a setului de date pentru sarcina de astăzi.

1. Filtrați valorile multiple de tip OR

În primul rând, să ne concentrăm pe mai multe criterii de OR Acestea sunt criteriile care sunt îndeplinite atunci când unul sau mai multe criterii sunt îndeplinite.

De exemplu, din setul de date de mai sus, dacă vă întreb, spuneți-mi un an în care Argentina a devenit campion sau Germania de Vest a devenit vicecampioni .

Puteți spune fie 1978 , sau 1982 sau 1986 .

Acum, să încercăm să filtrați toți anii în care Italia a fost fie gazdă sau campion , sau ambele Aceasta este o problemă de OR este o sarcină ușoară. Trebuie doar să adăugați cele două criterii cu semnul "plus". (+) semn. Să urmăm instrucțiunile de mai jos pentru a filtra mai multe criterii în Excel!

Pași:

  • Mai întâi de toate, selectați celula G5 , și scrieți funcția FILTRUL în acea celulă. Funcția va fi:
=FILTER(B5:B25,(C5:C25="Italy")+(D5:D25="Italy"))

  • Prin urmare, trebuie doar să apăsați Introduceți Ca rezultat, veți obține anii în care Italia a fost gazdă sau campion sau ambele care reprezintă returnarea funcția FILTRUL .

A se vedea, Italia a fost fie gazdă, fie campioană, fie ambele în anii 1934, 1938, 1982, 1990, și 2006.

Repartizarea formulei

Acum, de dragul înțelegerii, să descompunem formula.

  • C5:C25="Italia" returnează o matrice de ADEVĂRAT sau FALSE. ADEVĂRAT când Italia a fost gazdă, FALSE altfel.
  • D5:D25="Italia" returnează, de asemenea, o matrice de ADEVĂRAT sau FALSE . ADEVĂRAT când Italia era campioană, FALSE altfel.
  • (C5:C25="Italia")+(D5:D25="Italia") adună două rețele de valori booleene, ADEVĂRAT și FALSE Dar consideră că fiecare ADEVĂRAT ca un 1 , și fiecare FALSE ca un 0 .
  • Deci, se returnează un 2 atunci când ambele criterii sunt îndeplinite, a 1 atunci când este îndeplinit un singur criteriu, iar un 0 atunci când niciun criteriu nu este îndeplinit.

Formula devine acum:

=FILTER({B5,B6,B7,...,B25},{0,2,1,...,0})

Acesta consideră numerele mai mari decât zero (aici 0 și 1) ca fiind ADEVĂRAT și zerourile ca FALSE.

Deci, se returnează anii din coloana B atunci când se confruntă cu un număr mai mare decât 0 și nu returnează niciun rezultat în caz contrar.

Acum, dacă înțelegeți cum se face FILTRU Funcția funcționează cu mai multe criterii de tip OR, puteți da un răspuns la o întrebare?

Care va fi formula de filtrare a anilor în care Brazilia a devenit campioană sau Italia a devenit campioană. vicecampioni sau ambele?

Da, aveți dreptate. Formula va fi:

=FILTER(B5:B25,(D5:D25="Brazil")+(E5:E25="Italy"))

2. Aplicați funcția FILTER pentru criteriul AND

Acum ne vom concentra asupra criterii multiple de ȘI Asta înseamnă că trebuie să îndeplinim toate criteriile pentru a obține un tip de ADEVĂRAT rezultat, în caz contrar FALSE .

Știm că, până în anul 1970 , a Cupa Mondială FIFA a fost numit "Jules Rimet" trofeu. După 1970 , a început să fie numit Cupa Mondială FIFA Deci, prima mea întrebare este, care sunt anii în care... Brazilia a câștigat premiul "Jules Rimet" trofeu?

Există două criterii aici.

  • În primul rând, anul trebuie să fie mai mic sau egal cu 1970 .
  • În al doilea rând, se campion țară trebuie să fie Brazilia .

Și ambele criterii trebuie îndeplinite. Cum se poate îndeplini această sarcină?

Destul de simplu. Înmulțiți cele două criterii din interiorul FILTRU cu o funcție (*) Să urmăm instrucțiunile de mai jos pentru a filtra mai multe criterii în Excel!

Pași:

  • Mai întâi de toate, selectați celula G5 , și scrieți funcția FILTRUL în acea celulă. Funcția va fi:
=FILTER(B5:B25,(B5:B25<=1970)*(D5:D25="Brazil"))

Repartizarea formulei

  • (B5:B25<=1970 returnează un ADEVĂRAT dacă anul este mai mic sau egal cu 1970, în caz contrar FALSE .
  • (D5:D25="Brazilia") returnează un ADEVĂRAT dacă țara campioană este Brazilia, în caz contrar FALSE.
  • (B5:B25<=1970)*(D5:D25="Brazil") înmulțește două matrici de ADEVĂRAT și FALSE , dar consideră că fiecare ADEVĂRAT ca 1 și fiecare FALSE ca 0 .
  • Deci, se returnează un 1 dacă ambele criterii sunt îndeplinite, în caz contrar se returnează un 0.
  • Acum formula devine: =FILTER({B4,B5,B6,...,B24},{0,0,...,1,1,...,0})
  • Se returnează anul în coloana B atunci când se confruntă cu un 1 și nu returnează niciun rezultat atunci când se confruntă cu un 0 .
  • Prin urmare, trebuie doar să apăsați Introduceți pe tastatură. Ca urmare, veți obține anii când Brazilia a fost campion a "Jules Rimet" trofeu care reprezintă întoarcerea funcția FILTRUL . vedeți, până la 1970 , Brazilia a câștigat de trei ori , în 1958, 1962, și 1970 .

Astfel, putem filtra orice date care îndeplinesc mai multe criterii de ȘI tip.

Acum poți să-mi spui formula pentru a afla anii de dinaintea 2000 când Brazilia a fost campioană și Italia a fost vicecampioană?

Formula va fi:

=FILTER(B5:B25,(B5:B25<2000)*(D5:D25="Brazil")*(E5:E25="Italy"))

Lecturi similare:

  • Aplicați filtre multiple în Excel [Metode + VBA]
  • Cum se filtrează datele în Excel folosind Formula
  • Excel Filtrează datele pe baza valorii celulei (6 moduri eficiente)

3. Filtrarea criteriilor multiple cu combinația de tipuri AND și OR în Excel

Cazul 1: OR în cadrul OR

Acum, dacă vă pun o întrebare, care sunt anii în care un America de Sud țară ( Brazilia, Argentina sau Uruguay ) a fost fie campion sau vicecampioni ?

Puteți răspunde la întrebarea mea?

Observați cu atenție: aici, țara campioană trebuie să fie Brazilia, Argentina, sau Uruguay Sau țara care va fi pe locul al doilea trebuie să fie Brazilia, Argentina sau Uruguay . sau ambele. Aceasta este o problemă de tip OR în OR. Nu vă faceți griji, urmați instrucțiunile de mai jos pentru a filtra mai multe criterii în Excel!

Pași:

  • Mai întâi de toate, selectați celula G5 , și scrieți funcțiile în acea celulă. Funcțiile vor fi:
=FILTER(B5:B25,(ISNUMBER(MATCH(D5:D25,{"Brazil", "Argentina", "Uruguay"},0)))+ (ISNUMBER(MATCH(E5:E25,{"Brazil", "Argentina", "Uruguay"},0))))

Repartizarea formulei

  • MATCH(D4:D24,{"Brazilia", "Argentina", "Uruguay"},0) returnează 1 în cazul în care echipa campioană este Brazilia, 2 în cazul în care echipa campioană este Argentina, 3 în cazul în care echipa campioană este Uruguay, și o eroare (N/A) dacă echipa campioană nu este niciuna dintre ele.
  • ISNUMBER(MATCH(D4:D24,{"Brazilia", "Argentina", "Uruguay"},0)) convertește numerele în ADEVĂRAT și erorile în FALSE .
  • În mod similar, ISNUMBER(MATCH(E4:E24,{"Brazilia", "Argentina", "Uruguay"},0)) returnează un ADEVĂRAT în cazul în care țara care se clasează pe locul doi este Brazilia, Argentina sau Uruguay. Și FALSE
  • Deci, (ISNUMBER(MATCH(D4:D24,{"Brazil", "Argentina", "Uruguay"},0)))+(ISNUMBER(MATCH(E4:E24,{"Brazil", "Argentina", "Uruguay"},0))) returnează un 1 sau 2 dacă o țară din America de Sud este campioană, sau vicecampioană, sau ambele.
  • În caz contrar, se returnează zero.
  • Formula devine: =FILTER({B4,B5,...,B24},{2,0,0,2,...,1,0})
  • Se returnează un an din coloana B dacă găsește un număr mai mare decât zero și nu returnează niciun rezultat în caz contrar.
  • Prin urmare, trebuie doar să apăsați Introduceți de pe tastatură. Ca urmare, veți obține anii în care un America de Sud țară ( Brazilia, Argentina sau Uruguay ) a fost fie campion sau vicecampioni. Vedeți, am găsit toți anii în care o țară sud-americană a fost fie campioană, fie vicecampioană.

Cazul 2: OR în cadrul AND

Dacă ați înțeles formula de mai sus, puteți spune formula pentru a determina anii în care ambele campion și vicecampioni au fost de la America de Sud (Brazilia, Argentina, sau Uruguay) ?

Destul de ușor. (+) din formula anterioară cu un semn (*) semn. Funcțiile sunt:

=FILTER(B4:B24,(ISNUMBER(MATCH(D4:D24,{"Brazil", "Argentina", "Uruguay"},0)))*(ISNUMBER(MATCH(E4:E24,{"Brazil", "Argentina", "Uruguay"},0))))

Vedeți, acestea s-au întâmplat doar de două ori, în 1930 și 1950.

4. Utilizați funcția FILTER în mai multe coloane

Acum, dacă observați cu mai multă atenție, veți constata că până în anul 1990 , a existat o țară numită Germania de Vest Și după 1990 , nu există Germania de Vest . ceea ce este Germania Cei doi sunt de fapt din aceeași țară. În 1990 , a două Germania (de Est și Vest) unite pentru a forma Germania actuală.

Acum puteți identifica anii în care Germania a fost campion ? Nu contează Est sau Vest .

Trebuie să utilizați funcția FILTRUL în mai multe coloane.

Formula va fi:

=FILTER(B5:B25,ISNUMBER(SEARCH("*Germania",D5:D25)))

Repartizarea formulei

  • SEARCH("*Germania",D5:D25) caută orice lucru care are Germania la sfârșit în matrice D5 la D25 Dacă aveți nevoie de Germania la mijloc, utilizați "*Germania*".
  • Acesta returnează un 1 dacă găsește o corespondență (Germania de Vest și Germania) și returnează un cod Eroare
  • ISNUMBER(SEARCH("*Germania",D5:D25)) convertește 1-urile în ADEVĂRAT , iar erorile în FALSE .
  • În cele din urmă, FILTER(B5:B25,ISNUMBER(SEARCH("*Germania",D5:D25))) returnează anii din coloana B atunci când se confruntă cu un ADEVĂRAT , în caz contrar, nu returnează niciun rezultat.
  • Vezi Germania a fost campioană 4 ori . 3 ori de Germania de Vest și 1 timp prin prezent Germania .

Acum, dacă înțelegeți această formulă, puteți afla anii în care a avut loc Cupa Mondială FIFA a fost găzduit de două țări ?

Îți dau un indiciu. Trebuie să existe un indiciu. " și " în numele țării gazdă. ( "și" între două spații)

Da, aveți dreptate. Formula va fi:

=FILTER(B5:B25,ISNUMBER(SEARCH("* și *",C5:C25)))

Acum, vedem că acest lucru s-a întâmplat o singură dată în 2002 , găzduit de Coreea de Sud și Japonia .

Opțiuni alternative pentru a filtra mai multe criterii în Excel

Metodele menționate mai sus despre filtrarea mai multor criterii sunt destul de utile. Dar cu un dezavantaj , a FILTRU este disponibilă doar în Office 365 .

Cei care nu au un Office 365 poate utiliza aceste metode alternative pentru a filtra unele date cu mai multe criterii.

Pentru a afla anii în care Italia a fost țara gazdă sau campioană , utilizați formula de mai jos:

=IF((C5:C25="Italy")+(D5:D25="Italy"),B4:B24,"")

Și pentru a afla anii în care Brazilia a fost campion până la 1970 , folosiți această formulă:

=IF((B5:B25<=1970)*(D5:D25="Brazil"),B5:B25,"")

Notă: Nu se pot elimina celulele goale, cum ar fi FILTRU în acest fel. și apăsați Ctrl + Shift + Enter pentru a introduce formulele.

Cum se utilizează filtrul avansat în Excel

Vom aplica criterii multiple pe o coloană folosind date calculate Aici, o să găsiți produse livrate cu cantitate mai mare de 50 dar mai puțin de 100 Pentru aceasta, trebuie să aplică următoarele formula . formula is-

=IF(AND(E550),E5,FALSE)

Rezultatul din celula C16 este 55 ca cantitatea livrată scade în gama .

Prin urmare, selectați Avansat sub comanda Sortare & Filtrare opțiuni din Date tab.

După aceea, am pus întregul set de date ca Intervalul listei și celule C15:C16 ca Gama de criterii .

În cele din urmă, apăsați OK pentru a vedea rezultat, și anume, o listă de produse livrate având un cantitate în intervalul de la 50 la 100.

Concluzie

Folosind aceste metode, puteți filtra orice date prin menținerea mai multor criterii în Excel. Cunoașteți alte metode? Spuneți-ne în secțiunea de comentarii.

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.