Filtrera med flera kriterier i Excel (4 enkla sätt)

  • Dela Detta
Hugh West

Idag ska jag visa hur Excel filtrerar flera kriterier för matchande data med hjälp av FILTER-funktionen av Excel. Innan vi går över till huvuddiskussionen vill jag påminna er om en sak. FILTER funktionen är endast tillgänglig i Office 365 .

Ladda ner övningsboken

Filtrera flera värden.xlsx

Introduktion till FILTER-funktionen

Låt oss få en introduktion till Excels FILTER funktionen först för att filtrera flera kriterier.

Titta på datamängden nedan. Vi har årtal, årtal, Värdländer. , den mästarländer och länder som kommer på andra plats av alla de FIFA:s världsmästerskap i kolumner B, C, D, och E respektive.

Om jag nu frågar dig, vilka är de år då Brasilien blev mästare?

Vad ska du göra?

Du kommer förmodligen att gå igenom kolumnen D (Champion), och se om det finns en cell som innehåller en Brasilien i den eller inte.

När du sedan hittar en cell flyttar du dig två steg till vänster om den cellen till kolumnen B (År), och anteckna motsvarande år.

Sedan går du återigen ner genom kolumnen D och gör samma sak för alla celler som innehåller en Brasilien i den.

Du kommer alltså att anteckna alla år då Brasilien var mästare.

För en liten uppsättning data är detta OK Men kan du upprepa samma procedur för en stor mängd data, t.ex. 10000 rader?

Läs mer: Hur man filtrerar flera rader i Excel (11 lämpliga metoder)

Svaret är nej, ett stort nej.

Vad ska man då göra?

Microsoft Excel har en inbyggd funktion som heter FILTER för att utföra exakt samma uppgift åt dig.

FILTER funktionen tar tre argument, ett intervall av celler som kallas en matris , ett kriterium som kallas inkluderar, och ett värde som kallas if_empty som returneras om kriteriet inte uppfylls för någon cell.

Syntaxen för FILTER funktionen är:

=FILTER(array,include,[if_empty])

För att få en bättre förståelse, låt oss komma till Brasilien problem. Vi måste filtrera bort de år då Brasilien blev mästare.

Formeln för att åstadkomma detta kommer att vara följande:

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

Vi har alla de år då Brasilien blev mästare, 1958, 1962,1970, 1994, och 2002 (Färgad i bilden).

Låt oss för förståelsens skull dela upp formeln.

D5:D25="Brasilien" går igenom alla celler från D5 till D25 och returnerar en TRUE om den hittar en Brasilien , i annat fall FALSK .

Formeln FILTER(B5:B25,D5:D25="Brasilien","") blir då

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

För varje TRUE återges den intilliggande cellen från matrisen {B5,B6,B7,...,B25}

Och för en FALSK , det ger inget resultat, "" . (Detta är frivilligt. Standard är inget resultat, "" )

Det finns en TRUE endast för cellerna B9 , B10 , B12 , B18, och B20 .

Därför returneras endast innehållet i dessa celler, 1958, 1962, 1970, 1994 och 2002.

Det var under dessa år som Brasilien blev mästare.

Jag hoppas att du har förstått hur FILTER funktionen fungerar.

Om du förstår detta, kan du då säga mig hur man räknar ut de år då värdlandet blev mästare?

Ja, du har rätt, formeln är följande:

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

Värdlandet blev mästare i 1930, 1934, 1966, 1974, 1978, och 1998.

4 sätt att filtrera med flera kriterier i Excel

Nu har vi förstått hur FILTER Funktionen fungerar. Låt oss försöka tillämpa flera kriterier i funktionen den här gången. Här är en översikt över datasetet för dagens uppgift.

1. Filtrera flera värden av OR-typ

Låt oss först och främst fokusera på flera kriterier för ELLER Dessa är de kriterier som uppfylls när ett eller flera kriterier är uppfyllda.

