0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

#N/Aの入っているセルだけをフィルターで絞り込めない

Last updated at Posted at 2025-01-25

出来ないこと

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?