Class FilterCriteriaBuilder

フィルタ条件ビルダー

フィルタ条件のビルダー。フィルタに条件を追加するには、次の操作を行います。

  1. SpreadsheetApp.newFilterCriteria() を使用して条件ビルダーを作成します。
  2. このクラスのメソッドを使用して、ビルダーに設定を追加します。
  3. build() を使用して、指定した設定で条件を組み立てます。

一般的な使用例

シート上の値を非表示にする

次のサンプルは、シートの既存のフィルタを取得し、「hello」または「world」を含む C 列のセルを非表示にする条件を追加します。このサンプルの条件は、デフォルトのシートタイプである Grid シートのフィルタでのみ使用できます。
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
const criteria = SpreadsheetApp.newFilterCriteria()
                     .setHiddenValues(['hello', 'world'])
                     .build();
filter.setColumnFilterCriteria(3, criteria);

空でないセルのみを表示する

次のサンプルでは、データベースに接続されているシートである DataSource シートにフィルタを追加し、[カテゴリ] 列の空でないセルのみを表示する条件を指定しています。
// Gets the sheet named "Connected sheet," which is connected to a database.
const sheet = SpreadsheetApp.getActiveSpreadsheet()
                  .getSheetByName('Connected sheet')
                  .asDataSourceSheet();
// Creates criteria that only shows non-empty cells.
const criteria = SpreadsheetApp.newFilterCriteria().whenCellNotEmpty().build();
// Applies the criteria to the column named "Category."
sheet.addFilter('Category', criteria);

メソッド

