このクラスを使用して、Grid
個のシート(デフォルト タイプ
できます。グリッドシートは、データベースに接続されていないデータを含む通常のシートです。
スプレッドシートにフィルタがまだ存在しない場合は、Range.createFilter()
を使用して作成します。
このクラスを使用するには、まず Range.getFilter()
または Sheet.getFilter()
を使用してグリッド シートフィルタにアクセスする必要があります。
一般的な使用例
フィルタを削除する
以下のサンプルでは、アクティブ シートのフィルタを取得して削除しています。let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Removes the filter from the active sheet. filter.remove();
フィルタが適用される範囲を取得する
以下のサンプルでは、アクティブ シートでフィルタを取得してから、getRange()
メソッドを使用します。
このクラスは、フィルタが適用される範囲をログに記録します。
let ss = SpreadsheetApp.getActiveSheet(); // Gets the existing filter on the active sheet. let filter = ss.getFilter(); // Logs the range that the filter applies to in A1 notation. console.log(filter.getRange().getA1Notation());
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
getColumnFilterCriteria(columnPosition) | FilterCriteria | 指定された列のフィルタ条件を取得します。列に存在しない場合は null になります。
フィルタ条件が適用されています |
getRange() | Range | このフィルタが適用される範囲を取得します。 |
remove() | void | このフィルタを削除します。 |
removeColumnFilterCriteria(columnPosition) | Filter | 指定した列からフィルタ条件を削除します。 |
setColumnFilterCriteria(columnPosition, filterCriteria) | Filter | 指定された列にフィルタ条件を設定します。 |
sort(columnPosition, ascending) | Filter | フィルタされた範囲を、指定した列の最初の行(ヘッダー行)を除く、指定した列で並べ替えます このフィルタが適用される範囲です。 |
詳細なドキュメント
getColumnFilterCriteria(columnPosition)
指定された列のフィルタ条件を取得します。列に存在しない場合は null
になります。
フィルタ条件が適用されています
フィルタ条件の詳細を取得するには、このメソッドを
FilterCriteria
クラス。
let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Gets the filter criteria applied to column B of the active sheet // and logs the hidden values. let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); console.log(filterCriteria);
パラメータ
名前 | 型 | 説明 |
---|---|---|
columnPosition | Integer | 列の 1 から始まる番号。たとえば、列 B のインデックスは 2 です。 |
戻る
FilterCriteria
- フィルタ条件。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRange()
このフィルタが適用される範囲を取得します。
// Gets the existing filter on the active sheet. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Logs the range that the filter applies to in A1 notation. console.log(filter.getRange().getA1Notation());
戻る
Range
- フィルタの範囲。A1 表記の範囲を取得するには、このメソッドを Range.getA1Notation()
と連結します。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove()
このフィルタを削除します。
// Removes the filter from the active sheet. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); filter.remove();
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeColumnFilterCriteria(columnPosition)
指定した列からフィルタ条件を削除します。
// Removes the filter criteria from column B. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); filter.removeColumnFilterCriteria(2);
パラメータ
名前 | 型 | 説明 |
---|---|---|
columnPosition | Integer | 列の 1 から始まる番号。たとえば、列 B のインデックスは 2 です。 |
戻る
Filter
- チェーン用のフィルタ。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setColumnFilterCriteria(columnPosition, filterCriteria)
指定された列にフィルタ条件を設定します。まず、フィルタ条件作成ツールを作成します。
SpreadsheetApp.newFilterCriteria()
を使用します。次に 条件をビルダーに追加します
FilterCriteriaBuilder
クラスを使用します。条件を作成したら、その条件を
このメソッドの filterCriteria
パラメータ。
let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Builds the filter criteria to use as a parameter for setColumnFilterCriteria. const criteria = SpreadsheetApp.newFilterCriteria() .setHiddenValues(["Hello", "World"]) .build(); // Sets the filter criteria for column C. filter.setColumnFilterCriteria(3, criteria);
パラメータ
名前 | 型 | 説明 |
---|---|---|
columnPosition | Integer | 列の 1 から始まる番号。たとえば、列 B のインデックスは 2 です。 |
filterCriteria | FilterCriteria | 設定するフィルタ条件。条件を null に設定した場合、
指定した列からフィルタ条件を削除します。removeColumnFilterCriteria(columnPosition) を使用することもできます。 |
戻る
Filter
- チェーン用のフィルタ。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
sort(columnPosition, ascending)
フィルタされた範囲を、指定した列の最初の行(ヘッダー行)を除く、指定した列で並べ替えます このフィルタが適用される範囲です。
// Gets the existing filter and sorts it by column B in ascending order. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); filter.sort(2, true);
パラメータ
名前 | 型 | 説明 |
---|---|---|
columnPosition | Integer | 列の 1 から始まる番号。たとえば、列 B のインデックスは 2 です。 |
ascending | Boolean | true の場合、フィルタされた範囲を昇順で並べ替えます。false の場合、フィルタされた範囲を降順に並べ替えます。 |
戻る
Filter
- チェーン用のフィルタ。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets