このクラスを使用して、既存のフィルタの条件に関する情報を取得したり、条件をコピーしたりします。
- 新しいフィルタを作成するには、以下をご覧ください。
- シートには
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|null | フィルタ条件として使用される背景色を返します。 |
get | Color|null | フィルタ条件として使用される前景色を返します。 |
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|null - フィルタ条件として使用される背景色。
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|null - フィルタ条件として使用される前景色。
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[] - ピボット テーブルのフィルタに表示される値の配列。