Sådan bruger du Google Sheets FILTER-funktionen

  • Del Dette
Michael Brown

Hvis den eneste måde, du kender til at oprette et filter i Google Sheets, er standardværktøjet, har jeg en overraskelse til dig :) Kom og udforsk FILTER-funktionen sammen med mig. Der er masser af færdige formler, som du kan låne, og et nyt kraftfuldt værktøj, der supplerer filtreringsværktøjet enormt godt.

For nogen tid siden forklarede vi, hvordan man filtrerer i Google Sheets ved hjælp af standardværktøjet. Vi nævnte, hvordan man filtrerer efter værdi og efter betingelse. Regneark indeholder dog altid mere, end vi ved. Og denne gang vil jeg udforske Google Sheets FILTER-funktionen med dig.

Du vil ikke finde den i Excel, så den er bestemt værd at tjekke ud.

    Syntaks for funktionen FILTER i Google Sheets

    FILTER i Google Sheets scanner dine data og returnerer de nødvendige oplysninger, der opfylder dine kriterier.

    I modsætning til standardfilteret i Google Sheets gør funktionen ikke noget ved dine oprindelige data. Den kopierer de fundne rækker og placerer dem hvor som helst, du opbygger formlen.

    Syntaksen er ret nem, da hvert argument taler for sig selv:

    =FILTER(range, condition1, [condition2, ...])
    • rækkevidde er de data, du ønsker at filtrere. Krævet.
    • betingelse1 er en kolonne eller række sammen med kriterierne TRUE/FALSE, som den skal falde ind under. Kræves.
    • condition2,... , osv., står for andre kolonner/rækker og/eller andre kriterier. Valgfrit.

    Bemærk. Hver betingelse skal være af samme størrelse som rækkevidde .

    Bemærk: Hvis du bruger flere betingelser, skal de alle være enten for kolonner eller rækker. Google Sheets FILTER-funktionen tillader ikke blandede betingelser.

    Lad os nu med disse bemærkninger i baghovedet se, hvordan argumenterne tager form i de forskellige formler.

    Sådan bruger du FILTER-funktionen i Google Sheets

    Jeg vil vise dig alle eksemplerne, mens jeg filtrerer en lille tabel, hvor jeg følger nogle ordrer:

    Tabellen indeholder 20 rækker med forskellige typer data, hvilket er perfekt til at lære funktionen.

    Sådan filtrerer du efter tekst i Google Sheets

    Eksempel 1. Teksten er præcis

    Først vil jeg bede funktionen om kun at vise de ordrer, der er forsinkede. Jeg indtaster det område, der skal filtreres - A1:E20 - og derefter indstille betingelsen - kolonne E bør være lig med Sen :

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

    Eksempel 2. Teksten er netop ikke

    Jeg kan bede funktionen om at hente alle ordrer undtagen dem, der er forsinkede. Til det formål har jeg brug for en særlig sammenligningsoperator (), der betyder ikke er ikke lig med :

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

    Eksempel 3. Teksten indeholder

    Nu vil jeg gerne vise dig, hvordan du opbygger Google Sheets FILTER-funktionen baseret på det delvise match. Eller med andre ord - hvis teksten indeholder .

    Har du bemærket, at ordre-id'er i kolonne A indeholder landeforkortelser i slutningen? Lad os oprette en formel for kun at hente ordrer, der blev sendt fra Canada ( CA ).

    Normalt ville du bruge wildcard-tegn til denne opgave, men når det gælder FILTER-formlen, er det FIND- og SEARCH-funktionerne, der fungerer på denne måde.

    Tip. Hvis du hellere vil undgå at indlejre andre funktioner, når du filtrerer efter simple ordforekomster, er du velkommen til at prøve den tilføjelse, der er beskrevet til sidst.

    Bemærk. Hvis bogstavsangivelsen er vigtig, skal du bruge FIND, ellers skal du vælge SEARCH.

    SEARCH-funktionen vil være fin nok i mit eksempel, da tekstens kasus er irrelevant:

    =SEARCH(search_for, text_to_search, [starting_at])
    • search_for er den tekst, som jeg vil finde. Det er meget vigtigt at omslutte den med dobbelte anførselstegn: "ca" . påkrævet.
    • text_to_search er det område, der skal scannes for den nødvendige tekst. Det er A1:A20 for mig.
    • starting_at angiver startpositionen for søgningen - nummeret på det tegn, der skal begynde at søge fra. Det er helt valgfrit, men jeg er nødt til at bruge det. Alle ordre-id'er består nemlig af bogstaver og tal, hvilket betyder, at et par af CA kan forekomme et sted midt imellem. Det identiske mønster for alle ID'er gør det muligt for mig at søge efter CA fra og med det 8. tegn.

    Når jeg har samlet alle disse dele sammen, får jeg det ønskede resultat:

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

    Sådan filtreres efter dato og klokkeslæt i Google Sheets

    Filtrering efter dato og klokkeslæt kræver også brug af yderligere funktioner. Afhængigt af dine kriterier skal du måske integrere DAG, MÅNED, ÅR eller endda DATO og TID i Google Sheets hovedfunktion FILTER.

    Tip. Hvis du ikke er bekendt med disse eller altid roder rundt med datoer - ingen bekymringer. Det værktøj, der er beskrevet til sidst, kræver ingen funktioner overhovedet.

    Eksempel 1. Dato er

    For at få fat i de ordrer, der skal indløses den 9. januar 2020, inviterer jeg funktionen DATE:

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

    Bemærk: Dette virker kun, hvis dine celler ikke indeholder tidsenheder sammen med datoen (dit regneark tilføjer dem måske som standard). For at sikre dig, skal du blot vælge en celle og kontrollere, hvad der vises i formellinjen:

    Hvis tiden er der, og det ikke er muligt at fjerne den, skal du bruge enten QUERY eller en mere kompleks betingelse i din Google Sheets FILTER-funktion, f.eks. sådan her:

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

    Tip. Jeg taler mere detaljeret om flere betingelser nedenfor.

    Eksempel 2. Dato indeholder

    Hvis du kun er interesseret i en bestemt måned eller et bestemt år, kan du klare dig med funktionerne MONTH og YEAR. Sæt intervallet med datoer direkte ind i det ( C1:C20 ) og angiv nummeret på den måned (eller det år), det skal være lig med ( =1 ):

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

    Eksempel 3. Dato er før/efter

    For at få de data, der falder før eller efter den angivne dato, skal du bruge DATE-funktionen og sammenligningsoperatorer som større end (>), større end eller lig med (>=), mindre end (<), mindre end eller lig med (<=).

    Her er de ordrer, der er modtaget fra den 1. januar 2020 og derefter:

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

    Du kan selvfølgelig også sagtens erstatte DATE med MONTH eller YEAR her. Resultatet vil ikke afvige fra ovenstående:

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

    Eksempel 4. Tid

    Når du filtrerer efter tid i Google Sheets, er fremgangsmåden nøjagtig den samme som med datoer. Du bruger den ekstra funktion TIME.

    Hvis du f.eks. kun vil få dage med et tidsstempel efter kl. 14.00, vil formlen være:

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

    Men når du skal bruge funktionen TIMER (ligesom med MÅNED til datoer), ændrer spillet sig en smule. Tid er vanskelig nok i regneark, så det er nødvendigt med et par justeringer.

    For at returnere alle rækker med tidsstempler mellem 14:00 PM og 12:00 PM , gør dette:

    1. Omslut området med tidsstempler ( A1:A10 ) i en særskilt HOUR-funktion. Dette vil angive, hvor der skal søges.
    2. Tilføj derefter en anden HOUR-funktion til at indstille selve tiden.

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

    Tip. Se, at resultatet ikke indeholder 12:41 PM Det skyldes, at regnearket behandler det som 00:41 som er mindre end 2:00 .

    Hvis du finder en mere elegant løsning, er du velkommen til at dele den i kommentarfeltet nedenfor.

    Sådan filtrerer du i Google Sheets ved hjælp af cellehenvisninger

    Hver gang du opretter en Google Sheets-filterformel, skal du indtaste betingelsen som den er: et ord eller en del heraf, datoen osv. Medmindre du er bekendt med cellehenvisninger.

    De gør mange ting nemmere i forbindelse med formler, for i stedet for at skrive alting ud, kan du blot henvise til celler med betingelser.

    Kan du huske, hvordan jeg søgte efter alle ordrer, der er forsinkede? Jeg kan hurtigt henvise til E4 med teksten Sen til at gøre det samme:

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

    Resultatet vil ikke være anderledes:

    Du kan gentage dette med alle de førnævnte formler. Undgå f.eks. at tilføje flere funktioner som DATE og nøjes med at henvise til cellen med en dato af interesse:

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

    Tip. Cellehenvisninger giver dig også mulighed for at filtrere fra et andet ark. Du skal blot medbringe arknavnet:

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

    Google Sheets FILTER-formler med flere kriterier

    Mens jeg tidligere hovedsageligt har brugt én betingelse i alle Google Sheets-filterformler, er det mere sandsynligt, at du skal filtrere en tabel efter nogle få betingelser ad gangen.

    Eksempel 1. IS BETWEEN-logik

    Hvis du vil finde alle rækker, der ligger mellem to tal/datoer/tidspunkter, er de valgfrie argumenter i funktionen nyttige - betingelse2 , tilstand3 , osv. Du kopierer bare det samme område hver gang, men med en ny betingelse.

    Hør, jeg returnerer kun de ordrer, der koster mig mere end 250 dollars, men mindre end 350 dollars:

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

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

    Desværre er det ikke muligt at få alle rækker, der indeholder forskellige poster i en kolonne af interesse, på den tidligere måde. Så hvordan kan jeg kontrollere alle ordrer, der både er på vej og forsinkede?

    Hvis jeg prøver den tidligere metode og indtaster hver ordrestatus i en separat tilstand, får jeg fejlen #N/A:

    For at indstille OR-logikken i FILTER-funktionen korrekt skal jeg således summere disse to kriterier i én betingelse:

    =FILTER(A1:E20,(E1:E20="For sent")+(E1:E20="På vej"))

    Tilføj filter til Google Sheets til flere kolonner

    Det er endnu mere sandsynligt end at anvende nogle få betingelser på én kolonne at oprette et filter i Google Sheets for flere kolonner.

    Argumenterne er alle de samme, men hver ny del af formlen kræver et nyt interval med sine egne kriterier.

    Lad os prøve at få FILTER-funktionen i Google Sheets til at returnere ordrer, der falder ind under alle følgende regler:

    1. De burde være 200-400 dollars værd:

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

    2. Forventes i januar 2020:

      MÅNED(C1:C20)=1

    3. Og de er stadig på vej:

      E1:E20="på vej"

    Sæt alle disse dele sammen, og din Google Sheets-filterformel for flere kolonner er klar:

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

    Formel-fri måde at lave avancerede Google Sheets-filtre på

    FILTER-funktionen er god og alt sammen, men nogle gange kan den være for meget. Det kan være meget forvirrende og tidskrævende at holde styr på alle argumenter, afgrænsere, nested functions og hvad ved jeg.

    Heldigvis har vi en bedre løsning, der overgår både Google Sheets FILTER-funktionen og deres standardværktøj - Multiple VLOOKUP Matches.

    Lad dig ikke forvirre af navnet. Den ligner Google Sheets VLOOKUP-funktion, fordi den søger efter match. Ligesom FILTER-funktionen gør det, ligesom jeg gjorde ovenfor.

    Her er 5 vigtigste fordele af værktøjet over Google Sheets FILTER-funktionen:

    1. Du behøver ikke at tænke på operatører til forskellige betingelser - bare vælg den ene fra listen:

  • Indtast datoer og klokkeslæt som du plejer at gøre i regneark - ikke flere specielle funktioner:
  • Opret og slet flere betingelser til flere kolonner meget hurtigt :
  • Få vist et eksempel på resultatet og juster betingelserne (om nødvendigt), før du indsætter det hele i dit ark:
  • Få resultatet som værdier eller som en færdiglavet formel .
  • Jeg opfordrer dig virkelig til at installere Multiple VLOOKUP Matches og give det en chance. Hvis du vil se nærmere på dets muligheder, kan du besøge dets vejledningsside eller se en særlig instruktionsvideo:

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.