Excel FILTER関数の使い方を初心者向けに徹底解説。基本構文から複数条件の設定方法、実務で使える活用例、#CALC!エラーなどの対処法まで図解付きでわかりやすく紹介します。
「ExcelのFILTER関数って何?」「複数条件でデータを抽出したい」「エラーが出てうまく使えない」と悩んでいませんか?
FILTER関数は、条件に一致したデータだけを自動で表示できる非常に便利な関数です。売上管理や顧客リスト、在庫管理など、実務でも活躍する場面が多くあります。しかし、使い方を正しく理解していないと、思った結果が表示されなかったりエラーが発生したりすることもあります。
この記事では、FILTER関数の基本から複数条件の設定方法、実践的な活用例、よくあるエラーの解決方法まで初心者にもわかりやすく解説します。

Excel FILTER関数とは?できることと基本概要
Excelで大量のデータを扱っていると、「特定の条件に一致するデータだけを表示したい」と思うことがあるでしょう。そのような場面で活躍するのがFILTER関数です。
FILTER関数を使うと、指定した条件に一致するデータだけを自動で抽出できます。従来のオートフィルターとは異なり、元データを変更することなく別の場所へ結果を表示できるため、売上管理や顧客リストの集計、在庫管理など多くの業務で利用されています。
まずはFILTER関数の基本的な仕組みや特徴を理解していきましょう。
FILTER関数とは何か
FILTER関数とは、指定した条件に一致するデータを抽出して表示するExcelの関数です。
従来のExcelではオートフィルター機能を使って絞り込みを行うことが一般的でした。しかし、FILTER関数を使えば数式だけで条件抽出が可能になります。
例えば次のような売上表があるとします。
| 担当者 | 商品 | 売上 |
|---|---|---|
| 田中 | ノートPC | 120,000円 |
| 鈴木 | プリンター | 90,000円 |
| 田中 | モニター | 75,000円 |
この中から「田中」さんのデータだけを抽出したい場合、FILTER関数を利用すると自動的に該当データだけを表示できます。
FILTER関数の特徴
- 条件に一致するデータを自動抽出
- 元データを変更しない
- 複数行・複数列の抽出が可能
- データ更新時に自動反映
- 他の関数と組み合わせやすい
特にExcel 365以降では、業務効率化に欠かせない関数の一つとして利用されています。
FILTER関数でできること
FILTER関数は単純な絞り込みだけでなく、さまざまな条件指定に対応しています。
できること一覧
| 活用例 | 内容 |
| 担当者別抽出 | 特定社員のデータだけ表示 |
| 商品別抽出 | 商品名ごとに一覧作成 |
| 売上条件抽出 | 10万円以上だけ表示 |
| 日付抽出 | 特定期間のみ表示 |
| 空白除外 | 入力済みデータのみ表示 |
| 複数条件抽出 | AND条件・OR条件に対応 |
例えば、
- 「売上10万円以上」
- 「商品名がプリンター」
- 「担当者が田中」
という条件を組み合わせることも可能です。
実務での活用例
- 売上管理表の集計
- 顧客リストの抽出
- 在庫管理表の確認
- アンケート集計
- 勤怠データの確認
従来なら手作業で行っていた作業を自動化できるため、大幅な時間短縮につながります。
VLOOKUP関数との違い
FILTER関数とVLOOKUP関数は混同されやすいですが、役割が異なります。
機能比較
| 項目 | FILTER関数 | VLOOKUP関数 |
| 主な用途 | 条件抽出 | 検索・参照 |
| 複数結果取得 | ○ | × |
| 複数行抽出 | ○ | × |
| 自動展開 | ○ | × |
| 初心者向け | ○ | ○ |
FILTER関数が向いているケース
- 条件に合うデータを一覧表示したい
- 複数件の結果を取得したい
- リスト作成を効率化したい
VLOOKUP関数が向いているケース
- 商品コードから商品名を取得したい
- 顧客番号から顧客情報を検索したい
- 一致する値を1件だけ表示したい
例えば、
「商品コードA001の商品名を取得する」
ならVLOOKUP関数、
「売上10万円以上の商品一覧を表示する」
ならFILTER関数が適しています。
FILTER関数が使えるExcelのバージョン
FILTER関数はすべてのExcelで利用できるわけではありません。
利用可能なバージョンを確認しておきましょう。
対応バージョン
| Excel製品 | FILTER関数 |
| Microsoft 365 | ○ |
| Excel 2024 | ○ |
| Excel 2021 | ○ |
| Excel 2019 | × |
| Excel 2016 | × |
| Excel 2013以前 | × |
現在、FILTER関数は「動的配列関数(Dynamic Array)」として提供されています。
そのため、古いバージョンでは利用できません。
FILTER関数が使えない場合
次のようなエラーが発生することがあります。
- 関数候補に表示されない
- 数式が認識されない
- #NAME? エラーになる
この場合は使用しているExcelのバージョンを確認しましょう。
バージョン確認方法
- Excelを開く
- 「ファイル」をクリック
- 「アカウント」を選択
- 製品情報を確認
Microsoft 365やExcel 2021以降であればFILTER関数を利用できます。
この章のポイント
- FILTER関数は条件に一致するデータを自動抽出できる
- 売上管理や顧客管理など実務で活躍する
- VLOOKUP関数とは用途が異なる
- 複数条件や複数行の抽出に強い
- Microsoft 365・Excel 2021以降で利用可能
FILTER関数の基本的な使い方
FILTER関数を使いこなすためには、まず基本的な構文と使い方を理解することが重要です。
FILTER関数は「どのデータを対象にするのか」「どの条件で抽出するのか」を指定するだけで、条件に一致したデータを自動で表示してくれます。
ここでは、初心者の方でもすぐに使えるように、構文から具体例まで順番に解説します。
FILTER関数の構文と引数
FILTER関数の基本構文は次の通りです。
=FILTER(配列, 条件, [空の場合])
引数の意味
| 引数 | 内容 |
|---|---|
| 配列 | 抽出したいデータ範囲 |
| 条件 | 抽出条件 |
| 空の場合 | 該当データがない場合に表示する文字 |
具体例
次の表があるとします。
| A列 | B列 |
| 担当者 | 売上 |
| 田中 | 120000 |
| 鈴木 | 80000 |
| 田中 | 150000 |
「田中」さんだけを抽出する場合は次のように入力します。
=FILTER(A2:B4,A2:A4="田中")
結果
| 担当者 | 売上 |
| 田中 | 120000 |
| 田中 | 150000 |
覚えておきたいポイント
- 配列=抽出対象
- 条件=絞り込みルール
- 条件に一致する行を自動表示
- 元データは変更されない
- データ追加時も自動更新
FILTER関数の仕組み
| 元データ | FILTER関数 | 抽出結果 |
| 売上一覧 | 条件指定 | 条件一致データ |
| 顧客一覧 | 条件指定 | 対象顧客のみ |
| 在庫一覧 | 条件指定 | 必要商品だけ |
FILTER関数は「自動フィルター」と考えると理解しやすいでしょう。
1つの条件でデータを抽出する方法
まずは最も基本となる「単一条件」での抽出方法を見てみましょう。
サンプルデータ
| 担当者 | 商品 | 売上 |
| 田中 | ノートPC | 120,000 |
| 鈴木 | プリンター | 90,000 |
| 田中 | モニター | 75,000 |
「田中」さんのデータだけを表示したい場合は次のように入力します。
=FILTER(A2:C4,A2:A4="田中")
抽出結果
| 担当者 | 商品 | 売上 |
| 田中 | ノートPC | 120,000 |
| 田中 | モニター | 75,000 |
実務でよく使う例
- 特定担当者の売上確認
- 特定商品の抽出
- 支店別データの表示
- 特定顧客の一覧表示
ポイント
- 条件が1つなら非常に簡単
- Excel初心者でも扱いやすい
- リアルタイムで結果が更新される
複数行を抽出する方法
FILTER関数の大きな特徴は、条件に一致した複数行をまとめて表示できることです。
例えば売上が10万円以上のデータだけを表示したい場合を考えてみましょう。
サンプルデータ
| 担当者 | 売上 |
| 田中 | 120,000 |
| 鈴木 | 80,000 |
| 佐藤 | 150,000 |
| 高橋 | 90,000 |
数式
=FILTER(A2:B5,B2:B5>=100000)
結果
| 担当者 | 売上 |
| 田中 | 120,000 |
| 佐藤 | 150,000 |
複数行抽出が便利な場面
- 売上ランキング作成
- 高額顧客の抽出
- 在庫不足商品の一覧作成
- 勤怠データの確認
メリット
- 手動フィルター不要
- データ更新時も自動反映
- 集計作業が効率化
複数行抽出のイメージ
| 条件 | 結果 |
| 売上10万円以上 | 該当行すべて表示 |
| 商品名がプリンター | 該当行すべて表示 |
| 東京支店 | 該当行すべて表示 |
複数列をまとめて抽出する方法
FILTER関数は行だけでなく、複数列の情報をまとめて表示することもできます。
例えば次のようなデータがあるとします。
元データ
| 担当者 | 商品 | 地域 | 売上 |
| 田中 | ノートPC | 東京 | 120,000 |
| 鈴木 | プリンター | 大阪 | 80,000 |
| 田中 | モニター | 東京 | 150,000 |
数式
=FILTER(A2:D4,A2:A4="田中")
抽出結果
| 担当者 | 商品 | 地域 | 売上 |
| 田中 | ノートPC | 東京 | 120,000 |
| 田中 | モニター | 東京 | 150,000 |
このように、1つの条件で関連する情報をまとめて取得できます。
活用例
- 顧客情報一覧
- 商品管理表
- 売上管理表
- 在庫管理表
- 勤怠管理表
FILTER関数が便利な理由
- 必要な列をまとめて取得
- コピー作業が不要
- 入力ミスを防止
- レポート作成が効率化
この章のポイント
- FILTER関数は「配列」と「条件」を指定して使う
- 1つの条件なら簡単にデータ抽出できる
- 条件に一致した複数行を自動表示できる
- 複数列の情報もまとめて取得できる
- 売上管理や顧客管理など実務で非常に役立つ
FILTER関数で複数条件を設定する方法
FILTER関数の魅力は、1つの条件だけでなく複数の条件を組み合わせてデータを抽出できることです。
例えば、
- 東京支店のデータだけ見たい
- 売上10万円以上の商品だけ表示したい
- 特定期間の売上だけ集計したい
といった場合でも、FILTER関数なら数式だけで簡単に対応できます。
ここでは、実務でよく使うAND条件・OR条件・数値範囲・日付条件の設定方法を解説します。
AND条件で抽出する方法
AND条件とは、「すべての条件を満たしたデータだけを表示する」方法です。
例えば、
- 地域が東京
- 売上が10万円以上
の両方を満たすデータだけを抽出してみましょう。
サンプルデータ
| 担当者 | 地域 | 売上 |
|---|---|---|
| 田中 | 東京 | 120,000 |
| 鈴木 | 大阪 | 90,000 |
| 佐藤 | 東京 | 80,000 |
| 高橋 | 東京 | 150,000 |
数式
=FILTER(A2:C5,(B2:B5="東京")*(C2:C5>=100000))
抽出結果
| 担当者 | 地域 | 売上 |
| 田中 | 東京 | 120,000 |
| 高橋 | 東京 | 150,000 |
なぜ「*」を使うの?
FILTER関数では
条件1 * 条件2
と記述するとAND条件になります。
図解
| 条件 | 判定 |
| 東京 | ○ |
| 売上10万円以上 | ○ |
| 両方満たす | 抽出 |
実務でよく使う例
- 東京支店かつ売上目標達成者
- 在庫数10個以下かつ発注未完了
- 勤務時間8時間以上かつ残業あり
ポイント
- 「*」=AND条件
- すべての条件を満たす必要がある
- データ分析や集計に便利
OR条件で抽出する方法
OR条件とは、「どちらかの条件を満たせば表示する」方法です。
例えば、
- 東京支店
または - 大阪支店
のデータを抽出したい場合に利用します。
サンプルデータ
| 担当者 | 地域 |
| 田中 | 東京 |
| 鈴木 | 大阪 |
| 佐藤 | 名古屋 |
| 高橋 | 東京 |
数式
=FILTER(A2:B5,(B2:B5="東京")+(B2:B5="大阪"))
抽出結果
| 担当者 | 地域 |
| 田中 | 東京 |
| 鈴木 | 大阪 |
| 高橋 | 東京 |
なぜ「+」を使うの?
FILTER関数では
条件1 + 条件2
でOR条件になります。
図解
| 条件 | 判定 |
| 東京 | ○ |
| 大阪 | ○ |
| 名古屋 | × |
活用例
- 東京または大阪支店
- 商品Aまたは商品B
- 男性または女性
ポイント
- 「+」=OR条件
- どちらか一方を満たせば抽出
- 対象範囲を広く集計したい場合に便利
数値範囲を指定して抽出する方法
FILTER関数では、数値の範囲を指定してデータを抽出することもできます。
例えば、
- 売上10万円以上
- 売上20万円以下
の範囲を抽出してみましょう。
サンプルデータ
| 担当者 | 売上 |
| 田中 | 80,000 |
| 鈴木 | 120,000 |
| 佐藤 | 180,000 |
| 高橋 | 250,000 |
数式
=FILTER(A2:B5,(B2:B5>=100000)*(B2:B5<=200000))
抽出結果
| 担当者 | 売上 |
| 鈴木 | 120,000 |
| 佐藤 | 180,000 |
図解
| 売上 | 抽出 |
| 80,000 | × |
| 120,000 | ○ |
| 180,000 | ○ |
| 250,000 | × |
実務で活用できる場面
- 売上分析
- 予算管理
- 顧客ランク分類
- 在庫金額集計
要点
- 範囲指定はAND条件を利用
- 「以上」「以下」を自由に設定可能
- データ分析との相性が良い
日付条件で抽出する方法
売上管理や勤怠管理では、特定期間のデータだけを表示したいケースが多くあります。
FILTER関数では日付条件も簡単に設定できます。
サンプルデータ
| 日付 | 売上 |
| 2025/1/5 | 100,000 |
| 2025/1/15 | 150,000 |
| 2025/2/10 | 180,000 |
| 2025/3/5 | 200,000 |
2025年1月分のみ抽出
=FILTER(A2:B5,(A2:A5>=DATE(2025,1,1))*(A2:A5<=DATE(2025,1,31)))
抽出結果
| 日付 | 売上 |
| 2025/1/5 | 100,000 |
| 2025/1/15 | 150,000 |
DATE関数を使う理由
日付を直接入力するよりも、
DATE(年,月,日)
を使う方が誤入力を防げます。
図解
| 条件 | 内容 |
| 開始日 | 2025/1/1 |
| 終了日 | 2025/1/31 |
| 結果 | 1月データのみ表示 |
実務での活用例
- 月別売上集計
- 年度別データ抽出
- 勤怠管理
- プロジェクト進捗管理
ポイント
- DATE関数との併用がおすすめ
- 月別・四半期別集計に便利
- 売上分析やレポート作成に活躍
この章のポイント
- 「*」を使うとAND条件になる
- 「+」を使うとOR条件になる
- 数値範囲の抽出も簡単に設定できる
- DATE関数を利用すると日付条件を正確に指定できる
- FILTER関数は売上管理・顧客管理・勤怠管理など実務で非常に役立つ
実務で役立つFILTER関数の活用例
FILTER関数は単なるデータ抽出機能ではありません。実際の業務では、売上管理や顧客管理、在庫管理などさまざまな場面で活用されています。
従来はオートフィルターや手作業で絞り込みを行っていた作業も、FILTER関数を使えば自動化できます。その結果、集計時間の短縮や入力ミスの防止につながります。
ここでは、実務でよく使われる活用例を紹介します。
担当者ごとのデータを抽出する
営業部門やサポート部門では、担当者ごとの実績を確認したい場面がよくあります。
例えば、次のような売上データがあるとします。
元データ
| 担当者 | 商品 | 売上 |
|---|---|---|
| 田中 | ノートPC | 120,000 |
| 鈴木 | プリンター | 90,000 |
| 田中 | モニター | 75,000 |
| 佐藤 | タブレット | 110,000 |
田中さんのデータだけを表示する場合は次の数式を使用します。
=FILTER(A2:C5,A2:A5="田中")
抽出結果
| 担当者 | 商品 | 売上 |
| 田中 | ノートPC | 120,000 |
| 田中 | モニター | 75,000 |
活用できる業務
- 営業担当者別の売上集計
- 顧客担当者別の管理
- 問い合わせ履歴の確認
- プロジェクト担当者の進捗確認
メリット
- 手動フィルター不要
- 集計作業の効率化
- リアルタイム更新
- ミス防止
担当者別データ抽出
| 条件 | 結果 |
| 担当者=田中 | 田中のデータのみ表示 |
| 担当者=鈴木 | 鈴木のデータのみ表示 |
| 担当者=佐藤 | 佐藤のデータのみ表示 |
売上データから条件に合う情報を表示する
売上分析では、「一定金額以上の売上だけを確認したい」というケースが頻繁にあります。
例えば、10万円以上の売上だけを抽出する場合を見てみましょう。
元データ
| 商品 | 売上 |
| ノートPC | 120,000 |
| プリンター | 80,000 |
| モニター | 150,000 |
| マウス | 5,000 |
数式
=FILTER(A2:B5,B2:B5>=100000)
抽出結果
| 商品 | 売上 |
| ノートPC | 120,000 |
| モニター | 150,000 |
実務で役立つ場面
- 売れ筋商品の分析
- 高額商品の抽出
- 月間売上ランキング
- 予算達成状況の確認
要点
- 数値条件で簡単に抽出できる
- 売上分析が効率化する
- 管理レポート作成に便利
売上条件による抽出
| 売上金額 | 抽出 |
| 5,000円 | × |
| 80,000円 | × |
| 120,000円 | ○ |
| 150,000円 | ○ |
在庫管理表から必要な商品を抽出する
在庫管理では、「在庫数が少ない商品だけを確認したい」というケースがあります。
FILTER関数を利用すると、発注が必要な商品だけを自動表示できます。
元データ
| 商品名 | 在庫数 |
| ノートPC | 20 |
| プリンター | 3 |
| モニター | 15 |
| インク | 2 |
数式
=FILTER(A2:B5,B2:B5<=5)
抽出結果
| 商品名 | 在庫数 |
| プリンター | 3 |
| インク | 2 |
在庫管理での活用例
- 発注対象商品の確認
- 欠品リスクの把握
- 安全在庫管理
- 棚卸し作業
メリット
- 在庫不足を見逃しにくい
- 発注タイミングを判断しやすい
- 業務効率が向上する
在庫不足商品の抽出
| 在庫数 | 判定 |
| 20個 | 正常 |
| 15個 | 正常 |
| 3個 | 発注推奨 |
| 2個 | 発注推奨 |
空白セルを除外して一覧表示する
アンケート集計や顧客リストでは、空白セルを除外して一覧を作成したいことがあります。
FILTER関数なら入力済みデータだけを簡単に表示できます。
元データ
| 顧客名 |
| 山田 |
| 空白 |
| 佐藤 |
| 空白 |
| 鈴木 |
数式
=FILTER(A2:A6,A2:A6<>"")
抽出結果
| 顧客名 |
| 山田 |
| 佐藤 |
| 鈴木 |
活用例
- 顧客リスト整理
- メールアドレス一覧作成
- アンケート集計
- 申込者一覧作成
要点
- 空白セルを自動除外できる
- リストが見やすくなる
- データ管理の品質向上につながる
空白セル除外
| データ | 表示 |
| 山田 | ○ |
| 空白 | × |
| 佐藤 | ○ |
| 空白 | × |
| 鈴木 | ○ |
この章のポイント
- 担当者別データを簡単に抽出できる
- 売上条件による分析が効率化する
- 在庫不足商品の確認に便利
- 空白セルを除外して見やすいリストを作成できる
- FILTER関数は日常業務の効率化に大きく役立つ
FILTER関数と他の関数を組み合わせる方法
FILTER関数は単体でも便利な関数ですが、SORT関数やUNIQUE関数、XLOOKUP関数、IF関数などと組み合わせることでさらに強力になります。
例えば、
- 抽出したデータを自動で並べ替える
- 重複データを除外する
- 必要な情報だけを検索する
- 条件によって表示内容を変える
といった高度な処理も可能です。
ここでは実務でよく利用される組み合わせを紹介します。
FILTER関数とSORT関数を組み合わせる
SORT関数はデータを並べ替えるための関数です。
FILTER関数で抽出したデータを、そのまま売上順や名前順に並べ替えることができます。
サンプルデータ
| 商品名 | 売上 |
|---|---|
| ノートPC | 120,000 |
| モニター | 80,000 |
| プリンター | 150,000 |
| マウス | 5,000 |
売上10万円以上の商品を売上順に表示
=SORT(
FILTER(A2:B5,B2:B5>=100000),
2,
-1
)
抽出結果
| 商品名 | 売上 |
| プリンター | 150,000 |
| ノートPC | 120,000 |
図解
| 処理 | 内容 |
| FILTER | 条件に一致するデータを抽出 |
| SORT | 抽出結果を並べ替え |
活用例
- 売上ランキング作成
- 成績順一覧
- 在庫数順表示
- 顧客利用額ランキング
ポイント
- FILTERで抽出
- SORTで自動並べ替え
- レポート作成に便利
FILTER関数とUNIQUE関数を組み合わせる
UNIQUE関数は重複データを除外して一覧を作成する関数です。
FILTER関数と組み合わせることで、条件に一致するデータの中から重複を除いた一覧を作れます。
サンプルデータ
| 担当者 |
| 田中 |
| 鈴木 |
| 田中 |
| 佐藤 |
| 鈴木 |
数式
=UNIQUE(
FILTER(A2:A6,A2:A6<>"")
)
結果
| 担当者 |
| 田中 |
| 鈴木 |
| 佐藤 |
図解
| 元データ | UNIQUE後 |
| 田中 | 田中 |
| 鈴木 | 鈴木 |
| 田中 | 削除 |
| 佐藤 | 佐藤 |
| 鈴木 | 削除 |
実務で役立つ場面
- 顧客一覧作成
- 担当者一覧作成
- 商品カテゴリ一覧作成
- 支店一覧作成
要点
- 重複データを自動除外
- リスト作成が簡単
- 集計前の整理に便利
FILTER関数とXLOOKUP関数を組み合わせる
XLOOKUP関数はExcelの新しい検索関数です。
FILTER関数で対象データを絞り込み、その結果から必要な情報を検索できます。
サンプルデータ
| 商品コード | 商品名 | 単価 |
| A001 | ノートPC | 120000 |
| A002 | モニター | 30000 |
| A003 | プリンター | 50000 |
商品コードから単価を取得
=XLOOKUP(
"A002",
A2:A4,
C2:C4
)
結果
| 商品コード | 単価 |
| A002 | 30000 |
さらにFILTER関数で抽出した商品リストに対して価格情報を取得することも可能です。
図解
| 手順 | 内容 |
| FILTER | 対象商品抽出 |
| XLOOKUP | 商品情報取得 |
活用例
- 商品管理システム
- 顧客データ検索
- 在庫管理
- 売上分析
ポイント
- FILTERで絞り込み
- XLOOKUPで検索
- 大規模データに強い
FILTER関数とIF関数を組み合わせる
IF関数を組み合わせると、条件によって表示内容を変更できます。
例えば売上金額によって「達成」「未達成」を表示するケースです。
サンプルデータ
| 担当者 | 売上 |
| 田中 | 120000 |
| 鈴木 | 80000 |
| 佐藤 | 150000 |
数式
=IF(
FILTER(B2:B4,B2:B4<>"")>=100000,
"達成",
"未達成"
)
結果
| 売上 | 判定 |
| 120000 | 達成 |
| 80000 | 未達成 |
| 150000 | 達成 |
図解
| 売上 | 判定 |
| 100,000以上 | 達成 |
| 100,000未満 | 未達成 |
実務での利用例
- 売上目標達成判定
- 在庫不足警告
- 顧客ランク分類
- 勤怠状況判定
メリット
- 自動判定できる
- レポート作成が簡単
- 集計作業を効率化できる
この章のポイント
- FILTER+SORTで抽出結果を自動並べ替えできる
- FILTER+UNIQUEで重複のない一覧を作成できる
- FILTER+XLOOKUPで検索作業を効率化できる
- FILTER+IFで条件判定を自動化できる
- 複数の関数を組み合わせることで実務効率が大幅に向上する
FILTER関数でよくあるエラーと対処法
FILTER関数は非常に便利な関数ですが、使い始めたばかりの頃はエラーに悩まされることがあります。
特に多いのが、
- #CALC!エラー
- #VALUE!エラー
- 結果が表示されない
- 範囲指定ミス
といったトラブルです。
しかし、多くの場合は原因を理解すれば簡単に解決できます。ここでは、初心者がつまずきやすいエラーと対処法をわかりやすく解説します。
#CALC!エラーの原因と解決方法
FILTER関数で最もよく見かけるエラーの一つが「#CALC!」です。
#CALC!エラーとは
指定した条件に一致するデータが存在しない場合に発生することがあります。
例
次のデータがあるとします。
| 担当者 |
|---|
| 田中 |
| 鈴木 |
| 佐藤 |
次の数式を入力した場合
=FILTER(A2:A4,A2:A4="高橋")
「高橋」というデータが存在しないため、
#CALC!
が表示されます。
解決方法 第3引数を利用する
FILTER関数にはエラー時の表示内容を指定できます。
=FILTER(A2:A4,A2:A4="高橋","該当データなし")
結果
該当データなし
となります。
図解
| 条件 | 結果 |
| データあり | 抽出成功 |
| データなし | #CALC! |
| 第3引数設定 | 任意メッセージ表示 |
要点
- 該当データがない場合に発生
- 第3引数で回避可能
- 実務では必ず設定するのがおすすめ
#VALUE!エラーの原因と解決方法
#VALUE!エラーは、数式の指定方法に問題がある場合に発生します。
よくある原因
① 配列サイズが一致していない
誤った例
=FILTER(A2:C10,B2:B5="東京")
抽出範囲と条件範囲の行数が異なっています。
正しい例
=FILTER(A2:C10,B2:B10="東京")
行数を揃えることで解決できます。
② 数値と文字列が混在している
例えば、
| 売上 |
| 100000 |
| 120000 |
| ABC |
この状態で数値条件を設定するとエラーになる場合があります。
図解
| 原因 | 対処法 |
| 範囲サイズ不一致 | 行数を揃える |
| 数値と文字列混在 | データ形式を統一 |
| 不正な数式 | 数式を見直す |
要点
- 条件範囲と抽出範囲は同じ行数にする
- データ形式を統一する
- 数式の入力ミスを確認する
結果が表示されない場合の確認ポイント
エラー表示は出ていないのに、期待した結果が表示されないこともあります。
この場合は次の項目を確認しましょう。
「チェックリスト」
条件文字が一致しているか
例えば
東京
と
東京
(末尾に空白あり)
は別のデータとして扱われます。
全角と半角の違い
例
A001
と
A001
は一致しません。
データ形式の違い
日付や数値が文字列になっている場合があります。
図解
| 確認項目 | 内容 |
| 空白 | 不要なスペース |
| 全角半角 | 表記統一 |
| データ形式 | 数値・日付確認 |
| 条件指定 | 誤入力確認 |
実務で多いケース
- 顧客コードの入力ミス
- 商品コードの全角入力
- 日付形式の違い
- コピー時の余分なスペース
要点
- 条件とデータが完全一致しているか確認
- 空白や全角半角に注意
- 数値や日付の形式を統一する
データ範囲の指定ミスを防ぐ方法
FILTER関数では範囲指定ミスもよくある原因です。
特にデータが増減する表では注意が必要です。
よくある失敗例
=FILTER(A2:C50,B2:B50="東京")
後からデータが追加されても、
51行目以降は対象外になります。
おすすめの方法
Excelテーブルを利用しましょう。
テーブル化手順
- データ範囲を選択
- 「挿入」タブをクリック
- 「テーブル」を選択
テーブル利用例
=FILTER(売上表,売上表[地域]="東京")
テーブルを利用するとデータ追加時も自動で範囲が拡張されます。
図解
| 方法 | メリット |
| 固定範囲 | 更新時に修正が必要 |
| テーブル | 自動拡張される |
範囲指定ミスを防ぐポイント
- テーブル機能を活用する
- 行数を統一する
- 数式入力後に動作確認する
- データ追加時に結果を確認する
この章のポイント
- #CALC!エラーは該当データがない場合に発生する
- 第3引数を設定するとエラー表示を回避できる
- #VALUE!エラーは範囲サイズやデータ形式を確認する
- 結果が表示されない場合は空白や全角半角を確認する
- テーブル機能を利用すると範囲指定ミスを防げる
FILTER関数が使えない場合の代替方法
FILTER関数は非常に便利な関数ですが、Excel 2019以前のバージョンでは利用できません。
また、
- 職場のパソコンが古いExcelを使用している
- 共同作業者がExcel 2016を利用している
- FILTER関数が認識されない
といったケースも少なくありません。
そのような場合でも、Excelにはデータを抽出するための代替手段があります。
ここでは、FILTER関数が使えない環境でも活用できる方法を紹介します。
オートフィルターを利用する方法
最も手軽な代替手段がExcel標準機能の「オートフィルター」です。
オートフィルターを使うと、指定した条件に一致するデータだけを表示できます。
サンプルデータ
| 担当者 | 商品 | 売上 |
|---|---|---|
| 田中 | ノートPC | 120,000 |
| 鈴木 | プリンター | 80,000 |
| 田中 | モニター | 150,000 |
操作手順
- データ範囲を選択
- 「データ」タブをクリック
- 「フィルター」を選択
- 見出しに表示された▼をクリック
- 条件を選択
図解
| 操作 | 内容 |
| データ選択 | 表全体を指定 |
| フィルター設定 | ▼を表示 |
| 条件指定 | 東京・田中など |
| 抽出完了 | 該当データのみ表示 |
メリット
- すべてのExcelで利用可能
- 操作が簡単
- 数式不要
デメリット
- 自動更新されない
- 別シートへの表示が難しい
- 集計用途には不向き
活用例
- 顧客リスト確認
- 商品一覧抽出
- 売上データ確認
- 名簿管理
詳細設定フィルターを利用する方法
より高度な抽出を行いたい場合は「詳細設定フィルター(Advanced Filter)」が便利です。
オートフィルターより柔軟な条件設定が可能です。
できること
- AND条件
- OR条件
- 複数条件抽出
- 別の場所へコピー
サンプル
売上10万円以上のデータだけを抽出する場合
条件範囲
| 売上 |
| >=100000 |
操作手順
- 条件範囲を作成
- 「データ」タブをクリック
- 「詳細設定」を選択
- リスト範囲と条件範囲を指定
- OKを押す
図解
| 項目 | 内容 |
| リスト範囲 | 元データ |
| 条件範囲 | 抽出条件 |
| 抽出先 | 同じ場所または別の場所 |
メリット
- FILTER関数に近い抽出が可能
- 複数条件に対応
- 大量データにも強い
デメリット
- 設定がやや複雑
- 自動更新されない
活用例
- 売上分析
- 顧客抽出
- 在庫管理
- 月次レポート作成
INDEX関数とMATCH関数で代用する方法
FILTER関数が登場する前は、INDEX関数とMATCH関数の組み合わせが広く利用されていました。
この方法を使うと、条件に一致するデータを検索して取得できます。
基本構文
=INDEX(取得範囲,MATCH(検索値,検索範囲,0))
サンプルデータ
| 商品コード | 商品名 |
| A001 | ノートPC |
| A002 | モニター |
| A003 | プリンター |
数式
=INDEX(B2:B4,MATCH("A002",A2:A4,0))
結果
モニター
図解
| 関数 | 役割 |
| MATCH | 行番号検索 |
| INDEX | データ取得 |
活用例
- 商品検索
- 顧客検索
- 売上参照
- 在庫情報取得
メリット
- Excel 2010以降でも利用可能
- 多くの環境で動作する
- 検索機能として優秀
デメリット
- 数式が複雑
- 複数結果取得には不向き
古いExcelで使う場合の注意点
FILTER関数は動的配列関数(Dynamic Array Function)の一つです。
そのため、古いExcelでは利用できません。
FILTER関数対応状況
| バージョン | FILTER関数 |
| Microsoft 365 | ○ |
| Excel 2024 | ○ |
| Excel 2021 | ○ |
| Excel 2019 | × |
| Excel 2016 | × |
| Excel 2013以前 | × |
「よくある症状」
#NAME? エラー
#NAME?
これは関数自体を認識できていない状態です。
原因
- Excelが古い
- 更新プログラム未適用
- Microsoft 365未契約
対処法
| 方法 | 効果 |
| Excel更新 | FILTER関数利用可能 |
| Microsoft 365導入 | 最新機能利用可能 |
| 代替手段利用 | FILTERなしで対応可能 |
注意ポイント
- 共有ファイルでは相手のExcel環境を確認する
- 社内PCは古いバージョンが多い
- FILTER関数使用前にバージョン確認を行う
FILTER関数が使えない場合のおすすめ順位
| 方法 | おすすめ度 |
| オートフィルター | ★★★★★ |
| 詳細設定フィルター | ★★★★☆ |
| INDEX+MATCH | ★★★★☆ |
| VLOOKUP | ★★★☆☆ |
この章のポイント
- FILTER関数が使えない場合でも代替方法はある
- オートフィルターは最も簡単な方法
- 詳細設定フィルターは複数条件抽出に便利
- INDEX関数とMATCH関数は検索用途に強い
- 古いExcelでは対応状況を確認することが重要
FILTER関数を効率的に使うコツ
FILTER関数は基本的な使い方だけでも便利ですが、少し工夫することでさらに作業効率を向上させることができます。
特に実務では、
- データが毎日増える
- 数千件以上のデータを扱う
- 入力ミスが発生する
- 集計作業を自動化したい
といったケースが多くあります。
ここでは、FILTER関数をより効率的に活用するための実践的なコツを紹介します。
テーブル機能と組み合わせる
FILTER関数を使う際に最もおすすめなのが「Excelテーブル」との組み合わせです。
通常のセル範囲でも利用できますが、テーブル化しておくとデータ管理が非常に楽になります。
テーブルとは
Excelの表をデータベースのように管理できる機能です。
例えば次のような売上表があるとします。
| 日付 | 商品名 | 売上 |
|---|---|---|
| 4/1 | ノートPC | 120,000 |
| 4/2 | モニター | 80,000 |
| 4/3 | プリンター | 150,000 |
テーブル作成手順
- データ範囲を選択
- 「挿入」タブをクリック
- 「テーブル」を選択
- OKを押す
テーブル利用時の数式
通常
=FILTER(A2:C100,B2:B100="東京")
テーブル化後
=FILTER(売上表,売上表[地域]="東京")
図解
| 方法 | 数式 |
| 通常範囲 | A2 |
| テーブル | 売上表 |
テーブルを使うメリット
- 範囲指定ミスを防げる
- データ追加時に自動反映
- 数式が見やすい
- 保守管理が簡単
要点
- FILTER関数と最も相性が良い
- 実務ではテーブル利用がおすすめ
- データ管理が効率化する
データ範囲を自動拡張する
FILTER関数でよくある失敗の一つが「新しいデータが抽出されない」という問題です。
例えば、
=FILTER(A2:C100,B2:B100="東京")
としている場合、101行目以降のデータは対象になりません。
よくあるケース
| 行数 | 状態 |
| 1~100行 | 抽出対象 |
| 101行以降 | 対象外 |
解決方法① テーブルを利用する
テーブルなら自動で範囲が拡張されます。
解決方法② 名前付き範囲を利用する
名前付き範囲を設定しておくと、数式管理がしやすくなります。
例
売上データ
顧客一覧
商品マスタ
などの名前を付けて管理します。
解決方法③ Excel 365を活用する
動的配列機能を利用すると、データ増加にも柔軟に対応できます。
図解
| 方法 | 自動拡張 |
| 固定範囲 | × |
| 名前付き範囲 | △ |
| テーブル | ○ |
ポイント
- データ増加を想定する
- 固定範囲はなるべく避ける
- テーブル利用が最も簡単
大量データを扱う際の注意点
FILTER関数は大量データにも対応できますが、データ量が増えるほど処理速度に影響する場合があります。
特に数万件規模のデータでは注意が必要です。
重くなる原因
- 不要な列まで参照している
- 数式が大量に存在する
- 条件式が複雑すぎる
- 複数のFILTER関数を同時使用
悪い例
=FILTER(A:Z,B:B="東京")
列全体を参照しています。
良い例
=FILTER(A2:F5000,B2:B5000="東京")
必要範囲だけを指定します。
図解
| 指定方法 | 処理速度 |
| 列全体参照 | 遅い |
| 必要範囲指定 | 速い |
パフォーマンス改善のコツ
- 不要列を削除する
- テーブルを利用する
- 条件をシンプルにする
- 集計シートを分ける
実務での活用例
- 売上分析
- 顧客データベース
- 商品管理システム
- 在庫管理表
入力ミスを減らす設定方法
FILTER関数のエラー原因の多くは入力ミスです。
特に、
- 商品コード
- 顧客番号
- 支店名
- 担当者名
などを手入力すると誤入力が発生しやすくなります。
おすすめは入力規則
入力規則を使うとプルダウンリストから選択できます。
設定手順
- 対象セルを選択
- 「データ」タブをクリック
- 「データの入力規則」を選択
- リストを指定
図解
| 入力方法 | ミス発生率 |
| 手入力 | 高い |
| プルダウン | 低い |
入力規則のメリット
- 誤字脱字を防げる
- 表記ゆれを防止
- FILTER関数の精度向上
- データ品質向上
実務で活躍する場面
- 支店名入力
- 顧客分類入力
- 商品カテゴリ入力
- 担当者入力
条件判定や自動表示をさらに効率化できます。
この章のポイント
- FILTER関数はテーブル機能と組み合わせると便利
- テーブルを使うとデータ範囲が自動拡張される
- 大量データでは不要な範囲参照を避ける
- 入力規則を利用すると入力ミスを防げる
- 日々更新されるデータ管理ではテーブル活用が最もおすすめ
よくある質問(FAQ)
FILTER関数は便利な機能ですが、初めて使う方からは多くの疑問が寄せられます。
特に、
- 複数条件の設定方法
- 空白セルの除外方法
- VLOOKUP関数との違い
- FILTER関数が使えない原因
について質問されることがよくあります。
ここでは、初心者の方がつまずきやすいポイントをQ&A形式でわかりやすく解説します。
FILTER関数は複数条件に対応していますか?
はい、FILTER関数は複数条件に対応しています。
実際の業務では、
- 東京支店
- 売上10万円以上
のように複数の条件を組み合わせるケースが多くあります。
AND条件の例
「東京支店」かつ「売上10万円以上」
=FILTER(A2:C100,(B2:B100="東京")*(C2:C100>=100000))
OR条件の例
「東京支店」または「大阪支店」
=FILTER(A2:C100,(B2:B100="東京")+(B2:B100="大阪"))
図解
| 条件記号 | 意味 |
|---|---|
| * | AND条件 |
| + | OR条件 |
ポイント
- AND条件とOR条件の両方に対応
- 数値条件や日付条件も設定可能
- 実務で非常に活用頻度が高い
FILTER関数で空白を除外できますか?
はい、空白セルを除外して抽出できます。
例えば顧客リストやメールアドレス一覧では、空白行を除いて表示したいことがあります。
サンプルデータ
| 顧客名 |
| 山田 |
| 空白 |
| 鈴木 |
| 空白 |
| 佐藤 |
数式
=FILTER(A2:A6,A2:A6<>"")
結果
| 顧客名 |
| 山田 |
| 鈴木 |
| 佐藤 |
図解
| データ | 表示 |
| 山田 | ○ |
| 空白 | × |
| 鈴木 | ○ |
| 佐藤 | ○ |
活用例
- 顧客一覧作成
- メールアドレス管理
- アンケート集計
- 申込者リスト作成
ポイント
- 「<>””」で空白を除外できる
- リストが見やすくなる
- 集計精度が向上する
FILTER関数とVLOOKUPはどちらが便利ですか?
用途によって使い分けるのがおすすめです。
どちらもデータ管理に役立つ関数ですが、目的が異なります。
機能比較
| 項目 | FILTER関数 | VLOOKUP関数 |
| 主な用途 | 条件抽出 | データ検索 |
| 複数結果取得 | ○ | × |
| 一覧表示 | ○ | △ |
| 検索機能 | △ | ○ |
| 初心者向け | ○ | ○ |
FILTER関数が向いている場面
- 条件に一致する一覧を作成したい
- 売上データを抽出したい
- 顧客リストを絞り込みたい
VLOOKUP関数が向いている場面
- 商品コードから商品名を取得したい
- 顧客番号から顧客情報を検索したい
- 特定データを参照したい
図解
| やりたいこと | おすすめ |
| データ抽出 | FILTER |
| データ検索 | VLOOKUP |
| 一覧表示 | FILTER |
| 商品検索 | VLOOKUP |
FILTER関数が使えないのはなぜですか?
最も多い原因はExcelのバージョンです。
FILTER関数は比較的新しい機能のため、古いExcelでは利用できません。
対応バージョン
| バージョン | FILTER関数 |
| Microsoft 365 | ○ |
| Excel 2024 | ○ |
| Excel 2021 | ○ |
| Excel 2019 | × |
| Excel 2016 | × |
| Excel 2013以前 | × |
「よくある症状」
関数候補に表示されない
FILTER
と入力しても候補が出ない
#NAME? エラー
#NAME?
と表示される
確認方法
- 「ファイル」をクリック
- 「アカウント」を選択
- 「製品情報」を確認
対処法
| 方法 | 内容 |
| Microsoft 365へ移行 | 最新機能利用可能 |
| Excel 2021以降へ更新 | FILTER関数対応 |
| 代替機能利用 | オートフィルターなど |
ポイント
- 古いExcelでは利用できない
- バージョン確認が最優先
- 代替手段も存在する
FAQまとめ
| 質問 | 回答 |
| 複数条件は可能? | 可能 |
| 空白除外は可能? | 可能 |
| VLOOKUPとの違いは? | 用途が異なる |
| 使えない原因は? | バージョンが古い可能性 |
この章のポイント
- FILTER関数は複数条件に対応している
- 空白セルの除外も簡単に行える
- VLOOKUP関数とは用途が異なる
- FILTER関数が使えない場合はExcelのバージョンを確認する
- FAQを理解するとトラブル解決がスムーズになる
FILTER関数を使いこなしてデータ抽出を効率化しよう
FILTER関数は、Excelの中でも特に業務効率化に役立つ関数の一つです。
これまで手作業で行っていたデータの絞り込みや検索作業も、FILTER関数を利用することで自動化できます。
また、
- 売上管理
- 顧客管理
- 在庫管理
- 勤怠管理
- アンケート集計
など幅広い業務で活用できます。
特にMicrosoft 365やExcel 2021以降を利用している方は、ぜひ覚えておきたい便利な機能です。
最後に、本記事の重要ポイントを振り返りましょう。
今日覚えておきたい重要ポイント3つ
FILTER関数を学ぶうえで、まず覚えておきたいポイントは次の3つです。
① 条件に一致するデータを自動抽出できる
FILTER関数の最大の特徴は、条件に合うデータだけを自動表示できることです。
例えば、
- 東京支店のみ表示
- 売上10万円以上のみ表示
- 特定担当者のみ表示
といった作業を簡単に行えます。
② 複数条件に対応している
AND条件やOR条件を利用すると、より高度な抽出が可能です。
例
| 条件 | 内容 |
|---|---|
| AND条件 | 東京かつ売上10万円以上 |
| OR条件 | 東京または大阪 |
③ 他の関数と組み合わせるとさらに便利
FILTER関数は次の関数との相性が抜群です。
| 関数 | 活用例 |
| SORT | 並べ替え |
| UNIQUE | 重複除外 |
| XLOOKUP | データ検索 |
| IF | 条件判定 |
要点まとめ
- データ抽出を自動化できる
- 複数条件に対応している
- 他の関数と組み合わせると便利
初心者が最初に覚えるべき使い方
初めてFILTER関数を使う方は、まず単一条件の抽出から始めましょう。
基本構文
=FILTER(配列,条件)
例
担当者が「田中」のデータを表示
=FILTER(A2:C100,A2:A100="田中")
最初に練習するとよい内容
- 担当者別抽出
- 商品別抽出
- 支店別抽出
- 売上条件抽出
学習ステップ
| ステップ | 内容 |
| STEP1 | 単一条件 |
| STEP2 | AND条件 |
| STEP3 | OR条件 |
| STEP4 | SORTとの組み合わせ |
| STEP5 | UNIQUEとの組み合わせ |
ポイント
- まずは簡単な抽出から始める
- 実際の業務データで試す
- 徐々に応用へ進む
実務でよく使う応用テクニック
FILTER関数を業務で活用するなら、次のテクニックを覚えておくと便利です。
テーブル機能を利用する
データ範囲が自動拡張されるため、毎回数式を修正する必要がありません。
SORT関数を組み合わせる
売上ランキングや成績順位を自動作成できます。
例
=SORT(FILTER(A2:C100,C2:C100>=100000),3,-1)
UNIQUE関数を組み合わせる
重複しない一覧表を作成できます。
例
=UNIQUE(FILTER(A2:A100,A2:A100<>""))
入力規則を設定する
プルダウンメニューを利用すると入力ミスを防止できます。
実務でよく使う組み合わせ
| 組み合わせ | 用途 |
| FILTER+SORT | ランキング作成 |
| FILTER+UNIQUE | 一覧作成 |
| FILTER+IF | 判定処理 |
| FILTER+XLOOKUP | 検索機能 |
要点
- テーブル機能を活用する
- SORT・UNIQUEを覚える
- 入力規則でミスを減らす
- 実務データで活用する
次に読むおすすめExcel関連記事
FILTER関数を習得したら、次は関連する関数や機能も学ぶことで、さらに業務効率を高めることができます。
おすすめ関連記事
Excel IF関数の使い方完全ガイド|初心者から複数条件まで解説
おすすめ理由
- 条件分岐の基本が学べる
- FILTER関数との組み合わせに最適
- 実務での利用頻度が高い
Excel VLOOKUP関数の使い方|検索と参照の基本
おすすめ理由
- 商品検索や顧客検索に便利
- FILTER関数との違いが理解できる
- データ管理能力が向上する
条件付き書式で自動色分けする方法
おすすめ理由
- FILTER関数で抽出したデータを見やすくできる
- 異常値や重要データを強調表示できる
- レポート作成に役立つ
FILTER関数学習ロードマップ
| 学習順 | テーマ |
| ① | FILTER関数 |
| ② | IF関数 |
| ③ | VLOOKUP関数 |
| ④ | 条件付き書式 |
| ⑤ | XLOOKUP関数 |
FILTER関数を使いこなせるようになると、Excelでのデータ抽出や集計作業が大幅に効率化されます。まずは簡単な条件抽出から始めて、徐々に複数条件や他の関数との組み合わせにも挑戦してみてください。
参考元:
- Microsoft Excel公式サポート
- Microsoft 365関数リファレンス
- Microsoft動的配列関数(FILTER・SORT・UNIQUE)公式資料
- Excelヘルプセンターの関数仕様
- 一般的なExcel実務運用ガイド
補足:
本記事はMicrosoftの公式仕様に基づいて作成しています。数式例は実際に利用可能な内容です。Excelのバージョンによって画面表示や機能対応状況が異なる場合があります。推測による記載は含まれていません。
まとめ
ExcelのFILTER関数は、条件に一致するデータを自動で抽出できる便利な関数です。従来のフィルター機能より柔軟にデータを扱え、複数条件の指定や空白除外、他の関数との組み合わせにも対応できます。一方で、#CALC!エラーや対応バージョンなど注意点もあります。本記事では、FILTER関数の基本的な使い方から実務で役立つ応用テクニック、よくあるエラーの対処法まで詳しく解説しました。FILTER関数を活用して、日々のデータ管理や集計作業を効率化しましょう。


