こんにちは。ひとりで.comです。
今日はGoogleスプレッドシートにしかない便利なFILTER関数の応用的な使い方について説明したいと思います。
FILTER関数で複数条件を設定するには?
FILTER関数の基本的な使い方については、以前説明いたしました。
詳細の説明は以下の記事を参照頂ければと思いますが、簡単に説明すると、売上データや人事データなどのデータ一覧から指定した条件に沿ったデータ一覧を抽出できる関数である。
たとえば、全売上データから”2017年7月の名古屋支店の全データ”や、”全従業員の中で男性のデータのみ抽出する”といったことがFILTER関数では実現することができます。
【おさらい】GoogleスプレッドシートのFILTER関数とは?
FILTER関数で複数条件を設定する方法
実は基本的な利用方法だけの理解だと、少し込み入った形のデータを抽出したいと思った時に手が止まってしまうことがあります。
それが、複数条件を設定する際です。
例えば以下の例を見てみましょう。
上記のような人事データが合った場合、都道府県の欄から、”東京都”に当てはまる人を抽出したい場合は、
=FILTER(A1:L101,H1:H101=“東京都”)
このような形で、東京都に当てはまるデータのみを抽出することができました。
しかし、”東京都”もしくは”神奈川県”に当てはまる人…という条件になった場合はいかがでしょうか?
条件がふたつだから…
=FILTER(A1:L101,H1:H101=”東京都”,H1:H101=”神奈川県”)
となると考える人が多いかと思います。
しかし、この条件で数式を入れてみると…下記のようにエラーが表示されてしまいます。
これは、なぜかというと、この数式では、”または”という条件ではなく、”かつ”という条件になっており、東京都かつ神奈川県であるものを抽出しようとしていることになります。したがって、その条件に一致するものはありません、という表示が出てきてしまうのです。
では、どのように数式を入れたら良いのでしょうか?
FILTER関数の中の条件式がOR関数なので、中にOR関数を入れてみましょう。
その結果は…実はこれもまたエラーの表示になってしまいます。
実はFILTER関数の中では、OR関数などの論理式は使えないことになっています…(なぜかはわかりません…)なので少し工夫をして上げる必要があります。今回のように、OR条件をFILTER関数の中に入れてあげたい場合は以下のように数式を組んであげてください。
=FILTER(A1:L101,(H1:H101=“東京都”)+(H1:H101=“神奈川県”))
上記のように、各論理式を”+”で連結することによって、FILTER関数の中で複数条件を指定することができます。
FILTER関数は、データが更新されていっても常に同一条件でデータを抽出できるため、非常に使い勝手が良く、Excel(エクセル)にも用意されていない関数で重宝する関数です。
ぜひ、使い方を覚えておくと良いでしょう。