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 filtrów możesz też zapisywać różne nazwane filtry i przełączać się między nimi w dowolnym momencie.
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.
- ukrywać dane spełniające 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. Możesz na przykład ukryć wszystkie problemy o stanie „zamknięty”.
Filtr podstawowy
BasicFilter
arkusza kalkulacyjnego to domyślny filtr, który jest stosowany, gdy ktoś wyświetla arkusz. Arkusz może mieć 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 zawierać wiele widoków filtra, ale w danym momencie możesz zastosować tylko jeden.
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
spreadsheetId
ifilterViewId
w adresie URL arkusza kalkulacyjnego. Aby to zrobić, użyj parametrufilterViewId
zwróconego w odpowiedzi podczas tworzenia widoku filtra.Poniższy przykładowy kod pokazuje adres URL Arkuszy Google 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 arkusza Google z maską pola:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/filterViews)
Reprezentacja 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
W pozostałej części tego dokumentu będziemy odwoływać się do przykładowej tabeli danych o sprzedaży poniżej:
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 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 USD | 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 | Silnik | ENG-0161 | 330 USD | 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 „Quantity”, a potem, jeśli 2 wiersze mają tę samą ilość, według kolumny „Ship Date”.
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 | Silnik | ENG-0161 | 330 USD | 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 USD | 7 | wschód | Erik | 16.05.2016 r. |
7 | Rama | FR-0B1 | 34 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
Metoda
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 filtrowania podajesz w postaci mapy, w której kluczami są indeksy kolumn, a wartościami – kryteria.
W przypadku kryteriów określonych za pomocą wartości logicznej condition
warunek musi mieć wartość 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 przykładowych danych o sprzedaży to kryterium wyświetla tylko wiersze, w których „Kategoria produktu” nie jest równa „Panel” i w których „Data wysyłki” przypada przed 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 USD | 8 | wschód | Hannah | 12.03.2016 r. |
Przykład
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 podanych powyżej.