オートフィルタ

記事
IT・テクノロジー

Get

セル範囲.getFilter()
シート.getFilter()

リセット

すべて
フィルタ.remove();
セル範囲.createFilter();
列を指定
フィルタ.removeColumnFilterCriteria(セル範囲の列番号)

実行

フィルタ.setColumnFilterCriteria(セル範囲の列番号, フィルタ条件)

フィルタ条件の作成

 複数の値を指定

SpreadsheetApp.newFilterCriteria().setHiddenValues(非表示にする値のリスト).build()
※ 非表示にする値を指定すること
※ 日時型はセルの書式に合わせた文字列を指定すること
日時型
let フォーマット = 日付列のセル.getNumberFormat();
let タイムゾーン = Session.getScriptTimeZone();
let 日時1 = Utilities.formatDate(日時, タイムゾーン, フォーマット);
...
let 表示する日時の配列 = [日時1, ...];

非表示にする日時のリストを作成する

let フィルタ条件 = SpreadsheetApp.newFilterCriteria().setHiddenValues(非表示にする日時のリスト).build();
※ 日時型はセルの書式に合わせた文字列を指定すること
非表示にする値のリストの作成
①列から重複なしの値のリストを作成
②表示する値を除去

 日時

等しい
SpreadsheetApp.newFilterCriteria().whenDateEqualTo(日時).build()
期間指定
SpreadsheetApp.newFilterCriteria().whenFormulaSatisfied("=AND(列:列>=DATE(始年, 始月, 始日), 列:列<=DATE(終年, 終月, 終日))").build();
指定日より前
SpreadsheetApp.newFilterCriteria().whenDateBefore(日時).build()
指定日より後
SpreadsheetApp.newFilterCriteria().whenDateAfter(日時).build()

 計算式を指定

SpreadsheetApp.newFilterCriteria().whenFormulaSatisfied("=計算式").build()
計算式
"=真偽値を返す計算式"
セルの値を計算式に指定する場合はデータの先頭セルをA1形式で指定

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す