Innehållsförteckning
Handledningen visar hur du använder Avancerat filter i Excel och ger ett antal icke-triviala exempel på kriterieområden för att skapa ett skiftlägeskänsligt filter, hitta matchningar och skillnader mellan två kolumner, extrahera poster som matchar en mindre lista och mycket mer.
I vår tidigare artikel diskuterade vi olika aspekter av Excel Advanced Filter och hur man använder det för att filtrera rader med AND- och OR-logik. Nu när du känner till grunderna ska vi ta en titt på mer komplexa exempel på kriterieområden som kan vara till hjälp i ditt arbete.
Upprättande av ett formelbaserat kriterieområde
Eftersom de flesta av de exempel på kriterieområden som diskuteras i den här handledningen kommer att innehålla olika formler, börjar vi med att definiera de viktigaste reglerna för att ställa in dem korrekt. Lita på mig, den här lilla teorin kommer att spara dig mycket tid och bespara dig huvudvärk med att felsöka dina komplexa kriterieområden som innehåller flera villkor baserade på formler.
- Formeln som du använder i kriterieområdet måste utvärdera till TRUE eller . FALSK .
- Kriterieområdet ska innehålla minst 2 celler: formelcell och rubrikcell.
- rubrikcell för de formelbaserade kriterierna ska vara antingen tomt eller skilja sig från någon av tabellens (listintervallets) rubriker.
- För att formeln ska kunna utvärderas för varje rad i listområdet hänvisar du till den översta cellen med data med hjälp av en relativ referens som A1.
- För att formeln ska utvärderas endast för en specifik cell eller . antal celler , hänvisar du till cellen eller intervallet med en absolut referens som $A$1.
- När man hänvisar till lista intervall i formeln, använd alltid absoluta cellreferenser.
- När du anger flera villkor anger du alla kriterier på samma rad för att sammanfoga dem med en OCH och placera varje kriterium på en separat rad för att sammanfoga dem med ELLER operatör.
Exempel på Excel-kriterier för avancerade filter
I följande exempel lär du dig hur du skapar egna filter i Excel för att hantera mer komplexa uppgifter som inte kan utföras med Excels vanliga AutoFilter.
Filtrering av textvärden som är känsliga för stora bokstäver
Precis som Excel AutoFilter är det avancerade filtreringsverktyget okänsligt för stora och små bokstäver när det filtrerar textvärden. Du kan dock enkelt utföra en sökning som är okänslig för stora och små bokstäver genom att använda EXACT-funktionen i de avancerade filterkriterierna.
Om du till exempel vill filtrera rader som innehåller Banan , ignorera BANANA och banan ange följande formel i kriterieområdet:
=EXACT(B5, "Banana")
Där B är den kolumn som innehåller artikelnamnen och rad 5 är den första dataraden.
Tillämpa sedan Excel Advanced Filter genom att klicka på Avancerad på knappen på Uppgifter och konfigurera den Lista över intervallet och Kriterieområde som visas i skärmbilden nedan. Var uppmärksam på att den Kriterieområde innehåller 2 celler - den rubrikcell och formelcell .
Observera: Bilden ovan och alla andra skärmdumpar i den här handledningen visar formler i cellerna för kriterieområdet enbart för tydlighetens skull. I dina riktiga kalkylblad ska formeln i cellen returnera antingen TRUE eller FALSE, beroende på om den första raden med data matchar kriterierna eller inte:
Filtrera värden över eller under genomsnittet i en kolumn
När du filtrerar numeriska värden kan du ofta vilja visa endast de celler som ligger över eller under ett genomsnittligt värde i kolumnen, till exempel:
Filtrera rader med delsumma över genomsnittet , använd följande formel i kriterieområdet:
=F5>AVERAGE($F$5:$F$50)
Filtrera rader med delsumma under genomsnittet , använd följande formel:
=F5
Observera att vi använder en relativ referens för att hänvisa till den översta cellen med data (F5) och absoluta referenser för att definiera hela det område som du vill beräkna medelvärdet för, exklusive kolumnrubriken ($F$5:$F$50).
Följande skärmdump visar hur formeln ovanför genomsnittet fungerar:
De av er som är bekanta med Excel-nummerfilter kan undra varför någon skulle bry sig om att använda ett avancerat filter när de inbyggda nummerfiltren redan har den Över genomsnittet och Under genomsnittet Det stämmer, men de inbyggda Excel-filtren kan inte användas med OR-logiken!
Så, för att ta exemplet vidare, låt oss filtrera rader där Delsumma (kolumn F) ELLER September Försäljning (kolumn E) ligger över genomsnittet. För detta ställer du in kriterieområdet med OR-logik genom att ange varje villkor på en separat rad. Resultatet blir en lista med objekt med värden över genomsnittet i antingen kolumn E eller F:
Filtrera rader med tomrum eller ej tomrum
Som alla vet har Excel Filter ett inbyggt alternativ för att filtrera tomma celler. Genom att markera eller avmarkera (Blanketter) i menyn AutoFilter kan du bara visa de rader som har tomma eller icke-tomma celler i en eller flera kolumner. Problemet är att det inbyggda Excel-filtret för tomma celler bara kan fungera med AND-logiken.
Om du vill filtrera tomma eller icke-tomma celler med OR-logiken, eller använda villkoren för tomma/icke-tomma celler tillsammans med andra kriterier, ska du konfigurera ett avancerat filterkriterieområde med en av följande formler:
Filter blanketter :
top_cell =""Filter icke-tomma blanketter:
top_cell ""Filtrera tomma celler med OR-logiken
Om du vill filtrera rader som har en tom cell antingen i kolumn A eller B, eller i båda kolumnerna, konfigurerar du kriterieområdet Avancerat filter på följande sätt:
=A6=""
=B6=""
Där 6 är den översta raden av uppgifter.
Filtrering av icke-tomma celler med OR- och AND-logik
För att få en bättre förståelse för hur Excels avancerade filter fungerar med flera kriterier kan vi filtrera rader i vår exempeltabell med följande villkor:
- Antingen Region (kolumn A) eller Artikel (kolumn B) ska vara blank, och
- Delsumma (kolumn C) bör vara större än 900.
Med andra ord vill vi visa rader som uppfyller följande villkor:
( Delsumma >900 OCH Region = inte tomt) ELLER ( Delsumma >900 OCH Artikel = inte tomt)
Som du redan vet ska villkoren i Excel Advanced Filter-kriterieområdet som är förenade med AND-logiken anges på samma rad och villkoren som är förenade med OR-logiken på olika rader:
Eftersom ett av kriterierna i det här exemplet uttrycks med en formel (ej tomma) och det andra innehåller en jämförelseoperator (Sub-total> 900), vill jag påminna dig om att:
- Kriterier som bildas med jämförelseoperatörer bör ha rubriker som är exakt lika stora som tabellrubrikerna, som t.ex. Delsumma kriterierna i skärmbilden ovan.
- Formelbaserade kriterier ska antingen ha en tom rubrikcell eller en rubrik som inte matchar någon av tabellens rubriker, som t.ex. Icke-blanketter kriterierna i skärmbilden ovan.
Hur man extraherar de översta/nedre N-posterna
Som du säkert vet har de inbyggda Excel-nummerfiltren ett alternativ för att visa de 10 bästa eller 10 lägsta värdena. Men vad händer om du behöver filtrera de 3 bästa eller 5 lägsta värdena? I det här fallet är Excel Advanced Filter med följande formler mycket användbara:
Utdrag topp N artiklar:
top_cell >=LARGE( sortiment , N)Utdrag botten N artiklar:
top_cell <=SMALL( sortiment , N)Om du t.ex. vill filtrera de tre bästa delbeloppen skapar du ett kriterieområde med den här formeln:
=F5>=LARGE($F$5:$F$50,3)
För att ta fram de tre nedersta delbeloppen använder du den här formeln:
=F5>=SMALL($F$5:$F$50,3)
Där F5 är den översta cellen med data i Delsumma kolumnen (utom kolumnrubriken).
Följande skärmdump visar den tre bästa formeln i praktiken:
Observera: Om listområdet innehåller några rader med samma värden som faller inom topp-/botten N-listan kommer alla dessa rader att visas, vilket visas i skärmbilden nedan:
Filtrera efter matchningar och skillnader mellan två kolumner
I en av våra tidigare artiklar förklarades en rad olika sätt att jämföra två kolumner i Excel och hitta överensstämmelser och skillnader mellan dem. Förutom Excel-formler, villkorliga formateringsregler och verktyget Duplicate Remover som behandlas i ovanstående handledning, kan du också använda Excels avancerade filter för att extrahera rader som har samma eller olika värden i två eller flera kolumner. För att göra detta, ange enav följande enkla formler i kriterieområdet:
- Filter för matchar (dubbletter) i 2 kolumner:
=B5=C5
=B5C5
Där B5 och C5 är de översta cellerna med data i de två kolumner som du vill jämföra.
Observera: Verktyget Avancerat filter kan endast söka efter överensstämmelser och skillnader i samma rad För att hitta alla värden som finns i kolumn A men inte i kolumn B använder du följande formel.
Filtrera rader baserat på matchande objekt i en lista
Anta att du har en stor tabell med hundratals eller tusentals rader och att du har fått en kortare lista som endast innehåller de poster som är relevanta vid ett visst tillfälle. Frågan är hur du hittar alla poster i din tabell som finns eller inte finns i den kortare listan.
Filtrera rader som matchar objekt i en lista
Om du vill hitta alla objekt i källtabellen som också finns i en mindre lista använder du följande COUNTIF-formel:
COUNTIF( list_to_match , top_data_cell)Om vi antar att den mindre listan ligger i intervallet D2:D7 och att tabellens objekt som ska jämföras med den listan ligger i kolumn B med början på rad 10, så lyder formeln som följer (observera att absoluta och relativa referenser används):
=COUNTIF($D$2:$D$7,B10)
Du är naturligtvis inte begränsad till att filtrera din tabell med ett enda kriterium.
Om du till exempel vill filtrera rader som matchar listan, men för Norra regionen endast, ange två kriterier på samma rad så att de fungerar med AND-logiken:
- Region:
="=Nord"
- Matchande föremål:
=COUNTIF($D$2:$D$7,B10)
Som du kan se i skärmbilden nedan finns det bara två poster i tabellen som uppfyller båda kriterierna:
Observera: I det här exemplet använder vi exakt samma sak kriterier för textvärden: ="=Nord "
för att bara hitta de celler som är exakt lika med den angivna texten. Om du anger regionkriterierna helt enkelt som North (utan likhetstecken och dubbla citationstecken) hittar Microsoft Excel alla objekt som börjar med den angivna texten, t.ex. Nordost eller . Nordväst Mer information finns i Excel Avancerat filter för textvärden.
Filtrera rader som inte matchar objekt i en lista
För att hitta alla objekt i tabellen som inte finns i den mindre listan, kontrollera om resultatet av vår COUNTIF-formel är lika med noll:
COUNTIF( list_to_match , top_data_cell) =0Om du till exempel vill filtrera Norra regionen för att se vilka objekt i tabellen som visas i listan, använd följande kriterier:
- Region:
="=Nord"
- Icke matchande föremål:
=COUNTIF($D$2:$D$7,B10)=0
Anteckningar:
- Om listan som ska matchas finns i ett annat kalkylblad, se till att inkludera arkets namn i formeln, t.ex.
=COUNTIF(Sheet2!$A$2:$A$7,B10)
. - Om du vill extrahera resultaten till ett annat ark startar du det avancerade filtret från destinationsarket, enligt förklaringen i Hur man extraherar filtrerade rader till ett annat arbetsblad.
Filter för helger och vardagar
Hittills har våra exempel på kriterieområden för avancerade filter mest handlat om numeriska värden och textvärden. Nu är det dags att ge några ledtrådar till dig som arbetar med datum.
De inbyggda datumfiltren i Excel erbjuder ett brett utbud av alternativ som täcker många scenarier. Många, men inte alla! Om du till exempel fick en lista med datum och ombads filtrera vardagar och helger, hur skulle du göra det?
Som du säkert vet har Microsoft Excel en speciell funktion WEEKDAY som returnerar veckodagen som motsvarar ett visst datum. Det är denna funktion som vi ska använda i Excel Advanced Filter-kriterierna.
Hur man filtrerar helger i Excel
Med tanke på att 1 står för söndag och 6 för lördag i WEEKDAY-termerna, kan formeln för att filtrera helgerna vara följande:
OR(WEEKDAY( datum )=7, WEEKDAY( datum )=1)I det här exemplet filtrerar vi datum i kolumn B från och med rad 5, så vår formel för helger har följande form:
=ELLER(VECKODAG(B5)=7, VECKODAG(B5)=1)
Hur man filtrerar veckodagar i Excel
Om du vill filtrera veckodagar ändrar du formeln ovan så att 1:or (söndag) och 7:or (lördag) utelämnas:
AND(WEEKDAY( datum )7, WEEKDAY( datum )1)För vår exempeltabell fungerar följande formel utmärkt:
=OCH(VECKODAG(B5)7, VECKODAG(B5)1)
Dessutom kan du lägga till ytterligare ett villkor för att filtrera bort tomma celler: =B5""
Om du vill filtrera datum i dina kalkylblad på andra sätt är det bara att hitta den relevanta funktionen Datum och tveka inte att använda den i ditt avancerade filterkriterieområde.
Så här använder du det avancerade filtret i Excel med komplexa kriterier. Naturligtvis är dina alternativ inte begränsade till de exempel som diskuteras i den här handledningen, vårt mål var bara att ge dig några inspirerande idéer som kommer att sätta dig på rätt spår. Kom ihåg att vägen till mästerskap är belagd med övning, så du kanske vill ladda ner våra exempel med hjälp av länken nedan och utvidga eller omvända-Jag tackar dig för att du läste och hoppas att vi ses på vår blogg nästa vecka!
Arbetsbok för praktiska övningar
Exempel på avancerade filter i Excel (.xlsx-fil)