Indholdsfortegnelse
I dag vil jeg vise dig, hvordan Excel filtrerer flere kriterier for nogle matchende data ved hjælp af funktionen FILTER af Excel. Før jeg går over til hoveddiskussionen, vil jeg gerne minde jer om én ting. FILTER funktionen er kun tilgængelig i Office 365 .
Download arbejdsbog til øvelser
Filtrere flere værdier.xlsxIntroduktion til FILTER-funktionen
Lad os blive introduceret til Excel's FILTER funktionen først for at filtrere flere kriterier.
Se på datasættet nedenfor. Vi har årene, de værtslande , den mesterlande , og den næstsidste lande af alle de FIFA verdensmesterskaber i kolonner B, C, D, og E henholdsvis.
Hvis jeg nu spørger dig, hvilke år er der, hvor Brasilien blev mester?
Hvad vil du gøre?
Du vil sandsynligvis gå gennem kolonne D (Champion), og se, om der er en celle, der indeholder en Brasilien i det eller ej.
Når du så finder en celle, flytter du to trin til venstre for denne celle til kolonne B (år), og noter det tilsvarende år.
Og så vil du igen gå ned gennem kolonnen D og gør det samme for alle de celler, der indeholder en Brasilien i den.
Du vil således notere alle de år, hvor Brasilien var mesteren.
For et lille datasæt er dette OK Men kan du gentage den samme procedure for et stort datasæt, tænk på, om du kan 10000 rækker?
Læs mere: Sådan filtreres flere rækker i Excel (11 egnede fremgangsmåder)
Svaret er nej, et stort nej.
Hvad skal man så gøre?
Microsoft Excel indeholder en indbygget funktion kaldet FILTER til at udføre præcis den samme opgave for dig.
FILTER funktionen tager tre argumenter, et område af celler kaldet en array , et kriterium kaldet omfatter, og en værdi kaldet if_empty der returneres, hvis kriteriet ikke er opfyldt for nogen celle.
Så syntaksen for FILTER funktion er:
=FILTER(array,include,[if_empty])
For at få en bedre forståelse, lad os komme til den Brasilien problem. Vi er nødt til at filtrere de år ud, hvor Brasilien blev mester.
Formlen for at opnå dette vil være:
=FILTER(B5:B25,D5:D25="Brazil","")
Se, vi har fået alle de år, hvor Brasilien blev mester, 1958, 1962,1970, 1994, og 2002 (Farvelagt i billedet).
Lad os nu for forståelsens skyld opdele formlen.
D5:D25="Brasilien" går gennem alle cellerne fra D5 til D25 og returnerer en TRUE hvis den finder en Brasilien , ellers FALSK .
Formlen FILTER(B5:B25,D5:D25="Brasilien","") bliver så til
=FILTER({B5,B6,B7,...,B25},{FALSE,FALSE,...,TRUE,...,FALSE,...,FALSE},""")
For hver TRUE , returnerer den den tilstødende celle fra arrayet {B5,B6,B7,...,B25}
Og for en FALSK , giver det intet resultat, "" . (Dette er valgfrit. Standard er intet resultat, "" )
Der er en TRUE kun for de celler B9 , B10 , B12 , B18, og B20 .
Så den returnerer kun indholdet af disse celler, 1958, 1962, 1970, 1994 og 2002.
Det er de år, hvor Brasilien blev mester.
Jeg håber, du har forstået, hvordan den FILTER funktionen fungerer.
Hvis du forstår dette, kan du så fortælle mig formlen for at finde ud af, i hvilke år værtslandet blev mester?
Ja, du har ret, formlen er som følger:
=FILTER(B5:B25,C5:C25=D5:D25,””)
Se, værtslandet blev mester i 1930, 1934, 1966, 1974, 1978, og 1998.
4 måder at filtrere med flere kriterier i Excel på
Nu har vi forstået, hvordan den FILTER Lad os prøve at anvende flere kriterier i funktionen denne gang. Her er en oversigt over datasættet til dagens opgave.
1. Filtrer flere værdier af typen OR
Lad os først og fremmest fokusere på flere kriterier for ELLER type. Det er de kriterier, der er opfyldt, når et eller flere kriterier er opfyldt.
Hvis jeg f.eks. ud fra ovenstående datasæt spørger dig, om du kan fortælle mig et år, hvor Argentina blev mester eller Vesttyskland blev andenpladsen .
Du kan fortælle enten 1978 , eller 1982 eller 1986 .
Lad os nu prøve at filtrere ud alle de år, hvor Italien var enten den vært eller eller mester , eller begge Det er et problem, som ELLER skrive flere kriterier. Det er en nem opgave. Du skal blot tilføje de to kriterier med et plus (+) Lad os følge instruktionerne nedenfor for at filtrere flere kriterier i Excel!
Trin:
- Først og fremmest skal du vælge celle G5 , og skriv ned funktionen FILTER i den pågældende celle. Funktionen vil være:
=FILTER(B5:B25,(C5:C25="Italy")+(D5:D25="Italy"))
- Derfor skal du blot trykke på Gå ind på på dit tastatur. Resultatet vil være, at du får de år, hvor Italien var den vært eller mester eller begge som er et afkast af funktionen FILTER .
Se, Italien var enten vært eller mester eller begge dele i de år 1934, 1938, 1982, 1990, og 2006.
Opdeling af formler
Lad os nu for forståelsens skyld opdele formlen.
- C5:C25="Italien" returnerer et array af TRUE eller FALSK. TRUE da Italien var vært, FALSK ellers.
- D5:D25="Italien" returnerer også et array af TRUE eller FALSK . TRUE da Italien var mester, FALSK ellers.
- (C5:C25="Italien")+(D5:D25="Italien") tilføjer to arrays med boolske værdier, TRUE og FALSK Men den tager hensyn til hver enkelt TRUE som en 1 , og hver FALSK som en 0 .
- Så den returnerer en 2 når begge kriterier er opfyldt, en 1 når kun ét kriterium er opfyldt, og en 0 når intet kriterium er opfyldt.
Formlen bliver nu:
=FILTER({B5,B6,B7,...,B25},{0,2,1,...,0})
Den betragter tal større end nul (her 0 og 1) som TRUE og nulpunkterne som FALSK.
Så den returnerer årene fra kolonnen B når den står over for et tal, der er større end 0 og returnerer intet resultat i modsat fald.
Hvis du nu forstår, hvordan den FILTER funktionen fungerer med flere kriterier af typen OR, kan du give et svar på et spørgsmål?
Hvordan vil man filtrere de år fra, hvor Brasilien blev mester eller Italien blev andenpladsen eller begge dele?
Ja, du har ret, formlen vil være:
=FILTER(B5:B25,(D5:D25="Brazil")+(E5:E25="Italy"))
2. Anvend FILTER-funktionen til AND-kriteriet
Nu skal vi fokusere på flere kriterier på OG Det betyder, at vi skal opfylde alle kriterierne for at få en TRUE resultat, ellers FALSK .
Vi ved, at indtil året 1970 , den FIFA verdensmesterskab blev kaldt den "Jules Rimet" trofæ. Efter 1970 , begyndte den at blive kaldt den FIFA verdensmesterskab Så mit første spørgsmål er, hvilke år er det, hvor Brasilien vandt den "Jules Rimet" trofæ?
Der er to kriterier her.
- For det første skal året være mindre end eller lig med 1970 .
- For det andet, den mester land skal være Brasilien .
Og begge kriterier skal være opfyldt. Hvordan kan man løse denne opgave?
Det er ganske enkelt. Multiplicer de to kriterier inden for FILTER funktion med en (*) Lad os følge instruktionerne nedenfor for at filtrere flere kriterier i Excel!
Trin:
- Først og fremmest skal du vælge celle G5 , og skriv ned funktionen FILTER i den pågældende celle. Funktionen vil være:
=FILTER(B5:B25,(B5:B25<=1970)*(D5:D25="Brazil"))
Opdeling af formler
(B5:B25<=1970
returnerer en TRUE hvis året er mindre end eller lig med 1970, ellers FALSK .(D5:D25="Brasilien")
returnerer en TRUE hvis mesterlandet er Brasilien, ellers FALSK.(B5:B25<=1970)*(D5:D25="Brazil")
multiplicerer to arrays af TRUE og FALSK , men anser hver enkelt TRUE som 1 og hver FALSK som 0 .- Så den returnerer en 1 hvis begge kriterier er opfyldt, ellers returneres en 0.
- Nu bliver formlen:
=FILTER({B4,B5,B6,...,B24},{0,0,...,1,1,...,0})
- Den returnerer året i kolonnen B når den står over for en 1 og returnerer intet resultat, når den står over for en 0 .
- Derfor skal du blot trykke på Indtast på dit tastatur. Som følge heraf vil du få årene, når Brasilien var den mester af den "Jules Rimet" trofæ, som er tilbagelevering af funktionen FILTER . se, op til 1970 , Brasilien vandt tre gange , i 1958, 1962, og 1970 .
Vi kan således filtrere alle data, der opfylder flere kriterier i OG type.
Kan du nu fortælle mig formlen til at finde ud af årene før 2000 når Brasilien blev mester og Italien blev nummer to?
Formlen vil være:
=FILTER(B5:B25,(B5:B25<2000)*(D5:D25="Brazil")*(E5:E25="Italy"))
Lignende læsninger:
- Anvend flere filtre i Excel [Metoder + VBA]
- Sådan filtreres data i Excel ved hjælp af formel
- Excel-filter data baseret på celleværdi (6 effektive måder)
3. Filtrer flere kriterier med en kombination af AND og OR-typer i Excel
Case 1: RUP i RUP
Hvis jeg nu stiller dig et spørgsmål, hvilke år er det så, at en Sydamerikansk land ( Brasilien, Argentina eller Uruguay ) var enten mester eller andenpladsen ?
Kan du give mig et svar på mit spørgsmål?
Bemærk omhyggeligt. Her skal mesterlandet være Brasilien, Argentina, eller Uruguay Eller det land, der kommer på andenpladsen, skal være Brasilien, Argentina eller Uruguay Eller begge dele. Dette er et problem med OR inden for OR-typen. Du skal ikke bekymre dig, men blot følge nedenstående vejledning for at filtrere flere kriterier i Excel!
Trin:
- Først og fremmest skal du vælge celle G5 , og skriv ned funktionerne i den pågældende celle. Funktionerne vil være:
=FILTER(B5:B25,(ISNUMBER(MATCH(D5:D25,{"Brasilien", "Argentina", "Uruguay"},0))))+ (ISNUMBER(MATCH(E5:E25,{"Brasilien", "Argentina", "Uruguay"},0))))
Opdeling af formler
MATCH(D4:D24,{"Brasilien", "Argentina", "Uruguay"},0)
returnerer 1 hvis det vindende hold er Brasilien, 2 hvis det vindende hold er Argentina, 3 hvis mesterholdet er Uruguay, og en fejl (N/A) hvis mesterholdet ikke er nogen af dem.ISNUMBER(MATCH(D4:D24,{"Brasilien", "Argentina", "Uruguay"},0))
konverterer tallene til TRUE og fejlene i FALSK .- På samme måde,
ISNUMBER(MATCH(E4:E24,{"Brasilien", "Argentina", "Uruguay"},0))
returnerer en TRUE hvis det næstsidste land er enten Brasilien, Argentina eller Uruguay, og FALSK - Så,
(ISNUMBER(MATCH(D4:D24,{"Brasilien", "Argentina", "Uruguay"},0))))+(ISNUMBER(MATCH(E4:E24,{"Brasilien", "Argentina", "Uruguay"},0)))
returnerer en 1 eller 2 hvis enten et sydamerikansk land bliver mester eller nummer to eller begge dele. - og returnerer ellers nul.
- Formlen bliver:
=FILTER({B4,B5,...,B24},{2,0,0,2,...,1,0})
- Den returnerer et år fra kolonnen B hvis den finder et tal større end nul, og returnerer ellers intet resultat.
- Derfor skal du blot trykke på Indtast på dit tastatur. Som følge heraf vil du få de år, når en Sydamerikansk land ( Brasilien, Argentina eller Uruguay ) var enten mester eller andenpladser. Vi har fundet alle de år, hvor et sydamerikansk land har været enten mester eller nummer to.
Tilfælde 2: OR i AND
Hvis du forstår ovenstående formel, kan du så fortælle formlen til at bestemme de år, hvor både mester og andenpladser var fra Sydamerika (Brasilien, Argentina, eller Uruguay) ?
Det er ret nemt. Du skal blot udskifte (+) tegn i den foregående formel med et (*) funktionerne er:
=FILTER(B4:B24,(ISNUMBER(MATCH(D4:D24,{"Brasilien", "Argentina", "Uruguay"},0))))*(ISNUMBER(MATCH(E4:E24,{"Brasilien", "Argentina", "Uruguay"},0))))
Se, det skete kun to gange, i 1930 og 1950.
4. Udnyt FILTER-funktionen i flere kolonner
Hvis man nu ser nærmere efter, vil man opdage, at indtil det år 1990 , var der et land, der hed Vesttyskland . og efter 1990 , er der ikke Vesttyskland . Hvad der er Tyskland De to er faktisk fra det samme land. 1990 , den to Tyskland (Østtyskland og vest) forenet til det nuværende Tyskland.
Kan du nu identificere de år, hvor Tyskland var den mester ? ligegyldigt Øst eller West .
Du skal bruge FILTER-funktionen i flere kolonner.
Formlen vil være:
=FILTER(B5:B25,ISNUMBER(SEARCH("*Tyskland",D5:D25)))
Opdeling af formler
SEARCH("*Tyskland",D5:D25)
søger efter alt, der har Germany i slutningen i arrayet D5 til D25 Hvis du har brug for Tyskland i midten, skal du bruge "*Tyskland*".- Den returnerer en 1 hvis den finder et match (Vesttyskland og Tyskland) og returnerer en Fejl
ISNUMBER(SEARCH("*Tyskland",D5:D25))
konverterer 1'erne til TRUE , og fejlene i FALSK .- Endelig,
FILTER(B5:B25,ISNUMBER(SEARCH("*Tyskland",D5:D25)))
returnerer årene fra kolonnen B når den står over for en TRUE , ellers returneres intet resultat.
- Se Tyskland var mester 4 gange . 3 gange af Vesttyskland og 1 tid efter nutid Tyskland .
Hvis du forstår denne formel, kan du så finde ud af, i hvilke år den FIFA World Cup blev afholdt af to lande ?
Jeg giver dig et fingerpeg. Der må være en " og " i værtslandets navn. ( "og" mellem to mellemrum)
Ja, du har ret, formlen vil være:
=FILTER(B5:B25,ISNUMBER(SEARCH("* og *",C5:C25)))
Nu ser vi, at dette kun skete én gang i 2002 , med vært for Sydkorea og Japan .
Alternative muligheder for at filtrere flere kriterier i Excel
De ovenfor nævnte metoder til filtrering af flere kriterier er ganske nyttige. Men med en ulempe , den FILTER funktionen er kun tilgængelig i Office 365 .
De, der ikke har en Office 365 abonnement, kan du bruge disse alternative metoder til at filtrere nogle data med flere kriterier.
For at finde ud af de år, hvor Italien var den værtsland eller mester , bruge nedenstående formel:
=IF((C5:C25="Italy")+(D5:D25="Italy"),B4:B24,"")
Og for at finde ud af, i hvilke år Brasilien var mester op til 1970 , bruge denne formel:
=IF((B5:B25<=1970)*(D5:D25="Brazil"),B5:B25,"")
Bemærk: Du kan ikke få de tomme celler fjernet som i FILTER funktion på denne måde. Og tryk på Ctrl + Shift + Enter for at indtaste formlerne.
Sådan bruger du avanceret filter i Excel
Vi vil anvende flere kriterier på en kolonne ved hjælp af beregnede data . Her skal vi finde leverede produkter med mængde over 50 men mindre end 100 Til dette formål er vi nødt til at anvende følgende formel . formel is-
=IF(AND(E550),E5,FALSE)
Udgangen i celle C16 er 55 som den den leverede mængde falder i den rækkevidde .
Derfor skal du vælge den Avanceret under kommandoen Sortere & Filtrere indstillinger fra den Data fanebladet.
Herefter sætter vi den hele datasættet som den Liste rækkevidde og celler C15:C16 som den Kriteriernes rækkevidde .
Endelig skal du trykke på OK for at se den resultat, dvs. en liste over leverede produkter med en mængde i området fra 50 til 100.
Konklusion
Ved hjælp af disse metoder kan du filtrere data ved at opretholde flere kriterier i Excel. Kender du andre metoder? Lad os vide det i kommentarfeltet.