人気アプリの不具合・使い方まとめ

【Excel】FILTER関数が使えないときの代わりは?|バージョン別対応策・抽出関数の違い・VLOOKUPやDGETとの使い分けも徹底解説

ExcelのFILTER関数は、条件に合ったデータだけを絞り込んで抽出できる非常に便利な関数です。

しかし、

「FILTER関数が見つからない」

「FILTER関数が使えないバージョンだけど似たことをしたい」

と困っている方も多いのではないでしょうか?

この記事では、「excel filter関数 代わり」というサジェストを起点に、FILTER関数の代替方法、FILTERが使えるExcelバージョン、関数の比較、手動フィルターとの違いなどを解説します。


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 他の代表的関数|違いを比較

関数名複数条件複数結果リアルタイム更新バージョン制限
FILTER365 / 2021〜のみ
VLOOKUP△(列1つ)×全バージョン対応
DGET××(1件のみ)全バージョン対応
INDEX+MATCH全バージョン対応
高度なフィルター×(手動)全バージョン対応

FILTER関数とUNIQUE関数の関係

  • UNIQUE重複を除いた一覧を作成
  • FILTER条件に合った行を抽出
  • 組み合わせて使えば、「特定条件下のユニークな値の一覧」も作れる
excelCopyEdit=UNIQUE(FILTER(A2:A100,B2:B100="東京"))

FILTER関数が使えない人向け:目的別おすすめ代替手段

やりたいことFILTER代替案備考
条件に合う行をすべて抽出INDEX+SMALL+IF+ROWCtrl + Shift + Enterが必要
1件だけ取り出すVLOOKUP or DGET複数ヒットには不向き
重複なしリストを抽出高度なフィルター or UNIQUE関数UNIQUEは365以降限定
手動でもいいから簡単に絞り込み高度なフィルター機能条件行を作る必要あり

よくある質問(FAQ)

FILTER関数が使えないのはなぜ?

Excelのバージョンが Office 365 または 2021以前でない場合、FILTER関数は利用できません。

ExcelでFILTER関数の代わりになる関数は?

  • 動的抽出したい場合INDEXSMALLIFがベスト
  • 1件抽出ならVLOOKUPDGET

FILTER関数はいつから使えるようになった?

  • Excel for Microsoft 365:2019年後半〜
  • Excel 2021:対応済み
  • それ以前のバージョン(2019, 2016, 2013など)では非対応

FILTERXML関数とは違いますか?

はい。

FILTERXMLXML文字列から特定ノードを抽出する関数で、FILTER関数とは別物です。


まとめ

  • FILTER関数が使えない環境でも、代替手段は豊富にある
  • 複数行抽出なら INDEX+SMALL+IF+ROW の組み合わせが最も強力
  • DGETVLOOKUP は1件限定の抽出に向いている
  • Excelのバージョンによって関数の可用性が異なるため、用途と環境に応じて使い分けるのが重要

FILTER関数は便利ですが、なくても高度な抽出は可能です。

Excelの本質は「関数の組み合わせ」にあります。

少しでもご参考になれば幸いです!


参考リンク

Pick up

1

2022年5月3日頃より、一部のInstagramユーザーの間で、アプリを起動すると突然 「生年月日を追加」 という生年月日の入力を強制する画面が表示されるケースが急増しているようです。 この影響で、 ...

2

スマホでGoogle検索を利用しようとした際に、検索キーワードの候補として、 検索履歴ではなく「話題の検索キーワード」が表示される場合がありますよね。 この「話題の検索キーワード」に表示される検索キー ...

3

不在連絡かのような内容のSMS 「お客様が不在の為お荷物を持ち帰りました。こちらにてご確認ください http:// ~」 がまたまた届きました。 このメール、またまた増加しているようです。 ...

-人気アプリの不具合・使い方まとめ