Om jag till exempel frågar dig om du utifrån ovanstående uppgifter kan du berätta ett år när Argentina blev mästare eller . Västtyskland blev andraplats .

Du kan säga antingen 1978 , eller 1982 eller . 1986 .

Låt oss nu försöka filtrera bort alla de år då Italien var antingen värd eller mästare , eller båda Detta är ett problem för ELLER ange flera kriterier. Det är en enkel uppgift. Lägg bara till de två kriterierna med ett plus. (+) Följ instruktionerna nedan för att filtrera flera kriterier i Excel!

Steg:

  • Välj först och främst cell G5 , och skriv ner FILTER-funktionen i den cellen. Funktionen kommer att vara:
=FILTER(B5:B25,(C5:C25="Italy")+(D5:D25="Italy"))

  • Det är därför bara att trycka på Gå in på på ditt tangentbord. Som ett resultat får du de år då Italien var värd eller . mästare eller . båda som är en återgång av FILTER-funktionen .

Se, Italien var antingen värd eller mästare eller båda under åren 1934, 1938, 1982, 1990, och 2006.

Fördelning av formler

Låt oss för förståelsens skull dela upp formeln.

  • C5:C25="Italien" returnerar en matris av TRUE eller . FALSKT. TRUE när Italien var värd, FALSK annars.
  • D5:D25="Italien" returnerar också en matris av TRUE eller . FALSK . TRUE när Italien var mästare, FALSK annars.
  • (C5:C25="Italien")+(D5:D25="Italien") lägger till två matriser med boolska värden, TRUE och FALSK Men den tar hänsyn till varje TRUE som en 1 , och varje FALSK som en 0 .
  • Den returnerar alltså en 2 när båda kriterierna är uppfyllda, en 1 när endast ett kriterium är uppfyllt, och en 0 när inget kriterium är uppfyllt.

Formeln blir nu:

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

Tal som är större än noll (0 och 1 här) betraktas som TRUE och nollorna som FALSKT.

Så den returnerar åren från kolumnen B när den möter ett tal som är större än 0 och ger inget resultat i annat fall.

Om du nu förstår hur FILTER fungerar med flera kriterier av typen OR, kan du ge ett svar på en fråga?

Vilken formel kommer att användas för att filtrera bort de år då Brasilien blev mästare eller Italien blev andraplats eller båda?

Ja, du har rätt. Formeln blir:

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

2. Tillämpa FILTER-funktionen för AND-kriteriet.

Nu ska vi koncentrera oss på följande flera kriterier OCH Det innebär att vi måste uppfylla alla kriterier för att få en TRUE resultat, annars FALSK .

Vi vet att fram till året 1970 , den VM i fotboll kallades för "Jules Rimet" trofé. Efter 1970 började den kallas för VM i fotboll Min första fråga är därför: Vilka är de år då Brasilien vann den "Jules Rimet" trofé?

Det finns två kriterier här.

  • För det första måste året vara mindre än eller lika med 1970 .
  • För det andra, den mästare landet måste vara Brasilien .

Och båda kriterierna ska uppfyllas. Hur ska man klara av denna uppgift?

Det är ganska enkelt. Multiplicera de två kriterierna i FILTER funktion med en (*) Följ instruktionerna nedan för att filtrera flera kriterier i Excel!

Steg:

  • Välj först och främst cell G5 , och skriv ner FILTER-funktionen i den cellen. Funktionen kommer att vara:
=FILTER(B5:B25,(B5:B25<=1970)*(D5:D25="Brazil"))

