Hur du använder Google Sheets FILTER-funktionen

  • Dela Detta
Michael Brown

Om det enda sätt du känner till för att skapa ett filter i Google Sheets är standardverktyget har jag en överraskning åt dig :) Följ med mig och utforska funktionen FILTER. Det finns många färdiga formler som du kan låna, tillsammans med ett nytt kraftfullt verktyg som kompletterar filtreringsverktyget enormt.

För en tid sedan förklarade vi hur man filtrerar i Google Sheets med hjälp av standardverktyget. Vi nämnde hur man filtrerar efter värde och efter villkor. Kalkylark innehåller dock alltid mer än vad vi vet. Den här gången ska jag utforska Google Sheets FILTER-funktionen tillsammans med dig.

Du kommer inte att hitta den i Excel, så det är definitivt värt att kolla in den.

    Syntax för Google Sheets FILTER-funktionen

    FILTER i Google Sheets skannar dina data och returnerar den information som uppfyller dina kriterier.

    Till skillnad från standardfiltret i Google Sheets gör funktionen ingenting med dina ursprungliga data, utan kopierar de hittade raderna och placerar dem där du bygger formeln.

    Syntaxen är ganska enkel eftersom varje argument talar för sig självt:

    =FILTER(intervall, villkor1, [villkor2, ...])
    • sortiment är de data som du vill filtrera. Krävs.
    • villkor1 är en kolumn eller rad tillsammans med kriterierna TRUE/FALSE som den ska omfattas av. Krävs.
    • condition2,... , etc. står för andra kolumner/rader och/eller andra kriterier. Valfritt.

    Observera: Varje villkor bör vara av samma storlek som sortiment .

    Observera: Om du använder flera villkor ska alla vara antingen för kolumner eller rader. Google Sheets FILTER-funktion tillåter inte blandade villkor.

    Med dessa anmärkningar i åtanke ska vi nu se hur argumenten tar form i olika formler.

    Så här använder du FILTER-funktionen i Google Sheets

    Jag ska visa dig alla exempel samtidigt som jag filtrerar en liten tabell där jag följer några beställningar:

    Tabellen innehåller 20 rader med olika typer av data, vilket är perfekt för att lära sig funktionen.

    Hur man filtrerar text i Google Sheets

    Exempel 1. Texten är exakt

    Först ber jag funktionen att endast visa de order som är försenade. Jag anger det intervall som ska filtreras - A1:E20 - och sedan ställa in villkoret - kolumn E bör vara lika med Sen :

    =FILTER(A1:E20,E1:E20="Late")

    Exempel 2. Texten är exakt inte

    Jag kan be funktionen att ge mig alla beställningar utom de som är sena. För detta behöver jag en speciell jämförelseoperator () som betyder inte är lika med :

    =FILTER(A1:E20,E1:E20"Late")

    Exempel 3. Texten innehåller

    Nu vill jag visa dig hur du bygger Google Sheets FILTER-funktionen baserat på den partiella matchningen. Eller med andra ord - om Texten innehåller .

    Märkte du att order-ID:n i kolumn A innehåller landsförkortningar i slutet? Vi skapar en formel för att hämta endast order som skickats från Kanada ( CA ).

    Normalt sett skulle du använda jokertecken för detta, men när det gäller FILTER-formeln är det FIND- och SEARCH-funktionerna som fungerar på detta sätt.

    Tips: Om du hellre vill undvika att nästla in andra funktioner när du filtrerar efter enkla ordförekomster kan du prova tillägget som beskrivs i slutet.

    Obs. Om det är viktigt med stor bokstavsbeteckning i texten ska du använda FIND, annars väljer du SEARCH.

    SEARCH-funktionen fungerar utmärkt i mitt exempel eftersom textfältet inte spelar någon roll:

    =SEARCH(search_for, text_to_search, [starting_at])
    • search_for är den text som jag vill hitta. Det är viktigt att den omges av dubbla citattecken: "ca" . krävs.
    • text_to_search är det område som ska genomsökas för att hitta den nödvändiga texten. A1:A20 för mig.
    • starting_at anger startpositionen för sökningen - numret på tecknet som man ska börja leta från. Det är helt frivilligt men jag måste använda det. Alla order-ID:n består nämligen av bokstäver och siffror, vilket innebär att ett par av CA kan förekomma någonstans däremellan. Det identiska mönstret för alla ID:n gör att jag kan leta efter CA från och med det åttonde tecknet.

    Efter att ha samlat ihop alla dessa delar får jag det önskade resultatet:

    =FILTER(A1:E20,SEARCH("ca",A1:A20,8))

    Filtrera efter datum och tid i Google Sheets

    Filtrering efter datum och tid kräver också att du använder ytterligare funktioner. Beroende på dina kriterier kan du behöva bädda in DAG, MÅNAD, ÅR eller till och med DATUM och TID i huvudfunktionen FILTRERA i Google Sheets.

    Tips: Om du inte är bekant med dessa eller om du alltid ställer till det med datum - inga problem. Verktyget som beskrivs i slutet kräver inga funktioner alls.

    Exempel 1. Datum är

    För att få tag på de beställningar som ska betalas den 9 januari 2020 bjuder jag in funktionen DATE:

    =FILTER(A1:E20,C1:C20=DATE(2020,1,9))

    Observera: Det här fungerar bara om dina celler inte innehåller tidsenheter tillsammans med datumet (ditt kalkylblad kanske lägger till dem som standard). För att vara säker kan du välja en cell och kontrollera vad som visas i formellfältet:

    Om tiden finns där och det inte är möjligt att ta bort den bör du använda antingen QUERY eller ett mer komplext villkor i Google Sheets FILTER-funktionen, till exempel så här:

    =FILTER(A1:E20,C1:C20>=DATE(2020,1,9),C1:C20

    Tips: Jag talar mer ingående om flera villkor nedan.

    Exempel 2. Datum innehåller

    Om du bara är intresserad av en viss månad eller ett visst år kan du klara dig med funktionerna MONTH och YEAR. Sätt in intervallet med datum direkt i den ( C1:C20 ) och ange numret på månaden (eller året) som den ska vara lika med ( =1 ):

    =FILTER(A1:E20,MONTH(C1:C20)=1)

    Exempel 3. Datum är före/efter

    För att få fram de data som infaller före eller efter det angivna datumet behöver du funktionen DATE och sådana jämförelseoperatörer som större än (>), större än eller lika med (>=), mindre än (<), mindre än eller lika med (<=).

    Här är de beställningar som inkom från och med den 1 januari 2020:

    =FILTER(A1:E20,D1:D20>=DATE(2020,1,1))

    Naturligtvis kan du enkelt ersätta DATE med MONTH eller YEAR här. Resultatet kommer inte att skilja sig från det ovanstående:

    =FILTER(A1:E20,YEAR(D1:D20)>=2020)

    Exempel 4. Tid

    När du filtrerar Google Sheets efter tid är det exakt samma sak som med datum. Du använder den extra funktionen TIME.

    Om du till exempel bara vill få fram dagar med en tidsstämpel efter kl. 14.00 blir formeln:

    =FILTER(A1:B10,A1:A10>TIME(14,0,0))

    Men när det gäller att använda funktionen HUR (liksom MONTH för datum) förändras spelet en aning. Tid är redan svårt nog i kalkylblad, så några justeringar är nödvändiga.

    För att återge alla rader med tidsstämplar mellan 14:00 PM och 12:00 PM gör så här:

    1. Omsluta intervallet med tidsstämplar ( A1:A10 ) i en separat funktion HOUR, vilket visar var du ska leta.
    2. Lägg sedan till en annan funktion för att ställa in tiden.

    =FILTER(A1:B10,HOUR(A1:A10)>=HOUR("2:00:00 PM"))

    Tips: Se till att resultatet inte innehåller 12:41 PM Det beror på att kalkylbladet behandlar det som 00:41 som är mindre än 2:00 .

    Om du hittar en elegantare lösning, dela den gärna med dig av den i kommentarsfältet nedan.

    Hur du filtrerar i Google Sheets med hjälp av cellreferenser

    Varje gång du skapar en filterformel i Google Sheets måste du ange villkoret som det är: om ett ord eller en del av ett ord, datumet etc. Om du inte är bekant med cellreferenser.

    De underlättar många saker när det gäller formler, eftersom du i stället för att skriva allting kan hänvisa till celler med villkor.

    Minns du hur jag letade efter alla beställningar som är sena? Jag kan snabbt hänvisa till E4 med texten Sen att göra detsamma:

    =FILTER(A1:E20,E1:E20=E4)

    Resultatet kommer inte att skilja sig alls:

    Du kan upprepa detta med alla de tidigare nämnda formlerna. Undvik till exempel att lägga till fler funktioner som DATE och hänvisa bara till cellen med det aktuella datumet:

    =FILTER(A1:E20,C1:C20=C15)

    Tips: Med cellreferenser kan du också filtrera från ett annat ark. Du behöver bara ange arkets namn:

    =FILTER(Beställningar!A1:E20,Beställningar!C1:C20=Beställningar!C15)

    Google Sheets FILTER-formler med flera kriterier

    Även om jag tidigare huvudsakligen använde ett villkor i alla filterformler i Google Sheets, är det troligare att du behöver filtrera en tabell med flera villkor i taget.

    Exempel 1. IS BETWEEN logik

    Om du vill hitta alla rader som ligger mellan två tal/datum/tider kommer de valfria argumenten i funktionen att vara användbara - villkor2 , villkor3 Du duplicerar bara samma intervall varje gång, men med ett nytt villkor.

    Jag kommer bara att returnera de beställningar som kostar mig mer än 250 dollar men mindre än 350 dollar:

    =FILTER(A1:E20,B1:B20>=250,B1:B20<350)

    Exempel 2. OR-logik i Google Sheets FILTER-funktionen

    Tyvärr går det inte att få fram alla rader som innehåller olika poster i en intressant kolumn på det tidigare sättet. Så hur kan jag kontrollera alla beställningar som både är på väg och sena?

    Om jag försöker med den tidigare metoden och anger varje orderstatus i ett separat villkor får jag felet #N/A:

    För att korrekt ställa in OR-logiken i FILTER-funktionen bör jag alltså summera dessa två kriterier i ett villkor:

    =FILTER(A1:E20,(E1:E20="Sen")+(E1:E20="På väg"))

    Lägg till filter i Google Sheets för flera kolumner

    Ännu mer sannolikt än att tillämpa några villkor på en kolumn är att skapa ett filter i Google Sheets för flera kolumner.

    Argumenten är alla desamma, men varje ny del av formeln kräver ett nytt intervall med egna kriterier.

    Låt oss försöka få funktionen FILTER i Google Sheets att återge beställningar som omfattas av alla följande regler:

    1. De bör vara värda 200-400 dollar:

      A1:E20,B1:B20>=200,B1:B20<=400

    2. De ska vara klara i januari 2020:

      MÅNAD(C1:C20)=1

    3. Och de är fortfarande på väg:

      E1:E20="på väg"

    Sätt ihop alla dessa delar så är din Google Sheets-filterformel för flera kolumner klar:

    =FILTER(A1:E20,B1:B20>=200,B1:B20<=400,MONTH(C1:C20)=1,E1:E20="on the way")

    Formelfritt sätt för avancerade Google Sheets-filter

    FILTER-funktionen är bra och allt, men ibland kan det bli för mycket. Att hålla reda på alla argument, avgränsare, inbäddade funktioner och så vidare kan vara extremt förvirrande och tidskrävande.

    Som tur är har vi en bättre lösning som överskrider både Google Sheets FILTER-funktion och deras standardverktyg - Multiple VLOOKUP Matches.

    Låt dig inte förvirras av namnet, utan den liknar Google Sheets VLOOKUP-funktion eftersom den söker efter träffar. Precis som FILTER-funktionen gör, precis som jag gjorde ovan.

    Här är 5 huvudsakliga fördelar av verktyget över Google Sheets FILTER-funktionen:

    1. Du behöver inte tänka på Operatörer för olika förhållanden. - Välj bara den som du vill ha. från listan:

  • Ange datum och tid som vanligt i kalkylblad - inga fler specialfunktioner:
  • Skapa och radera flera villkor för flera kolumner snabbt :
  • Förhandsgranska resultatet och justera villkoren (om det behövs) innan du klistrar in allt i arket:
  • Hämta resultatet som värden eller som ett färdigt formel .
  • Jag uppmuntrar dig verkligen att installera Multiple VLOOKUP Matches och prova det. Om du vill titta närmare på alternativen kan du besöka sidan med handledning eller titta på en särskild instruktionsvideo:

    Michael Brown är en hängiven teknikentusiast med en passion för att förenkla komplexa processer med hjälp av mjukvaruverktyg. Med mer än ett decenniums erfarenhet inom teknikbranschen har han finslipat sina kunskaper i Microsoft Excel och Outlook, samt Google Sheets och Docs. Michaels blogg är tillägnad att dela med sig av sin kunskap och expertis med andra, och tillhandahåller lätta att följa tips och handledningar för att förbättra produktiviteten och effektiviteten. Oavsett om du är en erfaren proffs eller nybörjare, erbjuder Michaels blogg värdefulla insikter och praktiska råd för att få ut det mesta av dessa viktiga programvaruverktyg.