Ten dokument zawiera informacje o używaniu filtrów do sortowania i filtrowania danych wyświetlanych w arkuszu kalkulacyjnym.
Filtry umożliwiają sortowanie i filtrowanie danych wyświetlanych w arkuszu kalkulacyjnym. Filtry nie zmieniają wartości danych w arkuszu kalkulacyjnym. Możesz używać filtrów, aby tymczasowo ukrywać lub sortować informacje. Dane, które spełniają określone kryteria filtra, nie są wyświetlane, gdy filtr jest włączony. Dzięki widokom filtra możesz też zapisywać różne nazwane filtry i przełączać się między nimi w dowolnym momencie.
Aby filtrować dane zwracane w żądaniu interfejsu Google Sheets API, użyj obiektu
DataFilter. Więcej informacji znajdziesz w artykule Odczytywanie, zapisywanie i wyszukiwanie metadanych.
Filtrowanie przypadków użycia
Oto kilka przykładowych zastosowań filtrów:
- sortować dane według konkretnej kolumny; Możesz na przykład posortować rekordy użytkowników według nazwiska.
- Ukrywanie danych spełniających określony warunek. Możesz na przykład ukryć wszystkie rekordy starsze niż 2 lata.
- Ukrywanie danych, które pasują do określonej wartości. Na przykład ukryj wszystkie problemy o stanie „zamknięty”.
Filtr podstawowy
Obiekt
BasicFilter
arkusza kalkulacyjnego to domyślny filtr, który jest stosowany za każdym razem, gdy ktoś wyświetla arkusz kalkulacyjny. Arkusze mogą mieć tylko 1 filtr podstawowy na arkusz. Możesz wyłączyć filtr podstawowy, usuwając go. Spowoduje to usunięcie filtra i wszystkich jego ustawień z arkusza kalkulacyjnego. Jeśli chcesz ponownie włączyć ten sam filtr, musisz ponownie ustawić kryteria.
Zarządzanie filtrem podstawowym
Aby ustawić lub wyczyścić filtr podstawowy, użyj metody spreadsheets.batchUpdate z odpowiednim typem żądania:
- Aby ustawić filtr podstawowy, użyj metody
SetBasicFilterRequest. - Aby wyczyścić filtr podstawowy, użyj metody
ClearBasicFilterRequest.
Aby wyświetlić podstawowy filtr, użyj metody
spreadsheets.get
i ustaw parametr adresu URL fields na sheets/basicFilter. Poniższy przykładowy kodspreadsheets.get pokazuje adres URL arkusza Google z maską pola:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/basicFilter
Widoki filtrów
FilterView to nazwany filtr, który możesz włączać i wyłączać w dowolnym momencie. Arkusz może mieć zapisanych wiele widoków filtra, ale w danym momencie możesz zastosować tylko jeden. Arkusz może też zawierać zarówno podstawowy filtr, jak i wiele widoków filtrów, ale nie można zastosować obu jednocześnie w tym samym zakresie danych.
Przypadki użycia widoku filtra
Oto kilka przykładowych zastosowań widoków filtrów:
- Masz kilka różnych filtrów, między którymi chcesz się przełączać podczas wyświetlania danych.
- Nie masz uprawnień do edytowania arkusza kalkulacyjnego, ale chcesz zastosować filtr. W takim przypadku możesz utworzyć tymczasowy widok filtra, który jest widoczny tylko dla Ciebie.
Chcesz, aby każda osoba, której udostępnisz arkusz kalkulacyjny, wyświetlała dane w inny sposób. Możesz określić widok przefiltrowany, który chcesz zastosować, podając parametry
spreadsheetIdifilterViewIdw adresie URL arkusza kalkulacyjnego. Aby to zrobić, użyjfilterViewIdzwróconego w odpowiedzi podczas tworzenia widoku filtra.Poniższy przykładowy kod pokazuje adres URL Arkuszy z widokiem filtra:
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0&fvid=FILTER_VIEW_ID
Zarządzanie widokami filtra
Aby utworzyć, zduplikować, zmodyfikować lub usunąć widoki przefiltrowane, użyj metody
spreadsheets.batchUpdate
z odpowiednim typem żądania:
- Aby utworzyć widok filtra, użyj metody
AddFilterViewRequest. - Aby utworzyć kopię widoku filtra, użyj metody
DuplicateFilterViewRequest. - Aby zmodyfikować właściwości widoku filtra, użyj metody
UpdateFilterViewRequest. - Aby usunąć widok filtra, użyj metody
DeleteFilterViewRequest.
Aby wyświetlić listę wszystkich widoków danych z filtrem, użyj metody
spreadsheets.get
i ustaw parametr adresu URL fields na sheets/filterViews. Poniższy przykładowy kodspreadsheets.get pokazuje adres URL Arkuszy z maską pola:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/filterViews
Zapis JSON filtra
Poniższy przykład kodu przedstawia reprezentację JSON obiektu FilterView. Obiekt BasicFilter
jest taki sam, z wyjątkiem tego, że nie zawiera pól filterViewId i title
i nie może używać zakresu nazwanego.
{
"filterViewId": number,
"title": string,
"range": {
object(GridRange)
},
"namedRangeId": string,
"sortSpecs": [
{
object(SortSpec)
}
],
"criteria": {
string: {
object(FilterCriteria)
},
...
}
}
Przykładowe dane o sprzedaży
W pozostałej części tego dokumentu będziemy odwoływać się do tej przykładowej tabeli danych o sprzedaży:
| A | B | C | D | E | F | G | |
| 1 | Kategoria produktu | Numer modelu | Koszt | Ilość | Region | Pracownik działu sprzedaży | Data wysyłki |
| 2 | Diabelski młyn | W-24 | 20,50 USD | 4 | zachód | Beth | 01.03.2016 |
| 3 | Drzwi | D-01X | 15 zł | 2 | południe | Amir | 15.03.2016 r. |
| 4 | Rama | FR-0B1 | 34,00 USD | 8 | wschód | Hannah | 12.03.2016 r. |
| 5 | Panel | P-034 | 18 PLN | 4 | północ | Devyn | 15.03.2016 r. |
| 6 | Panel | P-052 | 11,50 PLN | 7 | wschód | Erik | 16.05.2016 r. |
| 7 | Diabelski młyn | W-24 | 20,50 USD | 11 | południe | Sheldon | 30.04.2016 r. |
| 8 | Wyszukiwarka | ENG-0161 | 330,00 PLN | 2 | północ | Jessie | 02.07.2016 r. |
Specyfikacje sortowania
Filtr może mieć wiele specyfikacji sortowania. Te specyfikacje określają sposób sortowania danych i są stosowane w podanej kolejności. Atrybut
SortSpec.dimensionIndex
określa indeks kolumny, do której ma być zastosowane sortowanie.
Poniższy przykładowy kod pokazuje specyfikację sortowania:
[
{
"dimensionIndex": 3,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 6,
"sortOrder": "ASCENDING"
}
]
W przypadku zastosowania do przykładowych danych o sprzedaży ta specyfikacja sortuje najpierw według kolumny „Ilość”, a potem, jeśli 2 wiersze mają tę samą ilość, według kolumny „Data wysyłki”.
| A | B | C | D | E | F | G | |
| 1 | Kategoria produktu | Numer modelu | Koszt | Ilość | Region | Pracownik działu sprzedaży | Data wysyłki |
| 2 | Drzwi | D-01X | 15 zł | 2 | południe | Amir | 15.03.2016 r. |
| 3 | Wyszukiwarka | ENG-0161 | 330,00 PLN | 2 | północ | Jessie | 02.07.2016 r. |
| 4 | Diabelski młyn | W-24 | 20,50 USD | 4 | zachód | Beth | 01.03.2016 |
| 5 | Panel | P-034 | 18 PLN | 4 | północ | Devyn | 15.03.2016 r. |
| 6 | Panel | P-052 | 11,50 PLN | 7 | wschód | Erik | 16.05.2016 r. |
| 7 | Rama | FR-0B1 | 34,00 USD | 8 | wschód | Hannah | 12.03.2016 r. |
| 8 | Diabelski młyn | W-24 | 20,50 USD | 11 | południe | Sheldon | 30.04.2016 r. |
Kryteria filtra
Obiekt
FilterCriteria
określa, które dane arkusza kalkulacyjnego są wyświetlane lub ukrywane w podstawowym filtrze lub widoku filtra. Każde kryterium zależy od wartości w określonej kolumnie. Kryteria filtra podajesz w postaci mapy, w której klucze to indeksy kolumn, a wartości to kryteria.
W przypadku kryteriów określonych za pomocą wartości logicznej condition warunek musi być true, aby wyświetlać wartości. Warunek nie zastępuje hiddenValues.
Jeśli wartość jest wymieniona w sekcji hiddenValues, wszystkie pasujące do niej wyniki są nadal ukryte.
Poniższy przykładowy kod pokazuje mapę kryteriów filtra:
{
0: {
'hiddenValues': ['Panel']
},
6: {
'condition': {
'type': 'DATE_BEFORE',
'values': {
'userEnteredValue': '4/30/2016'
}
}
}
}
W przypadku zastosowania do przykładowych danych o sprzedaży to kryterium wyświetla tylko wiersze, w których wartość kolumny „Kategoria produktu” nie jest równa „Panel” i w których wartość kolumny „Data wysyłki” jest wcześniejsza niż „30 kwietnia 2016 r.”.
| A | B | C | D | E | F | G | |
| 1 | Kategoria produktu | Numer modelu | Koszt | Ilość | Region | Pracownik działu sprzedaży | Data wysyłki |
| 2 | Diabelski młyn | W-24 | 20,50 USD | 4 | zachód | Beth | 01.03.2016 |
| 3 | Drzwi | D-01X | 15 zł | 2 | południe | Amir | 15.03.2016 r. |
| 4 | Rama | FR-0B1 | 34,00 USD | 8 | wschód | Hannah | 12.03.2016 r. |
Przykładowy kod widoku filtra
Poniższy przykładowy kod pokazuje, jak utworzyć widok filtra, zduplikować go, a następnie zaktualizować zduplikowaną wersję za pomocą przykładowych danych o sprzedaży.