Fördelning av formler

  • (B5:B25<=1970 returnerar en TRUE om året är 1970 eller mindre, annars FALSK .
  • (D5:D25="Brasilien") returnerar en TRUE om det land som är mästare är Brasilien, annars FALSKT.
  • (B5:B25<=1970)*(D5:D25="Brazil") multiplicerar två matriser av TRUE och FALSK , men betraktar varje TRUE som 1 och varje FALSK som 0 .
  • Så den returnerar en 1 om båda kriterierna är uppfyllda, annars returneras en 0.
  • Nu blir formeln: =FILTER({B4,B5,B6,...,B24},{0,0,...,1,1,...,0})
  • Den returnerar året i kolumnen B när den står inför en 1 och ger inget resultat när den möter en 0 .
  • Det är därför bara att trycka på Gå in på på ditt tangentbord. Som ett resultat får du åren när Brasilien var den mästare av den "Jules Rimet" trofé som är en återkomst av FILTER-funktionen . Se, upp till 1970 , Brasilien vann tre gånger , i 1958, 1962, och 1970 .

På så sätt kan vi filtrera alla data som uppfyller flera kriterier för OCH typ.

Kan du nu ge mig formeln för att ta reda på åren före 2000 när Brasilien var mästare och Italien var tvåa?

Formeln kommer att vara följande:

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

Liknande läsningar:

  • Använd flera filter i Excel [Metoder + VBA]
  • Hur man filtrerar data i Excel med hjälp av en formel
  • Excel filtrera data baserat på cellvärde (6 effektiva sätt)

3. Filtrera flera kriterier med en kombination av typerna AND och OR i Excel

Fall 1: RUP inom RUP

Om jag nu frågar dig en sak, vilka är de år då en Sydamerika land ( Brasilien, Argentina eller Uruguay ) var antingen mästare eller . andraplats ?

Kan du svara på min fråga?

Observera noga: Här måste mästarlandet vara Brasilien, Argentina, eller . Uruguay Eller så måste det land som kommer på andra plats vara Brasilien, Argentina eller Uruguay . eller båda. Detta är ett problem med OR inom OR-typ. Oroa dig inte, följ bara instruktionerna nedan för att filtrera flera kriterier i Excel!

Steg:

  • Välj först och främst cell G5 , och skriv ner funktionerna i den cellen. Funktionerna kommer att vara:
=FILTER(B5:B25,(ISNUMBER(MATCH(D5:D25,{"Brasilien", "Argentina", "Uruguay"},0)))+ (ISNUMBER(MATCH(E5:E25,{"Brasilien", "Argentina", "Uruguay"},0))))

Fördelning av formler

  • MATCH(D4:D24,{"Brasilien", "Argentina", "Uruguay"},0) returnerar 1 om mästarlaget är Brasilien, 2 om mästarlaget är Argentina, 3 om mästarlaget är Uruguay, och ett fel (N/A) om det vinnande laget inte är något av dem.
  • ISNUMBER(MATCH(D4:D24,{"Brasilien", "Argentina", "Uruguay"},0)) omvandlar siffrorna till TRUE och felen i FALSK .
  • På samma sätt, ISNUMBER(MATCH(E4:E24,{"Brasilien", "Argentina", "Uruguay"},0)) returnerar en TRUE om det andra landet är Brasilien, Argentina eller Uruguay. FALSK
  • Så, (ISNUMBER(MATCH(D4:D24,{"Brasilien", "Argentina", "Uruguay"},0)))+(ISNUMBER(MATCH(E4:E24,{"Brasilien", "Argentina", "Uruguay"},0))) returnerar en 1 eller . 2 om ett sydamerikanskt land blir mästare eller tvåa, eller båda.
  • Annars returneras noll.
  • Formeln blir: =FILTER({B4,B5,...,B24},{2,0,0,2,...,1,0})
  • Den returnerar ett år från kolumnen B om den hittar ett tal som är större än noll, och återger inget resultat annars.
  • Det är därför bara att trycka på Gå in på på tangentbordet. Som ett resultat får du årtalen när en Sydamerika land ( Brasilien, Argentina eller Uruguay ) var antingen mästare eller . andra plats. Vi har hittat alla år då ett sydamerikanskt land har varit mästare eller tvåa.

Fall 2: OR inom AND

Om du förstår formeln ovan, kan du då ange formeln för att bestämma de år då både mästare och andrapristagare var från Sydamerika (Brasilien, Argentina, eller . Uruguay) ?

Det är ganska enkelt. (+) tecken i den föregående formeln med ett (*) funktionerna är:

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

Dessa har bara inträffat två gånger, 1930 och 1950.

4. Använd FILTER-funktionen i flera kolumner

Om ni nu tittar närmare på detta, kommer ni att upptäcka att fram till och med året 1990 , fanns det ett land som hette Västtyskland . Och efter 1990 , det finns ingen Västtyskland . Vad finns det? Tyskland De två är faktiskt från samma land. 1990 , den två Tyskland (Östtyskland) och väst) förenade till det nuvarande Tyskland.

