Jak korzystać z funkcji FILTER w arkuszach Google

  • Udostępnij To
Michael Brown

Jeśli jedynym znanym Ci sposobem tworzenia filtrów w Google Sheets jest standardowe narzędzie, to mam dla Ciebie niespodziankę :) Odkryj ze mną funkcję FILTER. Znajdziesz tam mnóstwo gotowych formuł, które możesz zapożyczyć, a także nowe potężne narzędzie, które znakomicie uzupełnia zestaw narzędzi do filtrowania.

Jakiś czas temu wyjaśnialiśmy jak filtrować w Google Sheets za pomocą standardowego narzędzia. Wspominaliśmy jak filtrować po wartości i po warunku. Jednak arkusze kalkulacyjne zawsze mają w sobie więcej niż wiemy. I tym razem zamierzam odkryć z Wami funkcję FILTR Google Sheets.

Nie znajdziesz go w Excelu, więc zdecydowanie warto sprawdzić.

    Składnia funkcji FILTER w arkuszach Google

    FILTR w Google Sheets skanuje Twoje dane i zwraca wymagane informacje, które spełniają Twoje kryteria.

    W przeciwieństwie do standardowego filtra Google Sheets, funkcja nie robi nic z twoimi oryginalnymi danymi. Kopiuje znalezione wiersze i umieszcza je tam, gdzie budujesz formułę.

    Składnia jest dość prosta, ponieważ każdy argument mówi sam za siebie:

    =FILTER(zakres, warunek1, [warunek2, ...])
    • zakres to dane, które chcesz filtrować. Wymagane.
    • stan1 to kolumna lub wiersz wraz z kryteriami TRUE/FALSE, pod które powinna podpadać. Wymagane.
    • stan2,... , itd. oznaczają inne kolumny/wiersze i/lub inne kryteria. opcjonalnie.

    Uwaga, każdy stan powinien mieć taki sam rozmiar jak zakres .

    Uwaga. Jeśli używasz wielu warunków, wszystkie powinny być albo dla kolumn albo dla wierszy. Funkcja FILTER arkuszy Google nie pozwala na mieszane warunki.

    Teraz, mając na uwadze te uwagi, zobaczmy, jak argumenty przybierają kształt różnych formuł.

    Jak używać funkcji FILTER w Arkuszach Google

    Pokażę ci wszystkie przykłady podczas filtrowania małej tabeli, w której śledzę niektóre zamówienia:

    Tabela zawiera 20 wierszy z różnymi typami danych, co doskonale nadaje się do nauki funkcji.

    Jak filtrować w Google Sheets według tekstu

    Przykład 1. Tekst jest dokładnie

    Najpierw poproszę, aby funkcja pokazała tylko te zlecenia, które się spóźniają.Wprowadzam zakres do filtrowania -. A1:E20 - a następnie ustawić warunek - kolumnę E powinien być równy Późno :

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

    Przykład 2. Tekst jest dokładnie nie

    Mogę poprosić funkcję, aby dostała mi wszystkie zamówienia, ale te, które są spóźnione. Do tego będę potrzebował specjalnego operatora porównania (), który oznacza. nie równy :

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

    Przykład 3. Tekst zawiera.

    Teraz chciałbym pokazać jak zbudować w Google Sheets funkcję FILTER opartą na dopasowaniu częściowym.Lub innymi słowy - jeśli tekst zawiera .

    Czy zauważyłeś, że identyfikatory zamówień w kolumnie A zawierają na końcu skróty krajów? Stwórzmy formułę, która wyszuka tylko te zamówienia, które zostały wysłane z Kanady ( CA ).

    Normalnie do tego zadania użyłbyś znaków wieloznacznych, ale jeśli chodzi o formułę FILTER, to właśnie funkcje FIND i SEARCH działają w ten sposób.

    Wskazówka. Jeśli wolisz uniknąć zagnieżdżania innych funkcji podczas filtrowania według prostych wystąpień słów, nie krępuj się wypróbować dodatku opisanego na końcu.

    Uwaga. Jeśli ważny jest przypadek tekstu, użyj FIND, w przeciwnym razie wybierz SEARCH.

    Funkcja SEARCH zrobi dobrze dla mojego przykładu, ponieważ przypadek tekstu jest nieistotny:

    =SEARCH(search_for, text_to_search, [starting_at])
    • poszukiwanie_dla to tekst, który chcę znaleźć. Bardzo ważne jest, aby zawinąć go w podwójne cudzysłowy: "ca" . Wymagane.
    • text_to_search to zakres, który należy przeskanować w poszukiwaniu potrzebnego tekstu. Wymagane. To A1:A20 dla mnie.
    • zaczynając_na wskazuje pozycję początkową dla wyszukiwania - numer znaku, od którego należy rozpocząć szukanie. Jest to całkowicie opcjonalne, ale muszę go użyć. Widzisz, wszystkie identyfikatory zamówień składają się z liter i cyfr, co oznacza, że para CA może wystąpić gdzieś pomiędzy. Identyczny wzór wszystkich identyfikatorów pozwala mi szukać CA zaczynając od 8 znaku.

    Po zebraniu wszystkich tych części razem, otrzymuję pożądany rezultat:

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

    Jak filtrować według daty i godziny w arkuszach Google

    Filtrowanie według daty i godziny również wymaga użycia dodatkowych funkcji. W zależności od kryteriów może być konieczne osadzenie DZIEŃ, MIESIĄC, ROK lub nawet DATA i CZAS w głównej funkcji FILTRU arkusza Google.

    Podpowiedź. Jeśli nie jesteś z nimi zaznajomiony lub zawsze nawalasz z datami - bez obaw. Narzędzie opisane na końcu nie wymaga w ogóle żadnych funkcji.

    Przykład 1. Data to.

    Aby ogarnąć te zamówienia, których termin realizacji przypada na 9 stycznia 2020 roku, zaproszę funkcję DATE:

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

    Uwaga. Działa to tylko wtedy, gdy Twoje komórki nie zawierają jednostek czasu wraz z datą (arkusz kalkulacyjny może je dodawać domyślnie). Aby się upewnić, zaznacz komórkę i sprawdź, co pojawi się na pasku formuły:

    Jeśli czas jest tam i usunięcie go nie jest opcją, powinieneś użyć albo QUERY, albo bardziej złożonego warunku w swojej funkcji FILTER arkuszy Google, jak to:

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

    Wskazówka. O warunkach wielokrotnych mówię bardziej szczegółowo poniżej.

    Przykład 2. Data zawiera.

    Jeśli interesuje Cię tylko konkretny miesiąc lub rok, możesz się dogadać z funkcjami MONTH i YEAR. Umieść zakres z datami bezpośrednio w nim ( C1:C20 ) i podać numer miesiąca (lub roku), któremu ma być równy ( =1 ):

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

    Przykład 3. Data jest przed/po

    Aby uzyskać dane, które przypadają przed lub po podanej dacie, potrzebna będzie funkcja DATE oraz takie operatory porównania jak większy niż (>), większy lub równy (>=), mniejszy niż (<), mniejszy lub równy (<=).

    Oto zamówienia, które wpłynęły w dniu i po 1 stycznia 2020 r:

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

    Oczywiście można tutaj bez problemu zastąpić DATE przez MONTH lub YEAR, wynik nie będzie się różnił od tego powyżej:

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

    Przykład 4. Czas

    Podczas filtrowania w Google Sheets według czasu, wiertło jest dokładnie takie samo jak w przypadku dat. Używasz dodatkowej funkcji CZAS.

    Na przykład, aby uzyskać tylko dni z timestampem po 14:00 PM, formuła będzie:

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

    Jeśli jednak chodzi o użycie funkcji HOUR (podobnie jak MONTH dla dat), gra się nieco zmienia. Czas jest wystarczająco skomplikowany w arkuszach kalkulacyjnych, więc konieczne jest wprowadzenie kilku poprawek.

    Aby zwrócić wszystkie wiersze z timestampami pomiędzy 2:00 PM oraz 12:00 PM , zrób to:

    1. Otocz zakres znacznikami czasu ( A1:A10 ) w osobnej funkcji HOUR, która wskaże, gdzie należy szukać.
    2. Następnie dodaj kolejną funkcję HOUR, aby ustawić samą godzinę.

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

    Wskazówka. Zobacz, że wynik nie zawiera 12:41 PM To dlatego, że arkusz kalkulacyjny traktuje to jako 00:41 który jest mniejszy niż 2:00 .

    Jeśli znajdziesz bardziej eleganckie rozwiązanie, podziel się nim w sekcji komentarzy poniżej.

    Jak filtrować w Arkuszach Google przy użyciu odwołań do komórek

    Za każdym razem, gdy tworzysz formułę filtrującą w Google Sheets, musisz wprowadzić warunek w takiej postaci: czy słowo lub jego część, datę itp. Chyba że znasz się na odwołaniach do komórek.

    Ułatwiają one wiele rzeczy związanych z formułami, ponieważ zamiast wpisywać wszystko, można po prostu odwoływać się do komórek z warunkami.

    Pamiętasz jak szukałem wszystkich zamówień, które są opóźnione? Mogę szybko odwołać się do E4 z tekstem Późno aby zrobić to samo:

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

    Wynik wcale nie będzie się różnił:

    Możesz to powtórzyć ze wszystkimi wspomnianymi formułami. Na przykład unikaj dodawania kolejnych funkcji takich jak DATE i po prostu odwołuj się do komórki z interesującą Cię datą:

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

    Wskazówka. Odwołania do komórek pozwalają również na filtrowanie z innego arkusza, wystarczy przynieść nazwę arkusza:

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

    Arkusze Google FILTROWANIE formuł z wieloma kryteriami

    Chociaż wcześniej używałem głównie jednego warunku we wszystkich formułach filtrujących Google Sheets, bardziej prawdopodobne jest, że będziesz musiał filtrować tabelę według kilku warunków naraz.

    Przykład 1. logika IS BETWEEN

    Aby znaleźć wszystkie wiersze wypadające pomiędzy dwoma liczbami/datami/czasami, przydadzą się opcjonalne argumenty funkcji -. stan2 , stan3 , itd. Po prostu za każdym razem powielasz ten sam zakres, ale z nowym warunkiem.

    Spójrz, zamierzam zwrócić tylko te zamówienia, które kosztowały mnie więcej niż 250 dolarów, ale mniej niż 350 dolarów:

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

    Przykład 2. Logika OR w funkcji FILTER w arkuszach Google

    Niestety, aby uzyskać wszystkie wiersze, które zawierają różne rekordy w kolumnie zainteresowania, poprzedni sposób nie zrobi. Więc jak mogę sprawdzić wszystkie zamówienia, które są zarówno w drodze, jak i spóźnione?

    Jeśli rzeczywiście spróbuję poprzedniej metody i wprowadzę każdy status zamówienia do osobnego warunku, otrzymam błąd #N/A:

    Zatem, aby poprawnie ustawić logikę OR w funkcji FILTER, powinienem zsumować te dwa kryteria w ramach jednego warunku:

    =FILTER(A1:E20,(E1:E20="Spóźnienie")+(E1:E20="W drodze"))

    Dodaj filtr do arkusza Google do wielu kolumn

    Co jest jeszcze bardziej prawdopodobne niż zastosowanie kilku warunków do jednej kolumny, to stworzenie filtra w Google Sheets dla wielu kolumn.

    Argumenty są wszystkie takie same. Ale każda nowa część wzoru wymaga nowego zakresu z własnymi kryteriami.

    Spróbujmy sprawić, aby funkcja FILTER w Google Sheets zwracała zlecenia, które mieszczą się we wszystkich poniższych regułach:

    1. Ich wartość powinna wynosić 200-400 dolarów:

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

    2. Mają być w styczniu 2020 r:

      MIESIĄC(C1:C20)=1

    3. I nadal są w drodze:

      E1:E20="w drodze"

    Złóż wszystkie te części razem i twoja formuła filtra Google Sheets dla wielu kolumn jest gotowa:

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

    Bezformułowy sposób na zaawansowany filtr Google Sheets

    Funkcja FILTER jest świetna i w ogóle, ale czasami może być za dużo. Śledzenie wszystkich argumentów, delimitatorów, zagnieżdżonych funkcji i co nie może być niezwykle mylące i czasochłonne.

    Na szczęście mamy lepsze rozwiązanie, które przekracza zarówno funkcję FILTR Google Sheets, jak i ich standardowe narzędzie - Multiple VLOOKUP Matches.

    Niech nie zmyli Cię jej nazwa, przypomina ona funkcję VLOOKUP z arkuszy Google, ponieważ wyszukuje dopasowania. Tak samo jak robi to funkcja FILTER, tak jak zrobiłem to powyżej.

    Oto 5 głównych zalet narzędzia nad funkcją FILTER z Google Sheets:

    1. Nie będziesz musiał myśleć o operatorów dla różnych warunków - po prostu wybierz ten. z listy:

  • Wprowadź daty i godziny jak zawsze w arkuszach kalkulacyjnych - bez dodatkowych funkcji specjalnych:
  • Tworzenie i usuwanie liczne schorzenia dla wiele kolumn naprawdę szybko :
  • Podgląd wyniku i dostosować warunki (jeśli to konieczne) przed wklejeniem wszystkiego do swojego arkusza:
  • Uzyskaj wynik w postaci wartości lub jako gotowy formuła .
  • Szczerze zachęcam do zainstalowania programu Multiple VLOOKUP Matches i wypróbowania go. Aby przyjrzeć się bliżej jego opcjom, odwiedź stronę z samouczkiem lub obejrzyj specjalny film instruktażowy:

    Michael Brown jest oddanym entuzjastą technologii z pasją do upraszczania złożonych procesów za pomocą narzędzi programowych. Dzięki ponad dziesięcioletniemu doświadczeniu w branży technologicznej doskonalił swoje umiejętności w programach Microsoft Excel i Outlook, a także w Arkuszach i Dokumentach Google. Blog Michaela jest poświęcony dzieleniu się swoją wiedzą i doświadczeniem z innymi, dostarczając łatwych do zastosowania wskazówek i samouczków w celu poprawy produktywności i wydajności. Niezależnie od tego, czy jesteś doświadczonym profesjonalistą, czy początkującym, blog Michaela oferuje cenne spostrzeżenia i praktyczne porady dotyczące maksymalnego wykorzystania tych niezbędnych narzędzi programowych.