Class FilterCriteria

FilterCriteria

このクラスを使用すると、既存のフィルタの条件に関する情報を取得したり、既存のフィルタの条件をコピーしたりできます。

一般的な使用例

条件をコピー

次のサンプルでは、範囲 A1:C20 に適用されるフィルタを取得し、条件を取得します。 その条件を列 B にコピーします。
let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
// Copies the filter criteria applied to column C.
let filter = range.getFilter();
let 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 を非表示にします。
let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Gets the filter criteria applied to column B, then gets the hidden values.
let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
// Logs the hidden values.
console.log(filterCriteria);

メソッド

メソッド戻り値の型概要
copy()FilterCriteriaBuilderこのフィルタ条件をコピーし、別の条件に適用できる条件作成ツールを作成します フィルタで絞り込んでから、
getCriteriaType()BooleanCriteria条件のブール値の型(CELL_EMPTY など)を返します。
getCriteriaValues()Object[]ブール値の基準を示す引数の配列を返します。
getHiddenValues()String[]フィルタで非表示にする値を返します。
getVisibleBackgroundColor()Colorフィルタ条件として使用される背景色を返します。
getVisibleForegroundColor()Colorフィルタ条件として使用される前景色を返します。
getVisibleValues()String[]ピボット テーブル フィルタが示す値を返します。

詳細なドキュメント

copy()

このフィルタ条件をコピーし、別の条件に適用できる条件作成ツールを作成します フィルタで絞り込んでから、

この方法は、どのタイプのフィルタでも使用できます。シートフィルタを使用すると 条件を別の列にコピーします

let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Makes a copy of the filter criteria applied to column C.
let 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);

戻る

FilterCriteriaBuilder - このフィルタ条件に基づくフィルタ条件ビルダー。


getCriteriaType()

条件のブール値の型(CELL_EMPTY など)を返します。リソースの種類について BooleanCriteria 列挙型をご覧ください。

多くのユーザーは、ブール型の条件条件をフィルタに追加するときに、 編集することもできます

この方法は、どのタイプのフィルタにも使用できます。フィルタ条件がブール値でない場合 null を返します。

let ss = SpreadsheetApp.getActiveSheet();
// Gets the filter on the active sheet.
let filter = ss.getFilter();
// Gets the criteria type and returns a string representing the criteria type object.
let criteriaType = filter.getColumnFilterCriteria(2)
                         .getCriteriaType()
                         .toString();
// Logs the criteria type.
console.log(criteriaType);

戻る

BooleanCriteria - ブール値の条件のタイプ。条件がブール値でない場合は null あります。


getCriteriaValues()

ブール値の基準を示す引数の配列を返します。ブール型の条件タイプには 空の配列を返します(例: CELL_NOT_EMPTY)。

多くのユーザーは、ブール型の条件条件をフィルタに追加するときに、 編集することもできます

  • ブール型の条件タイプを取得するには、getCriteriaType() を使用します。
  • 条件タイプと条件値を使用してフィルタ条件を作成または変更するには、 FilterCriteriaBuilder.withCriteria(criteria, args)

    この方法は、どのタイプのフィルタにも使用できます。

    let ss = SpreadsheetApp.getActiveSheet();
    let 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.
    let criteriaValues = filter.getColumnFilterCriteria(2).getCriteriaValues();
    console.log(criteriaValues);

    戻る

    Object[] - ブール値の基準タイプに応じた引数の配列。引数の数 その型は、FilterCriteriaBuilder クラスの対応する when...() メソッドと一致します。


getHiddenValues()

フィルタで非表示にする値を返します。

この条件は、デフォルトのシートタイプである Grid シートのフィルタで使用します。 他のタイプのフィルタに対してこのメソッドを呼び出すと、null が返されます。

let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Gets the filter criteria applied to column B, then gets the hidden values.
let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
// Logs the hidden values.
console.log(filterCriteria);

戻る

String[] - フィルタで非表示にする値の配列。


getVisibleBackgroundColor()

フィルタ条件として使用される背景色を返します。この背景色のセルは残ります 表示されます。

この条件は、デフォルトのシートタイプである Grid シートのフィルタで使用します。 他のタイプのフィルタに対してこのメソッドを呼び出すと、null が返されます。

let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
// Logs the background color that column B is filtered by as a hexadecimal string.
let filter = range.getFilter();
let color = filter.getColumnFilterCriteria(2)
                  .getVisibleBackgroundColor()
                  .asRgbColor()
                  .asHexString();
console.log(color);

戻る

Color - フィルタ条件として使用される背景色。


getVisibleForegroundColor()

フィルタ条件として使用される前景色を返します。この前景色のセルは残ります 表示されます。

この条件は、デフォルトのシートタイプである Grid シートのフィルタで使用します。 他のタイプのフィルタに対してこのメソッドを呼び出すと、null が返されます。

let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
// Logs the foreground color that column B is filtered by as a hexadecimal string.
let filter = range.getFilter();
let color = filter.getColumnFilterCriteria(2)
                  .getVisibleForegroundColor()
                  .asRgbColor()
                  .asHexString();
console.log(color);

戻る

Color - フィルタ条件として使用される前景色。


getVisibleValues()

ピボット テーブル フィルタが示す値を返します。

この条件は、データベースに接続されていないピボット テーブルのフィルタにのみ適用されます。 他のタイプのフィルタの場合は空の配列を返します。

let ss = SpreadsheetApp.getActiveSheet();
// Gets the first pivot table on the sheet, then gets the visible values of its first filter.
pivotTable = ss.getPivotTables()[0];
pivotFilterValues = pivotTable.getFilters()[0].getFilterCriteria().getVisibleValues();
// Logs the visible values.
console.log(pivotFilterValues);

戻る

String[] - ピボット テーブル フィルタで表示される値の配列。