メソッド戻り値の型概要
build()FilterCriteria条件ビルダーに追加した設定を使用して、フィルタ条件を組み立てます。
copy()FilterCriteriaBuilderこのフィルタ条件をコピーし、別のフィルタに適用できる条件ビルダーを作成します。
getCriteriaType()BooleanCriteria条件のブール値型(CELL_EMPTY など)を返します。
getCriteriaValues()Object[]ブール条件の引数の配列を返します。
getHiddenValues()String[]フィルタによって非表示にされた値を返します。
getVisibleBackgroundColor()Colorフィルタ条件として使用される背景色を返します。
getVisibleForegroundColor()Colorフィルタ条件として使用される前景色を返します。
getVisibleValues()String[]ピボット テーブル フィルタに表示される値を返します。
setHiddenValues(values)FilterCriteriaBuilder非表示にする値を設定します。
setVisibleBackgroundColor(visibleBackgroundColor)FilterCriteriaBuilderフィルタ条件として使用される背景色を設定します。
setVisibleForegroundColor(visibleForegroundColor)FilterCriteriaBuilderフィルタ条件として使用される前景色を設定します。
setVisibleValues(values)FilterCriteriaBuilderピボット テーブルに表示する値を設定します。
whenCellEmpty()FilterCriteriaBuilder空白のセルを表示するようにフィルタ条件を設定します。
whenCellNotEmpty()FilterCriteriaBuilder空でないセルを表示するようにフィルタ条件を設定します。
whenDateAfter(date)FilterCriteriaBuilder指定した日付より後の日付を含むセルを表示するフィルタ条件を設定します。
whenDateAfter(date)FilterCriteriaBuilder指定した相対日付より後の日付を含むセルを表示するフィルタ条件を設定します。
whenDateBefore(date)FilterCriteriaBuilder指定した日付より前の日付を含むセルを表示するフィルタ条件を設定します。
whenDateBefore(date)FilterCriteriaBuilder指定した相対日付より前の日付を含むセルを表示するフィルタ条件を設定します。
whenDateEqualTo(date)FilterCriteriaBuilder指定した日付に等しい日付のセルが表示されるフィルタ条件を設定します。
whenDateEqualTo(date)FilterCriteriaBuilder指定した相対日付に等しい日付を含むセルを表示するフィルタ条件を設定します。
whenDateEqualToAny(dates)FilterCriteriaBuilder指定した日付のいずれかに等しい日付のセルが表示されるようにフィルタ条件を設定します。
whenDateNotEqualTo(date)FilterCriteriaBuilder指定した日付と等しくないセルを表示するようにフィルタ条件を設定します。
whenDateNotEqualToAny(dates)FilterCriteriaBuilder指定した日付と等しくない日付のセルが表示されるようにフィルタ条件を設定します。
whenFormulaSatisfied(formula)FilterCriteriaBuilder指定された数式(=B:B<C:C など)で評価結果が true になるセルを表示するようにフィルタ条件を設定します。
whenNumberBetween(start, end)FilterCriteriaBuilder指定した 2 つの数値の範囲内にある数値、またはそのいずれかの数値を含むセルを表示するようにフィルタ条件を設定します。
whenNumberEqualTo(number)FilterCriteriaBuilder指定した数値に等しい数値を含むセルを表示するようにフィルタ条件を設定します。
whenNumberEqualToAny(numbers)FilterCriteriaBuilder指定したいずれかの数値に等しい数値を含むセルを表示するようにフィルタ条件を設定します。
whenNumberGreaterThan(number)FilterCriteriaBuilder指定した数より大きい数値を含むセルを表示するようにフィルタ条件を設定します。
whenNumberGreaterThanOrEqualTo(number)FilterCriteriaBuilder指定した数以上の数値を含むセルを表示するようにフィルタ条件を設定します。
whenNumberLessThan(number)FilterCriteriaBuilder指定した数より小さい数値を含むセルを表示するようにフィルタ条件を設定します。
whenNumberLessThanOrEqualTo(number)FilterCriteriaBuilder指定した数以下の数値を含むセルを表示するようにフィルタ条件を設定します。
whenNumberNotBetween(start, end)FilterCriteriaBuilder指定した 2 つの数値の範囲内でも、どちらでもない数値を含むセルを表示するようにフィルタ条件を設定します。
whenNumberNotEqualTo(number)FilterCriteriaBuilder指定した数値と異なる数値を含むセルを表示するようにフィルタ条件を設定します。
whenNumberNotEqualToAny(numbers)FilterCriteriaBuilder指定されたいずれの数字とも等しくない数値を含むセルを表示するようにフィルタ条件を設定します。
whenTextContains(text)FilterCriteriaBuilder指定したテキストを含むテキストを含むセルを表示するようにフィルタ条件を設定します。
whenTextDoesNotContain(text)FilterCriteriaBuilder指定したテキストを含まないテキストを含むセルを表示するようにフィルタ条件を設定します。
whenTextEndsWith(text)FilterCriteriaBuilder指定したテキストで終わるテキストを含むセルを表示するようにフィルタ条件を設定します。
whenTextEqualTo(text)FilterCriteriaBuilder指定したテキストと一致するテキストを含むセルを表示するようにフィルタ条件を設定します。
whenTextEqualToAny(texts)FilterCriteriaBuilder指定したテキスト値のいずれかに等しいテキストを含むセルを表示するようにフィルタ条件を設定します。
whenTextNotEqualTo(text)FilterCriteriaBuilder指定したテキストと等しくないテキストを含むセルを表示するようにフィルタ条件を設定します。
whenTextNotEqualToAny(texts)FilterCriteriaBuilder指定した値のいずれとも等しくないテキストを含むセルを表示するようにフィルタ条件を設定します。
whenTextStartsWith(text)FilterCriteriaBuilder指定したテキストで始まるテキストを含むセルを表示するようにフィルタ条件を設定します。
withCriteria(criteria, args)FilterCriteriaBuilderフィルタ条件を、BooleanCriteria 値(CELL_EMPTYNUMBER_GREATER_THAN など)で定義されたブール条件に設定します。

詳細なドキュメント

build()

条件ビルダーに追加した設定を使用して、フィルタ条件を組み立てます。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
const criteria = SpreadsheetApp
                     .newFilterCriteria()  // Creates a criteria builder.
                     .whenCellNotEmpty()   // Adds settings to the builder.
                     .build();             // Assembles the criteria.
filter.setColumnFilterCriteria(2, criteria);

戻る

FilterCriteria - フィルタ条件の表現。


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);

戻る

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


getCriteriaType()

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

この方法は、既存の条件を置き換えることなく、フィルタにブール条件を追加する場合によく使用されます。

  • 条件の引数を取得するには、getCriteriaValues() を使用します。
  • 条件の種類と条件値を使用してフィルタ条件を作成または変更するには、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);

戻る

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


getCriteriaValues()

ブール条件の引数の配列を返します。一部のブール条件のタイプには引数がなく、空の配列(CELL_NOT_EMPTY など)を返します。

多くの場合、この方法は、既存の条件を置き換えることなく、ブール値の条件をフィルタに追加するために使用されます。

  • ブール値の条件タイプを取得するには、getCriteriaType() を使用します。
  • 条件の種類と条件値を使用してフィルタ条件を作成または変更するには、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[] - ブール値の条件タイプに適した引数の配列。引数の数と型が、FilterCriteriaBuilder クラスの対応する when...() メソッドと一致している。


getHiddenValues()

フィルタによって非表示にされた値を返します。

この条件は、デフォルトのシートタイプである 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[] - フィルタで非表示にする値の配列。


getVisibleBackgroundColor()

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

この条件は、デフォルトのシートタイプである 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 - フィルタ条件として使用される背景色。


getVisibleForegroundColor()

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

この条件は、デフォルトのシートタイプである 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 - フィルタ条件として使用される前景色。


getVisibleValues()

ピボット テーブル フィルタに表示される値を返します。

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

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[] - ピボット テーブル フィルタに表示される値の配列。


setHiddenValues(values)

非表示にする値を設定します。既存の表示または非表示の値をすべて消去します。

この条件は、デフォルトのシートタイプである Grid シートのフィルタにのみ使用できます。

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Sets the values to hide and applies the criteria to column C.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .setHiddenValues(['Hello', 'World'])
                     .build();
filter.setColumnFilterCriteria(3, criteria);

パラメータ

名前説明
valuesString[]非表示にする値のリスト。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。

例外

Error - いずれかの値が null の場合。


setVisibleBackgroundColor(visibleBackgroundColor)

フィルタ条件として使用される背景色を設定します。この背景色のセルは引き続き表示されます。背景色フィルタ条件を設定すると、このビルダーから現在の色フィルタ条件が削除されます。

この条件は、デフォルトのシートタイプである Grid シートのフィルタにのみ使用できます。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that filters by background color and sets it to column B.
const color = SpreadsheetApp.newColor().setRgbColor('#185ABC').build();
const criteria =
    SpreadsheetApp.newFilterCriteria().setVisibleBackgroundColor(color).build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
visibleBackgroundColorColor設定する背景色。色は RGB スタイルの色にする必要があります。このメソッドはテーマの色をサポートしていません。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


setVisibleForegroundColor(visibleForegroundColor)

フィルタ条件として使用される前景色を設定します。この前景色のセルは引き続き表示されます。前景色フィルタ条件を設定すると、このビルダーから現在の色フィルタ条件が削除されます。

この条件は、デフォルトのシートタイプである Grid シートのフィルタにのみ使用できます。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that filters by foreground color and sets it to column B.
const color = SpreadsheetApp.newColor().setRgbColor('#185ABC').build();
const criteria =
    SpreadsheetApp.newFilterCriteria().setVisibleForegroundColor(color).build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
visibleForegroundColorColor設定する前景色。色は RGB 形式の色にする必要があります。このメソッドはテーマの色をサポートしていません。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


setVisibleValues(values)

ピボット テーブルに表示する値を設定します。既存の表示または非表示の値をすべて消去します。

この条件は、データベースに接続されていないピボット テーブルのフィルタにのみ使用できます。

// Gets the active sheet.
const ss = SpreadsheetApp.getActiveSheet();
// Gets the first pivot table on the sheet and adds a filter to it that
// sets the visible values to "Northeast" and "Southwest."
const pivotTable = ss.getPivotTables()[0];
const criteria = SpreadsheetApp.newFilterCriteria()
                     .setVisibleValues(['Northeast', 'Southwest'])
                     .build();
pivotTable.addFilter(2, criteria);

パラメータ

名前説明
valuesString[]表示する値のリスト。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。

例外

Error - いずれかの値が null の場合。


whenCellEmpty()

空白のセルを表示するようにフィルタ条件を設定します。

この条件は、任意のタイプのフィルタで使用できます。

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Sets criteria to column B that only shows empty cells.
const criteria = SpreadsheetApp.newFilterCriteria().whenCellEmpty().build();
filter.setColumnFilterCriteria(2, criteria);

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenCellNotEmpty()

空でないセルを表示するようにフィルタ条件を設定します。

この条件は、任意のタイプのフィルタで使用できます。

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Sets criteria to column B that only shows cells that aren't empty.
const criteria = SpreadsheetApp.newFilterCriteria().whenCellNotEmpty().build();
filter.setColumnFilterCriteria(2, criteria);

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenDateAfter(date)

指定した日付より後の日付を含むセルを表示するフィルタ条件を設定します。

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が日付である必要があります。データがデータベースに接続されていない場合、フィルタリングする列のデータ型が日付である必要はありませんが、そうでない場合は予期しない結果が得られる可能性があります。

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates after June 1, 2022
// and sets it to column A.
const date = new Date('June 1, 2022');
const criteria = SpreadsheetApp.newFilterCriteria().whenDateAfter(date).build();
filter.setColumnFilterCriteria(1, criteria);

パラメータ

名前説明
dateDate非表示にする最終日。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenDateAfter(date)

指定した相対日付より後の日付を含むセルを表示するフィルタ条件を設定します。相対日付のオプションを表示するには、列挙型 RelativeDate をご覧ください。

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が日付である必要があります。データがデータベースに接続されていない場合、フィルタリングする列のデータ型が日付である必要はありませんが、そうでない場合は予期しない結果が得られる可能性があります。

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates after today's date
// and sets it to column A.

const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateAfter(SpreadsheetApp.RelativeDate.TODAY)
                     .build();
filter.setColumnFilterCriteria(1, criteria);

パラメータ

名前説明
dateRelativeDate最新の相対日付。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenDateBefore(date)

指定した日付より前の日付を含むセルを表示するフィルタ条件を設定します。

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が日付である必要があります。データがデータベースに接続されていない場合、フィルタリングする列のデータ型が日付である必要はありませんが、そうでない場合は予期しない結果が得られる可能性があります。

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates before June 1, 2022
// and sets it to column A.
const date = new Date('June 1, 2022');
const criteria =
    SpreadsheetApp.newFilterCriteria().whenDateBefore(date).build();
filter.setColumnFilterCriteria(1, criteria);

パラメータ

名前説明
dateDate非表示にする最小日付。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenDateBefore(date)

指定した相対日付より前の日付を含むセルを表示するフィルタ条件を設定します。相対日付のオプションを表示するには、列挙型 RelativeDate をご覧ください。

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が日付である必要があります。データがデータベースに接続されていない場合、フィルタリングする列のデータ型が日付である必要はありませんが、そうでない場合は予期しない結果が得られる可能性があります。

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates before today's date
// and sets it to column A.

const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateBefore(SpreadsheetApp.RelativeDate.TODAY)
                     .build();
filter.setColumnFilterCriteria(1, criteria);

パラメータ

名前説明
dateRelativeDate非表示にする最も早い日付。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenDateEqualTo(date)

指定した日付に等しい日付を含むセルを表示するフィルタ条件を設定します。

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が日付である必要があります。データがデータベースに接続されていない場合、フィルタリングする列のデータ型が日付である必要はありませんが、そうでない場合は予期しない結果が得られる可能性があります。

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates equal to June 1, 2022
// and sets it to column A.
const date = new Date('June 1, 2022');
const criteria =
    SpreadsheetApp.newFilterCriteria().whenDateEqualTo(date).build();
filter.setColumnFilterCriteria(1, criteria);

パラメータ

名前説明
dateDateセル値が一致する日付。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenDateEqualTo(date)

指定した相対日付に等しい日付を含むセルを表示するフィルタ条件を設定します。相対日付のオプションを表示するには、列挙型 RelativeDate をご覧ください。

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が日付である必要があります。データがデータベースに接続されていない場合、フィルタリングする列のデータ型が日付である必要はありませんが、そうでない場合は予期しない結果が得られる可能性があります。

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates that fall within the past
// month and sets it to column A.

const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateEqualTo(SpreadsheetApp.RelativeDate.PAST_MONTH)
                     .build();
filter.setColumnFilterCriteria(1, criteria);

パラメータ

名前説明
dateRelativeDateセル値が一致する必要がある相対日付。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenDateEqualToAny(dates)

指定した日付のいずれかに等しい日付を含むセルを表示するようにフィルタ条件を設定します。

この条件は、データベースに接続されているデータでのみ使用できます。たとえば、この条件は、DataSource シート、データベースに接続されているシート、DataSourcePivotTableDataSource シートから作成されたピボット テーブル)のフィルタで使用します。

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "date" column that shows cells with any of the below
// dates.
const date1 = new Date('June 1, 2022');
const date2 = new Date('June 2, 2022');
const date3 = new Date('June 3, 2022');
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateEqualToAny([date1, date2, date3])
                     .build();
