このクラスは、既存のフィルタに関する情報を取得したり、条件をコピーしたりするために使用します。
- 新しいフィルタを作成するには、以下を参照してください。
- シートの場合は、
Range.createFilter()
を使用します。 - ピボット テーブルの場合は、
Pivot
を使用します。Table.addFilter(sourceDataColumn, filterCriteria) - データベースに接続されているシートの場合は、
Data
を使用します。Source Sheet.addFilter(columnName, filterCriteria) - データベースに接続されているピボット テーブルの場合は、
Data
を使用します。Source Pivot Table.addFilter(columnName, filterCriteria)
- シートの場合は、
- 任意のタイプのフィルタの条件を作成するには、
Spreadsheet
とApp.newFilterCriteria() Filter
をご覧ください。Criteria Builder
一般的な使用例
条件をコピーする
次のサンプルでは、範囲A1:C20
に適用されるフィルタを取得し、列 C に適用される条件を取得して、条件を列 B にコピーします。const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); // Copies the filter criteria applied to column C. const filter = range.getFilter(); const criteria = filter.getColumnFilterCriteria(3).copy().build(); // Applies the copied criteria to column B. The copied criteria overwrites any // existing criteria on column B. filter.setColumnFilterCriteria(2, criteria);
フィルタによって非表示になった値を取得する
次のサンプルは、指定された範囲に適用されるフィルタを取得し、フィルタによって非表示になる列 B の値をログに記録します。const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); const filter = range.getFilter(); // Gets the filter criteria applied to column B, then gets the hidden values. const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); // Logs the hidden values. console.log(filterCriteria);
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
copy() | Filter | このフィルタ条件をコピーし、別のフィルタに適用できる条件ビルダーを作成します。 |
get | Boolean | 条件のブール値型(CELL_EMPTY など)を返します。 |
get | Object[] | ブール条件の引数の配列を返します。 |
get | String[] | フィルタによって非表示にされた値を返します。 |
get | Color | フィルタ条件として使用される背景色を返します。 |
get | Color | フィルタ条件として使用される前景色を返します。 |
get | String[] | ピボット テーブル フィルタに表示される値を返します。 |
詳細なドキュメント
copy()
このフィルタ条件をコピーし、別のフィルタに適用できる条件ビルダーを作成します。
この方法は、任意のタイプのフィルタで使用できます。シートフィルタを使用している場合は、条件を別の列にコピーできます。
const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); // Makes a copy of the filter criteria applied to column C. const criteria = filter.getColumnFilterCriteria(3).copy().build(); // Applies the copied criteria to column B. The copied criteria overwrites any // existing criteria on column B. filter.setColumnFilterCriteria(2, criteria);
戻る
Filter
- このフィルタ条件に基づくフィルタ条件ビルダー。
get Criteria Type()
条件のブール値型(CELL_EMPTY
など)を返します。ブール条件の種類については、Boolean
列挙型をご覧ください。
多くの場合、この方法は、既存の条件を置き換えることなく、ブール値の条件をフィルタに追加するために使用されます。
- 条件の引数を取得するには、
get
を使用します。Criteria Values() - 条件の種類と条件値を使用してフィルタ条件を作成または変更するには、
Filter
をご覧ください。Criteria Builder.withCriteria(criteria, args)
この方法は、どの種類のフィルタにも使用できます。フィルタ条件がブール条件でない場合は、null
を返します。
const ss = SpreadsheetApp.getActiveSheet(); // Gets the filter on the active sheet. const filter = ss.getFilter(); // Gets the criteria type and returns a string representing the criteria type // object. const criteriaType = filter.getColumnFilterCriteria(2).getCriteriaType().toString(); // Logs the criteria type. console.log(criteriaType);
戻る
Boolean
- ブール値条件のタイプ。条件がブール値条件でない場合は null
。
get Criteria Values()
ブール条件の引数の配列を返します。一部のブール条件のタイプには引数がなく、空の配列(CELL_NOT_EMPTY
など)を返します。
多くの場合、この方法は、既存の条件を置き換えることなく、ブール値の条件をフィルタに追加するために使用されます。
- ブール値の条件タイプを取得するには、
get
を使用します。Criteria Type() - 条件の種類と条件値を使用してフィルタ条件を作成または変更するには、
Filter
をご覧ください。Criteria Builder.withCriteria(criteria, args) この方法は、どの種類のフィルタにも使用できます。
const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); // Gets the values of the boolean criteria and logs them. For example, if the // boolean condition is whenNumberGreaterThan(10), then the logged value is 10. const criteriaValues = filter.getColumnFilterCriteria(2).getCriteriaValues(); console.log(criteriaValues);
戻る
Object[]
- ブール値の条件タイプに適した引数の配列。引数の数と型が、Filter
クラスの対応するCriteria Builder when...()
メソッドと一致している。
get Hidden Values()
フィルタによって非表示にされた値を返します。
この条件は、デフォルトのシートタイプである Grid
シートのフィルタで使用します。他のタイプのフィルタに対してこのメソッドを呼び出すと、null
が返されます。
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); const filter = range.getFilter(); // Gets the filter criteria applied to column B, then gets the hidden values. const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); // Logs the hidden values. console.log(filterCriteria);
戻る
String[]
- フィルタで非表示にする値の配列。
get Visible Background Color()
フィルタ条件として使用される背景色を返します。この背景色のセルは引き続き表示されます。
この条件は、デフォルトのシートタイプである Grid
シートのフィルタで使用します。他のタイプのフィルタに対してこのメソッドを呼び出すと、null
が返されます。
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); // Logs the background color that column B is filtered by as a hexadecimal // string. const filter = range.getFilter(); const color = filter.getColumnFilterCriteria(2) .getVisibleBackgroundColor() .asRgbColor() .asHexString(); console.log(color);
戻る
Color
- フィルタ条件として使用される背景色。
get Visible Foreground Color()
フィルタ条件として使用される前景色を返します。この前景色のセルは引き続き表示されます。
この条件は、デフォルトのシートタイプである Grid
シートのフィルタで使用します。他のタイプのフィルタに対してこのメソッドを呼び出すと、null
が返されます。
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); // Logs the foreground color that column B is filtered by as a hexadecimal // string. const filter = range.getFilter(); const color = filter.getColumnFilterCriteria(2) .getVisibleForegroundColor() .asRgbColor() .asHexString(); console.log(color);
戻る
Color
- フィルタ条件として使用される前景色。
get Visible Values()
ピボット テーブル フィルタに表示される値を返します。
この条件は、データベースに接続されていないピボット テーブルのフィルタにのみ適用されます。他のタイプのフィルタの場合は空の配列を返します。
const ss = SpreadsheetApp.getActiveSheet(); // Gets the first pivot table on the sheet, then gets the visible values of its // first filter. const pivotTable = ss.getPivotTables()[0]; const pivotFilterValues = pivotTable.getFilters()[0].getFilterCriteria().getVisibleValues(); // Logs the visible values. console.log(pivotFilterValues);
戻る
String[]
- ピボット テーブル フィルタに表示される値の配列。