Class Filter

フィルタ

このクラスを使用して、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);

パラメータ

名前説明
columnPositionInteger列の 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);

パラメータ

名前説明
columnPositionInteger列の 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);

パラメータ

名前説明
columnPositionInteger列の 1 から始まる番号。たとえば、列 B のインデックスは 2 です。
filterCriteriaFilterCriteria設定するフィルタ条件。条件を 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);

パラメータ

名前説明
columnPositionInteger列の 1 から始まる番号。たとえば、列 B のインデックスは 2 です。
ascendingBooleantrue の場合、フィルタされた範囲を昇順で並べ替えます。false の場合、フィルタされた範囲を降順に並べ替えます。

戻る

Filter - チェーン用のフィルタ。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets