FILTER関数の使い方|条件一致のデータを表から全て抽出

ここでは、エクセルの「FILTER(フィルター)関数の基本~応用的な使い方」をページを分けて解説します。

 

このページではまず、FILER関数の基本的な使い方の説明です。

1.FILTER(フィルター)関数とは?動きを確認

まずは、FILTER関数とはどんな関数か、その基本的な動きを見てみます。

 

1-1.FILTER(フィルター)関数とは

FILTER関数とは、「条件に合うデータのみを選別(フィルタリング)してすべて抜き出す」ことができる関数です。

 

FILTER関数の特徴は、次の通りです。

特徴
  • 数式を入れるのは「左上のセルの1ヶ所」だけ
  • 使えるバージョンは「Office365」とExcel2021」のみ
  • 引数の名称がわかりづらい
  • 慣れるとすごく便利

FILTER関数を使えるのは、今のところ「Office365」と「Excel2021」のみです。

 

その他の特徴は、この後見ていきます。

 

1-2.FILTER関数はフィルター機能と似ている

FILTER関数を使った時のイメージは、エクセルの機能の一つ「フィルター機能」を思い出すと分かりやすいです。

フィルター機能

フィルター機能とは、「入力データの中から特定の条件を満たすデータだけを抽出できる」機能のことです。

 

一つ例を見てみましょう。

フィルター機能を使ったイメージ

上の表から、「部署名」が「総務部」のデータだけを表示させてみます。

 

フィルター機能で条件を指定すると…

フィルター機能で抽出した結果

上のように、「総務部」の行だけが表示されるようになります。

 

これと同じようなことができるのが、FILTER関数です。

 

フィルター機能とFILTER関数の違いは、「FILTER関数は元の票を残したまま別のセルに抽出できる」ことです。

 

1-3.FILTER関数の動きを確認

では、例で関数の動きを見てみましょう。

FILTER関数を使ったイメージ

上の表は、ある企業の出張実績をまとめたものです。

 

例えばこの表から「総務部」のデータのみを抜き出したい時、FILTER関数を使うと次のようになります。

FILTER関数で抽出した結果

セルA12からG14までのように、条件に当てはまるデータが上の表から全て抜き出されました。

 

何度もですが、数式を入れたのは「セルA12」のみです。FILTER関数は、一つのセルに数式を入れるだけで、セルA12からG14までの表を自動で作ってくれます。

 

「条件に合うデータ全てを簡単に抜き出せる」、これがFILTER関数です。

2.フィルター関数が使えない時の代用方法

次に、「フィルター関数が使えない時の代用方法」についてです。

 

2-1.フィルター関数は使えないバージョンがある

FILTER関数は、今のところ「Excel2021」か「MicroSoft365」以外では使うことができません。

 

特に困るのは、「パソコンによってOfficeのバージョンが異なる時」です。

 

例えば、職場にあるExcel2021のパソコンでFILTER関数を使って数式を作っても、別のパソコンがExcel2019とかだとエラーになってしまいます。

 

2-2.フィルター関数の代わりになる数式がある

FILTER関数の代用になる数式は、他の関数を組み合わせることで作ることができます。

FILTER関数の代用で抽出した結果

「ひとつのセルに数式を作る」→「他のセルにコピーする」という手順で、FILTER関数よりも面倒ですが、この方法だとFILTER関数と同じことができ、古いバージョンのエクセルでもエラーなく開くことができます。

 

数式の形や作り方は、次のページで解説しています。

 ⇒ 「条件に合うデータを関数ですべて抽出する方法」のページへはこちら

3.FILTER関数の形と引数の役割

次に、FILTER関数の数式の形(構文)、引数の役割を見てみます。

 

3-1.FILTER関数の形(構文)

FILTER関数の数式の形は、次の通りです。

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

このように、FILTER関数は「元データの範囲(=配列)」、「条件式(=含む)」「空の場合(に何を表示するか?)」の3つを指定することで動きます。

 

ただし「空の場合」は省略可能で、その場合「空白」を指定したことになります。

 

3-2.数式の例から引数の役割を確認

数式の例と構文を見比べることで、引数の役割を確認します。

FILTER関数-活用例

先ほどの例で、セルA12に入れた数式は次の通りです。

=FILTER(A4:G9,F4:F9="総務部")

 

そして、FILTER関数の構文は次の通りでした。

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

 

セルA13の数式を構文に当てはめると、引数ごとに指定した内容は次のものであることが分かります。

引数の内容
  • 配列(元データの範囲):A4:G9
  • 含む(条件式):F4:F9="総務部"
  • 空の場合:(省略)

結果FILTER関数は、「部署名に『総務部』と入ったデータのみ」を「元データ」から抽出しています。

 

つまり、「配列」は「元データの範囲」を、「含む」は「条件式」を指定するところなのです。

4.FILTER関数の使い方

続いて、「FILTER関数の使い方」です。

 

FILTER関数を使って、実際に「条件に合うデータを抽出」してみましょう。

FILTER関数の使い方を見る

使う例は先ほど紹介した出張実績の一覧表で、部署名が総務部のみのデータを抜き出す数式を入れてみます。

 

なお、引数の指定の仕方はこの後解説するため、ここでは数式作りの流れだけを確認してください。

 

以下手順です。

 

(1)(表示させたい左上の)セルを選択する

FILTER関数-数式の作り方1

 

(2)セルに「=FILTER(」と入力する

FILTER関数-数式の作り方2

 

(3)「配列」を指定後「,」を入力する

FILTER関数-数式の作り方3

※  範囲指定はマウスで左ドラッグすると簡単です

 

(4)「条件を判定する範囲」を指定する

FILTER関数-数式の作り方4

※  範囲指定はマウスで左ドラッグすると簡単です

 

(5)「比較演算子」を入力する

FILTER関数-数式の作り方5

※  等しいは「=」、以外は「<>」、以上は「>=」、以下は「<=」です

 

(6)「条件値」を入力する

FILTER関数-数式の作り方6

※  文字列や日付、時刻は「"」で囲み、数値やセル番号はそのまま入力します

 

(7)Enterを押せば完了

FILTER関数-数式の作り方7

結果、数式は次のようになります。

=FILTER(A4:G9,F4:F9="総務部")

実際にやってみると分かりますが、セルA12に数式を入れただけで赤枠内のように表示されます。

 

本当に便利ですね。


口コミ・評判のいいExcel本の紹介】


5.各引数の指定の仕方を詳しく

最後に、3つの引数の指定の仕方をもう少し見てみます。

 

5-1.「配列」には「元データの範囲」を入れる

「配列」には、「元データの範囲」を指定します。

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

例えば、元データの範囲が「A5からC10」だった場合、数式は、

=FILTER(A5:C10,~)

となります。

 

5-2.「含む」には「条件式」を入れる

「含む」には、「条件式」を指定します。

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

条件式は、

判定対象の範囲 → 比較演算子 → 条件値

の順で指定します。

 

それぞれの指定の仕方は、以下の通りです。

指定の仕方
  • 判定対象範囲:条件を指定したい範囲を1列指定
  • 比較演算子:=,>,<,>=,<=,<>のどれかを指定
  • 条件値:数値・セル番号はそのまま、文字列や日付、時刻は「"」で囲んで指定

 

結果数式は、条件値ごとに次のようになります。

数式の例
  • 数値の場合:=FILTER(A5:C10,B5:B10>=50)
  • セル番号の場合:=FILTER(A5:C10,B5:B10>=A1)
  • 文字列の場合:=FILTER(A5:C10,B5:B10="東京都")
  • 日付の場合:=FILTER(A5:C10,B5:B10>="4/1")
  • 時刻の場合:=FILTER(A5:C10,B5:B10>="9:00")

例えば、条件を「B5からB10が『50以上』か?」としたい場合、数式は、

=FILTER(A5:C10,B5:B10>=50)

です。

 

5-3.「空の場合」は省略する(何も入れない)

「空の場合」には、「条件に合うものが一つもない時に表示させたいもの」を指定しますが、基本的に「指定しないでOK」です。

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

指定しないと、条件に合うものが一つもない場合には「自動的に空白」になります。

 

ただし、「該当なし」など表示したいものがある場合には、「条件値」と同様の入れ方でいれます。

 

5-4.「配列」と「含む」の行番号は合わせること

一つ注意が必要なのが、「配列」と「含む」の「行番号を合わせる」ことです。

 

合わせないとエラーになります。

FILTER関数-行番号を合わせる

上の数式で言うと、「配列の5」と「含むの5」、「配列の10」と「含むの10」が一緒ということです。

 

行は「縦の範囲」です。FILTER関数は、特にこの点に注意しましょう。

 

以上、FILTER関数の基本的な使い方でした。参考になれば幸いです。

 

なお、FILTER関数で複数条件指定する方法は、次のページで解説しています。

⇒ FILTER関数で複数条件をAND(全て満たす)で指定する方法

 

Top