dataSheet.addFilter('date', criteria);

パラメータ

名前説明
datesDate[]表示する日付。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenDateNotEqualTo(date)

指定した日付と等しくないセルを表示するようにフィルタ条件を設定します。

この条件は、データベースに接続されているデータでのみ使用できます。たとえば、この条件は、DataSource シート、データベースに接続されているシート、DataSourcePivotTableDataSource シートから作成されたピボット テーブル)のフィルタで使用します。

フィルタリングする列のデータ型は日付である必要があります。

// Gets a pivot table that's connected to a database.
const ss =
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Pivot Table Sheet');
const dataPivotTable = ss.getDataSourcePivotTables()[0];
// Creates criteria that only shows cells that don't equal June 16, 2022
// and sets it to the "date" column.
const date = new Date('June 16, 2022');
const criteria =
    SpreadsheetApp.newFilterCriteria().whenDateNotEqualTo(date).build();
dataPivotTable.addFilter('date', criteria);

パラメータ

名前説明
dateDate非表示にする日付。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenDateNotEqualToAny(dates)

指定した日付と等しくない日付のセルを表示するようにフィルタ条件を設定します。

この条件は、データベースに接続されているデータでのみ使用できます。たとえば、この条件は、DataSource シート、データベースに接続されているシート、DataSourcePivotTableDataSource シートから作成されたピボット テーブル)のフィルタで使用します。

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "date" column that hides cells with any of the below
// dates.
const date1 = new Date('June 1, 2022');
const date2 = new Date('June 2, 2022');
const date3 = new Date('June 3, 2022');
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateNotEqualToAny([date1, date2, date3])
                     .build();
dataSheet.addFilter('date', criteria);

パラメータ

名前説明
datesDate[]非表示にする日付。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenFormulaSatisfied(formula)

指定された数式(=B:B<C:C など)が true と評価されるセルを表示するようにフィルタ条件を設定します。

この条件は、データベースに接続されていないデータのフィルタにのみ使用できます。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows the rows where the value in column B is less than
// the value in column C and sets it to column A.
const formula = '=B:B<C:C';
const criteria =
    SpreadsheetApp.newFilterCriteria().whenFormulaSatisfied(formula).build();
filter.setColumnFilterCriteria(1, criteria);

パラメータ

名前説明
formulaString入力が有効な場合、true と評価されるカスタム数式。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenNumberBetween(start, end)

指定した 2 つの数値の範囲内にある数値、またはそのいずれかの数値を含むセルを表示するようにフィルタ条件を設定します。

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が数値である必要があります。データがデータベースに接続されていない場合、フィルタする列のデータ型は数値である必要はありませんが、数値でない場合、予期しない結果が得られる可能性があります。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that only shows cells with numbers that fall between 1-25,
// inclusively, and sets it to column A.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberBetween(1, 25).build();
filter.setColumnFilterCriteria(1, criteria);

パラメータ

名前説明
startNumber表示する最小数。
endNumber表示する最大数。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenNumberEqualTo(number)

指定した数値に等しい数値を含むセルを表示するようにフィルタ条件を設定します。

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が数値である必要があります。データがデータベースに接続されていない場合、フィルタする列のデータ型は数値である必要はありませんが、そうでない場合は予期しない結果が得られる可能性があります。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that only shows cells that are equal to 25 and sets it to
// column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberEqualTo(25).build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
numberNumber表示する数値。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenNumberEqualToAny(numbers)

指定したいずれかの数値に等しい数値を含むセルを表示するようにフィルタ条件を設定します。

この条件は、データベースに接続されているデータでのみ使用できます。たとえば、この条件は、DataSource シート、データベースに接続されているシート、DataSourcePivotTableDataSource シートから作成されたピボット テーブル)のフィルタで使用します。

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "amount" column that only shows cells with the number
// 10, 20, or 30.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenNumberEqualToAny([10, 20, 30])
                     .build();
dataSheet.addFilter('amount', criteria);

パラメータ

名前説明
numbersNumber[]表示する数値。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenNumberGreaterThan(number)

指定した数より大きい数値を含むセルを表示するようにフィルタ条件を設定します

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が数値である必要があります。データがデータベースに接続されていない場合、フィルタする列のデータ型は数値である必要はありませんが、数値でない場合、予期しない結果が得られる可能性があります。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells greater than 10 and sets it to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberGreaterThan(10).build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
numberNumber非表示にする最大数。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenNumberGreaterThanOrEqualTo(number)

指定した数以上の数値を含むセルを表示するようにフィルタ条件を設定します。

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が数値である必要があります。データがデータベースに接続されていない場合、フィルタする列のデータ型は数値である必要はありませんが、そうでない場合は予期しない結果が得られる可能性があります。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells greater than or equal to 10 and sets it to
// column B.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenNumberGreaterThanOrEqualTo(10)
                     .build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
numberNumber表示する最小数。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenNumberLessThan(number)

指定した数より小さい数値を含むセルを表示するようにフィルタ条件を設定します。

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が数値である必要があります。データがデータベースに接続されていない場合、フィルタする列のデータ型は数値である必要はありませんが、そうでない場合は予期しない結果が得られる可能性があります。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells less than 10 and sets it to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberLessThan(10).build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
numberNumber非表示にする最小数。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenNumberLessThanOrEqualTo(number)

指定した数以下の数値を含むセルを表示するようにフィルタ条件を設定します。

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が数値である必要があります。データがデータベースに接続されていない場合、フィルタする列のデータ型は数値である必要はありませんが、数値でない場合、予期しない結果が得られる可能性があります。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells less than or equal to 10 and sets it to
// column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberLessThanOrEqualTo(10).build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
numberNumber表示する最大数。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenNumberNotBetween(start, end)

指定した 2 つの数値の範囲内ではなく、どちらでもない数値を含むセルを表示するようにフィルタ条件を設定します。

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が数値である必要があります。データがデータベースに接続されていない場合、フィルタする列のデータ型は数値である必要はありませんが、数値でない場合、予期しない結果が得られる可能性があります。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that hides cells with numbers that fall between 1-25,
// inclusively, and sets it to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberNotBetween(1, 25).build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
startNumber最も小さい数値は非表示になります。
endNumber非表示にする最大数。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenNumberNotEqualTo(number)

指定した数値と異なる数値を含むセルを表示するようにフィルタ条件を設定します。

この条件は、任意の種類のフィルタで使用できます。この条件をデータベースに接続されているデータで使用する場合は、フィルタリングする列のデータ型が数値である必要があります。データがデータベースに接続されていない場合、フィルタする列のデータ型は数値である必要はありませんが、そうでない場合は予期しない結果が得られる可能性があります。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that hides cells that are equal to 25 and sets it to column
// B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberNotEqualTo(25).build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
numberNumber非表示にする番号。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenNumberNotEqualToAny(numbers)

指定されたいずれの数字とも等しくない数値を含むセルを表示するようにフィルタ条件を設定します。

この条件は、データベースに接続されているデータでのみ使用できます。たとえば、この条件は、DataSource シート、データベースに接続されているシート、DataSourcePivotTableDataSource シートから作成されたピボット テーブル)のフィルタで使用します。

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "amount" column that hides cells with the number 10, 20,
// or 30.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenNumberNotEqualToAny([10, 20, 30])
                     .build();
dataSheet.addFilter('amount', criteria);

パラメータ

名前説明
numbersNumber[]非表示にする数値。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenTextContains(text)

指定したテキストを含むテキストを含むセルを表示するようにフィルタ条件を設定します。テキストでは大文字と小文字は区別されません。

この条件は、任意のタイプのフィルタで使用できます。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells that contain "Northwest" and sets it to
// column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextContains('Northwest').build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
textStringセルに含める必要があるテキスト。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenTextDoesNotContain(text)

指定したテキストを含まないテキストを含むセルを表示するようにフィルタ条件を設定します。テキストでは大文字と小文字は区別されません。

この条件は、任意のタイプのフィルタで使用できます。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that hides cells that contain "Northwest" and sets it to
// column B.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenTextDoesNotContain('Northwest')
                     .build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
textStringセルに含めることができないテキスト。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenTextEndsWith(text)

指定したテキストで終わるテキストを含むセルを表示するようにフィルタ条件を設定します。テキストでは大文字と小文字は区別されません。