Kan du nu identifiera de år då Tyskland var den mästare ? Ingen fråga Öst eller . West .

Du måste använda FILTER-funktionen i flera kolumner.

Formeln kommer att vara följande:

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

Fördelning av formler

  • SEARCH("*Tyskland",D5:D25) söker efter allt som har Tyskland i slutet i matrisen D5 till D25 . Om du behöver Tyskland i mitten, använder du "*Tyskland*".
  • Den returnerar en 1 om den hittar en träff (Västtyskland och Tyskland) och returnerar en Fel
  • ISNUMBER(SEARCH("*Tyskland",D5:D25)) omvandlar 1:orna till TRUE , och felen i FALSK .
  • Slutligen, FILTER(B5:B25,ISNUMBER(SEARCH("*Tyskland",D5:D25))) returnerar åren från kolumnen B när den står inför en TRUE , annars får du inget resultat.
  • Se Tyskland var mästare 4 gånger . 3 gånger genom att Västtyskland och 1 tid genom nutid Tyskland .

Om du nu förstår denna formel, kan du då ta reda på vilka år då VM i fotboll var värd för två länder ?

Jag ger dig en ledtråd. Det måste finnas en " och " i värdlandets namn. ( "och" mellan två utrymmen)

Ja, du har rätt. Formeln blir:

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

Nu ser vi att detta bara hände en gång i 2002 , med värdskap av Sydkorea och Japan .

Alternativa alternativ för att filtrera flera kriterier i Excel

De metoder som nämns ovan för att filtrera flera kriterier är mycket användbara. Men med en nackdel , den FILTER funktionen är endast tillgänglig i Office 365 .

De som inte har en Office 365 prenumeration, kan du använda dessa alternativa metoder för att filtrera data med flera kriterier.

För att ta reda på när Italien var den värdland eller mästare , använd nedanstående formel:

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

Och för att ta reda på när Brasilien var mästare upp till 1970 , använd denna formel:

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

Observera: Du kan inte ta bort de tomma cellerna som i FILTER funktion på detta sätt. Och tryck på Ctrl + Shift + Enter för att ange formlerna.

Hur man använder avancerade filter i Excel

Vi tillämpar flera kriterier en kolumn med hjälp av beräknade uppgifter Här kommer vi att hitta levererade produkter med kvantitet mer än 50 men mindre än 100 För detta behöver vi tillämpa följande formel . formel is-

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

Utgången i cellen C16 är 55 som den levererade kvantiteten sjunker i den sortiment .

Välj därför den Avancerad under kommandot Sortera & Filtrera alternativ från Uppgifter fliken.

Därefter lägger vi in hela datasetet som Lista över intervall och celler C15:C16 som Kriterieområde .

Slutligen trycker du på OK för att se resultat, dvs. en förteckning över levererade produkter som har en kvantitet i intervallet från 50 till 100.

Slutsats

Med hjälp av dessa metoder kan du filtrera ut data genom att upprätthålla flera kriterier i Excel. Känner du till någon annan metod? Låt oss veta det i kommentarsfältet.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.