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?

【Excel】便利な最強関数「FILTER」⚠️バージョン注意!

Posted at

やりたかった事

シートAにある表から、条件にあったデータが存在する行の、特定の範囲のデータを表示させたい。
その後、下方向へオートフィルして、シートBの表に、存在する個数分表示させたい。
なおシートAのデータは更新する度に変わる。

やりたいこと1.png
※実際のExcelではなく、デモです。

Story

ある時、Excelでとある表を作成していました。
そこで、上記のやりたかった事に直面しました。
初めに思い浮かんだのは、VLOOKUP、INDEX、MATCHこのあたりでした。
確かに実装できそうな気がします。
「VLOOKUP」...今回の条件下では、最初の値しか取ってこないし、シートAのデータが更新されるので無理。
「INDEX,MATCH」...できるけども、多少複雑な数式になる。メンテナンスもしづらい。
「INDEX,MATCH」で実装するかぁ~?と思っていながら調べた所、「FILTER」という関数がある事を知りました。
早速使ってみよう!と思って=FILTERとすると、予測変換に出てきません。
さらに調べると...Excel2021からじゃないですか!!!!拙者Excel2019で絶望しました。
別に2019を使う必要性もなかったので、早速バージョンを変えて、FILTER関数を使いました。
とても短い数式で、こんな事ができるなんて!!感動しました。
これだけに飽き足らず、他者の話では、レスポンスもとっても早いとのこと。(確証もないし調べてもないです)
この関数は便利かつ最強なんだな..。と思いました。

INDEX,MATCHとFILTERの差

シートBのセルA3にいれる事を想定しています。

INDEX,MATCHの場合

なんとか考えたのですが、どうもうまく出来ず挫折しました。。
章を作っておいて申し訳有りません...
コメントお待ちしております...

FILTERの場合

=FILTER(シートA!A2:D12,シートA!A2:A12=シートB!A1,"")

まとめと雑記

以上、FILTER関数を取り上げさせて頂きました。
8割完成して、下書きで置いていたので、いい加減投稿しようと思い、更新しました。
もし、同じような境遇に出会った方は、本記事でFILTERを使ってみて頂けると光栄です。
もっと、「効率的なやり方がある!!」という方は是非教えて頂けますと嬉しいです!
本記事が参考になったり、興味あるという方は、いいねをお願い致します!
更新のモチベとして、大変糧になります!ありがとうごいました!

■付録■

書式/基本構文

=FILTER(配列,含む,[空の場合])

第一引数 :配列

一言でわかりやすく言うと、出力する範囲です。

Yさん「列Aから列Cを出したいからA1:C10まで指定しよっと!」
=FILTER(A1:C10,含む)

第二引数 :含む

一言でわかりやすく言うと、フィルターしたい条件です。

Yさん「B列にある[りんご]がある範囲を取得したいから...B1:B10="りんご"を指定しよっと!」
=FILTER(A1:C10,B1:B10="りんご")

第三引数 :[空の場合] ※任意

一言でわかりやすく言うと、フィルター条件に1つも一致しない場合の処理を記載します。
Yさん「もし、フィルターした時、データが1つもなかったらエラーが出ちゃうから、その場合は、対象なしを出力しよっと!」
=FILTER(A1:C10,B1:B10="りんご","対象なし")

第三引数は必須項目ではありません。省略が可能です。
指定しない場合に発生すると#CALC!が返却されます。

Excel2021以降のバージョンから本関数は利用が可能です。

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?