この条件は、任意のタイプのフィルタで使用できます。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells with text that ends with "est" and sets it
// to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextEndsWith('est').build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
textStringセルのテキストの末尾に含める必要があるテキスト。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenTextEqualTo(text)

指定したテキストと一致するテキストを含むセルを表示するようにフィルタ条件を設定します。テキストでは大文字と小文字は区別されません。

この条件は、任意のタイプのフィルタで使用できます。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells with text that equals "hello" and sets it
// to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextEqualTo('hello').build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
textStringセルのテキストが一致する必要があるテキスト。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenTextEqualToAny(texts)

指定したテキスト値のいずれかに等しいテキストを含むセルを表示するようにフィルタ条件を設定します。テキストでは大文字と小文字は区別されません。

この条件は、データベースに接続されているデータでのみ使用できます。たとえば、この条件は、DataSource シート、データベースに接続されているシート、DataSourcePivotTableDataSource シートから作成されたピボット テーブル)のフィルタで使用します。

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "category" column that shows cells with the text "tech"
// or "business."
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenTextEqualToAny(['tech', 'business'])
                     .build();
dataSheet.addFilter('category', criteria);

パラメータ

名前説明
textsString[]セルの値が等しい必要があるテキスト値。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenTextNotEqualTo(text)

指定したテキストと等しくないテキストを含むセルを表示するようにフィルタ条件を設定します。テキストでは大文字と小文字は区別されません。

この条件は、データベースに接続されているデータでのみ使用できます。たとえば、この条件は、DataSource シート、データベースに接続されているシート、DataSourcePivotTableDataSource シートから作成されたピボット テーブル)のフィルタで使用します。

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "category" column that hides cells with text equal to
// "tech."
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextNotEqualTo('tech').build();
dataSheet.addFilter('category', criteria);

パラメータ

名前説明
textStringセルのテキストが等しくないテキスト。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenTextNotEqualToAny(texts)

指定した値のいずれとも等しくないテキストを含むセルを表示するようにフィルタ条件を設定します。テキストでは大文字と小文字は区別されません。

この条件は、データベースに接続されているデータでのみ使用できます。たとえば、この条件は、DataSource シート、データベースに接続されているシート、DataSourcePivotTableDataSource シートから作成されたピボット テーブル)のフィルタで使用します。

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "category" column that hides cells with the text "tech"
// or "business."
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenTextNotEqualToAny(['tech', 'business'])
                     .build();
dataSheet.addFilter('category', criteria);

パラメータ

名前説明
textsString[]セルが等しくなれないテキスト値。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


whenTextStartsWith(text)

指定したテキストで始まるテキストを含むセルを表示するようにフィルタ条件を設定します。テキストでは大文字と小文字は区別されません。

この条件は、任意のタイプのフィルタで使用できます。

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells with text that starts with "pre" and sets
// it to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextStartsWith('pre').build();
filter.setColumnFilterCriteria(2, criteria);

パラメータ

名前説明
textStringセルのテキストの先頭に含める必要があるテキスト。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。


withCriteria(criteria, args)

フィルタ条件を、BooleanCriteria 値(CELL_EMPTYNUMBER_GREATER_THAN など)で定義されたブール条件に設定します。既存の条件からブール条件をコピーするには、既存の条件で getCriteriaType()getCriteriaValues() を使用して、このメソッドのパラメータを定義します。

この条件は任意のタイプのフィルタで使用できますが、一部の BooleanCriteria はすべてのフィルタに適用されません。

// Builds a filter criteria that is based on existing boolean conditions from
// another criteria. Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Gets the existing boolean conditions applied to Column B and adds criteria to
// column C that has the same boolean conditions and additional criteria that
// hides the value, "Northwest."
const filterCriteria = filter.getColumnFilterCriteria(2);
const criteria = SpreadsheetApp.newFilterCriteria()
                     .withCriteria(
                         filterCriteria.getCriteriaType(),
                         filterCriteria.getCriteriaValues(),
                         )
                     .setHiddenValues(['Northwest'])
                     .build();
filter.setColumnFilterCriteria(3, criteria);

パラメータ

名前説明
criteriaBooleanCriteriaブール条件のタイプ。
argsObject[]条件のタイプに適した引数の配列。引数の数と型は、上記の対応する when...() メソッドと一致します。

戻る

FilterCriteriaBuilder - チェーン用のこのビルダー。