見出し画像

【詰め日記】FILTER関数をいじっていたら、「オートフィルタでいいんじゃない?」という気持ちになった話

こんにちは、詰めExcel研究家の詰めです。
今日はExcelのFILTER関数をいじっていたら、だんだん心が折れていった話です。


今回は、この表からデータをフィルタして抽出する方法を試してみました。

ここからデータをFILTERして取り出してみる

🧪FILTER関数を試してみる

FILTER関数は、条件に合う行だけをスッと抜き出してくれる関数です。
たとえば「種別がH01の人だけ出して」と書くときはこう。

=FILTER(A2:E7, D2:D7="H01")
おお、便利

これだけで条件抽出ができるなんて、時代の進化を感じます。

🌀空白セルが0になる事件

ところが、結果を見ていたら気づいたんです。
備考の空白セルが、なぜか0になっている。

そこは空欄のはずでは

調べてみたら、Excelは空白セルを数値の“0”として扱うことがあるらしい。
なるほど、たしかにExcelっぽい。

色々調べて、一番シンプルな気がした回避するための方法がこれ。

=FILTER(
  CHOOSE({1,2,3,4,5},
    A2:A7,
    B2:B7,
    C2:C7,
    D2:D7,
    IF(E2:E7="","",E2:E7)
  ),
  D2:D7="H01"
)

いや、長い。
FILTER関数、もはや関数というより構築物。
ちょっと空白を消したいだけなのに、
関数がどんどん育っていくのを見守るしかありません。

🧭Power Query のほうが楽なのでは?

数式の森で迷子になりながら思いました。
「これ、Power Queryでやったほうが早くない?」

Power Queryなら、

  • 列の型を明示的に設定できる

  • 空白を0と誤認しない

  • 条件抽出もクリックで完結

  • 更新ボタンひとつで再実行できる

しかも関数を書かなくていい。

🪜でもFILTERのほうがお手軽かも

しかし、Power Query で編集するには、
わざわざエディターを開くのがちょっと面倒。

やっぱり、関数でサッと済ませたい。
FILTER関数のほうが手軽かも。
Excelの中で完結するのも安心。
0に変換されるのなんて気にしなければいい。

・・・と思ったのも束の間。

🌀最終的な結論

「いや、オートフィルタでいいだろ」

FILTERをいじり、Power Queryを思い出し、またFILTERに戻り、
ひとしきり考えたあと、はたと気がつきました。
結局、最初からそこにあった「フィルタ」ボタンで事足りる。
列の▼をポチッと押せば、条件抽出なんて一瞬。
もしくは「Shift+F10→E→V」。

FILTER関数を勉強したおかげで、
オートフィルタの偉大さを再確認しました。

🎯おわりに

新しい関数を覚えようと、今回はFILTER関数を研究してみましたが、
最終的に「普通のフィルタでよくない?」というところに落ち着きました。

「こんなときにFILTERが本領発揮するよ!」という場面があれば、
ぜひコメントで教えてください。
もう少しFILTERと仲良くなれるかもしれません。

📚 おまけ

きたみあきこ先生のこちらの書籍では、FILTER関数もしっかり紹介されています!マニアックな関数を知りたい方にお勧めな書籍です📗

Amazonアソシエイト参加者として、適格販売により収入を得る場合があります。いただいた収益が、記事執筆や活動継続の励みになります。

✏️ 追記

FILTER関数と戯れた体験談を、ハルさんの「あなたのストーリーを届けよう」にエントリーさせていただきます!ハルさん、いつも素敵な企画をありがとうございます🙇

いいなと思ったら応援しよう!