出来ないこと
googleスプレッドシートの数式が入っているセルのうち、
数式の結果が、#N/A だけのものにGASで絞り込みたい
何故かうまくいかない
フィルターをかけたいセルに入っているのがこちら
match(A2,'シート名'!A:A,0)
手動でフィルターの設定してみる
#N/A が選択肢に出てくるので選べば絞り込める
マクロで記録させてみる
#N/A 以外ものを全部隠そう!という動きで記録されてしまう
var criteria = SpreadsheetApp.newFilterCriteria()
.setHiddenValues(['2', '3', '4', '5', '6', '7', '8', '9', '10'])
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(2, criteria);
原因はこれかな??
こちらの記事を読んだところ #N/A が文字列ではないのが原因なのかも??
今回の解決策
#N/A を絞り込むというのは諦めて、攻め方を変えることにしました。
matchするものがある場合→ 1
matchするものがない場合→ 0
になるようにして、0を絞り込むことにしました。
=if(isna(match(A2,'シート名'!A:A,0)),0,1)
フィルターの絞り込みの方法はこちらがとてもわかりやすかったので参考にしました。
var criteria = SpreadsheetApp.newFilterCriteria()
.whenTextEqualTo("0")
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(2, criteria);
ついでにフィルターの絞り込みを解除する機能もつけました。
フィルターの絞り込み解除の方法はこちらがとてもわかりやすかったので参考にしました。
spreadsheet.getActiveSheet().getFilter().remove();