ExcelのFILTER関数は、条件に合ったデータだけを絞り込んで抽出できる非常に便利な関数です。
しかし、
「FILTER関数が見つからない」
「FILTER関数が使えないバージョンだけど似たことをしたい」
と困っている方も多いのではないでしょうか?
この記事では、「excel filter関数 代わり」というサジェストを起点に、FILTER関数の代替方法、FILTERが使えるExcelバージョン、関数の比較、手動フィルターとの違いなどを解説します。
Contents
FILTER関数とは?|基本機能と便利な使い道
excelCopyEdit=FILTER(範囲, 条件範囲=条件, "見つかりません")
- 条件に合うデータだけをリアルタイムで抽出
- 空白行を作らずスッキリした出力が可能
- 複数条件のフィルターも対応(AND・OR両対応)
FILTER関数が使えないExcelのバージョンとは?
FILTER関数は Excel 365 および Excel 2021 以降でのみ使用可能 です。
FILTER関数がない原因は?
症状 | 原因 | 対処法 |
---|---|---|
#NAME? エラー | 関数が存在しない | バージョンが古い |
入力時に補完が出ない | 非対応バージョン | 別の関数で代用する必要あり |
FILTER関数の代わりに使えるExcel関数まとめ

① 【おすすめ】IF関数+INDEX+SMALL+ROWで代替
excelCopyEdit=IFERROR(INDEX(出力範囲,SMALL(IF(条件範囲=条件,ROW(条件範囲)-ROW(開始セル)+1),ROW(A1))),"")
- 動的抽出が可能(オートフィルで行コピー)
- **FILTERと同様の「行ごとの絞り込み」**が実現できる
※配列数式なので Ctrl + Shift + Enter(旧Excel)または、Excel365では通常のEnterでOK
② DGET関数(データベース抽出)
excelCopyEdit=DGET(データ範囲, "列名", 条件範囲)
- 条件に一致する1行だけを抽出
- 2件以上一致するとエラーになる
- 縦持ちのデータベース向け
③ VLOOKUP+FILTER的な絞り込み
excelCopyEdit=VLOOKUP(検索値, 範囲, 列番号, FALSE)
- 1件だけ抽出したいときに有効
- 複数一致には非対応
- FILTERとは異なり、検索条件が「1件のみ」向き
④ 高度なフィルター(手動機能)
- データタブ → 「詳細設定」フィルターを使用
- 複数条件対応・別シート出力も可
- **自動更新されない(動的ではない)**ので関数より柔軟性に欠けるが強力
FILTER関数 vs 他の代表的関数|違いを比較
関数名 | 複数条件 | 複数結果 | リアルタイム更新 | バージョン制限 |
---|---|---|---|---|
FILTER | ◎ | ◎ | ◎ | 365 / 2021〜のみ |
VLOOKUP | △(列1つ) | × | ◎ | 全バージョン対応 |
DGET | ◎ | × | ×(1件のみ) | 全バージョン対応 |
INDEX+MATCH | ◎ | △ | ◎ | 全バージョン対応 |
高度なフィルター | ◎ | ◎ | ×(手動) | 全バージョン対応 |
FILTER関数とUNIQUE関数の関係

UNIQUE
:重複を除いた一覧を作成FILTER
:条件に合った行を抽出- 組み合わせて使えば、「特定条件下のユニークな値の一覧」も作れる
excelCopyEdit=UNIQUE(FILTER(A2:A100,B2:B100="東京"))
FILTER関数が使えない人向け:目的別おすすめ代替手段
やりたいこと | FILTER代替案 | 備考 |
---|---|---|
条件に合う行をすべて抽出 | INDEX+SMALL+IF+ROW | Ctrl + Shift + Enterが必要 |
1件だけ取り出す | VLOOKUP or DGET | 複数ヒットには不向き |
重複なしリストを抽出 | 高度なフィルター or UNIQUE関数 | UNIQUEは365以降限定 |
手動でもいいから簡単に絞り込み | 高度なフィルター機能 | 条件行を作る必要あり |
よくある質問(FAQ)

FILTER関数が使えないのはなぜ?
Excelのバージョンが Office 365 または 2021以前でない場合、FILTER関数は利用できません。
ExcelでFILTER関数の代わりになる関数は?
- 動的抽出したい場合:
INDEX
+SMALL
+IF
がベスト - 1件抽出なら:
VLOOKUP
やDGET
FILTER関数はいつから使えるようになった?
- Excel for Microsoft 365:2019年後半〜
- Excel 2021:対応済み
- それ以前のバージョン(2019, 2016, 2013など)では非対応
FILTERXML関数とは違いますか?
はい。
FILTERXML
はXML文字列から特定ノードを抽出する関数で、FILTER関数とは別物です。
まとめ
FILTER関数
が使えない環境でも、代替手段は豊富にある- 複数行抽出なら
INDEX+SMALL+IF+ROW
の組み合わせが最も強力 DGET
やVLOOKUP
は1件限定の抽出に向いている- Excelのバージョンによって関数の可用性が異なるため、用途と環境に応じて使い分けるのが重要
FILTER関数は便利ですが、なくても高度な抽出は可能です。
Excelの本質は「関数の組み合わせ」にあります。
少しでもご参考になれば幸いです!