フィルターを操作したい(FilterCriteria)
1// SpreadsheetApp.newFilterCriteria()
2// .条件メソッド()
3// .build();
4
5const criteria = SpreadsheetApp.newFilterCriteria()
6 .whenCellNotEmpty()
7 .build();
FilterCriteriaBuilderでフィルター条件を新規作成できます。
「空白セルを除外」や「ある日付で判定」「ある文字列ではじまる」などの条件メソッドを呼び.build()することでフィルター用のFilterCriteriaオブジェクトが作成できます。
よく使うフィルター条件は、定義しておくとよいです。
フィルターを作成・取得したい(createFilter / getFilter)
1const range = sheet.getDataRange();
2
3// すでにフィルターがあれば取得し、なければ新規作成する
4const filter = sheet.getFilter() || range.createFilter();
シートに設定できるフィルターはひとつだけです。
getFilterは、シートにフィルターがない場合nullを返すため、
createFilterと組み合わせて使うとよいです。
空白セルを除外したい(whenCellNotEmpty)
1const criteria = SpreadsheetApp.newFilterCriteria().whenCellNotEmpty().build();
2
3// 2列目(B列)に条件を設定する。列番号は1はじまり
4filter.setColumnFilterCriteria(2, criteria);
whenCellNotEmptyで空白セルを除外できます。
もっともよく使う条件だと思います。
setColumnFilterCriteriaの列番号は1はじまりです(2ならB列)。