ADVERTISEMENT

【Excel】ExcelでFILTER関数が使えない時のバージョンと代替手順

【Excel】ExcelでFILTER関数が使えない時のバージョンと代替手順
🛡️ 超解決

ExcelのFILTER関数は、指定した条件に合致するデータを動的に抽出できる便利な関数です。しかし、すべてのExcel環境で使えるわけではなく、バージョンやライセンス体系によって利用可否が分かれます。職場でFILTER関数を入力したのに「#NAME?」エラーが出たり、関数一覧に表示されなかったりする場合、まずは原因を特定する必要があります。この記事では、FILTER関数が使えない原因をバージョン別に整理し、具体的な代替手順を解説します。会社のPCで制限がある場合でもすぐに実践できる内容です。

【要点】この記事で確認すること

  • 最初に見る場所: Excelのバージョン情報とライセンスの種類(Microsoft 365か買い切り版か)
  • 切り分けの軸: バージョンが対応しているか、関数名の入力ミス、配列数式の扱い
  • 注意点: 会社PCではExcelのアップデートを自分で行えない場合があるため、管理者への確認が必要です。また、買い切り版のExcel 2019以前ではFILTER関数は使用できません。

ADVERTISEMENT

FILTER関数が使えない原因をバージョン別に整理する

FILTER関数は、Microsoft 365(旧Office 365)およびExcel 2021以降の買い切り版で利用可能です。Excel 2019以前の買い切り版や永続ライセンス版では利用できません。また、Excel for MacやExcel Onlineでも対応状況が異なるため、まずは自分の環境を確認しましょう。

サブスクリプション版と買い切り版の違い

Microsoft 365は年間または月単位のサブスクリプションで、常に最新の機能が提供されます。一方、Excel 2021や2019などの買い切り版は、リリース時点の機能で固定され、新関数は追加されません。そのため、FILTER関数はExcel 2019までには搭載されておらず、買い切り版ではExcel 2021からの対応となります。

利用可能なバージョン一覧

以下の表は、代表的なExcelバージョンにおけるFILTER関数の対応状況と、推奨される代替方法をまとめたものです。

Excelバージョン FILTER関数 推奨代替方法
Microsoft 365(Windows/Mac) ○ 利用可 そのまま使用
Excel 2021 (買い切り) ○ 利用可 そのまま使用
Excel 2019 (買い切り) × 不可 INDEX+MATCH / XLOOKUP / オートフィルター
Excel 2016 (買い切り) × 不可 INDEX+MATCH / オートフィルター / VBA
Excel for Mac (2019以前) × 不可 INDEX+MATCH / オートフィルター
Excel Online (無料版) ○ 一部利用可 Microsoft 365サブスクリプションが必要な場合あり
お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

今使っているExcelのバージョン確認手順

自分のExcelがどのバージョンかを確認するには、以下の手順を実行します。

  1. Excelを起動し、「ファイル」タブをクリックします。
  2. 左側のメニューから「アカウント」を選択します。
  3. 「Excelのバージョン情報」または「バージョン情報」ボタンをクリックします。
  4. 表示されたダイアログで、「バージョン」と「ライセンスの種類」(Microsoft 365または製品版)を確認します。
  5. 買い切り版の場合、Excel 2021 や Excel 2019 などと明記されています。Microsoft 365の場合は「Microsoft 365 Apps for enterprise」などと表示されます。
  6. 確認したバージョンがFILTER関数に対応しているか、上記の表で照らし合わせます。

会社PCで管理者権限がない場合は、[ファイル] > [アカウント] の画面をスクリーンショットして、IT部門に送るとスムーズです。

バージョンごとの代替方法

FILTER関数が使えない環境でも、同じようなデータ抽出を実現する方法は複数あります。状況に応じて最適な方法を選んでください。

フィルタ機能(オートフィルターやテーブル)

最も簡単な代替方法は、Excelの標準フィルター機能です。データ範囲を選択し、「データ」タブの「フィルター」をクリックすると、各列にドロップダウン矢印が表示されます。条件を指定して表示を絞り込めます。抽出結果を別の場所にコピーしたい場合は、フィルター適用後に表示されている行だけをコピーして貼り付けます。この方法は、元データを変更せずに一時的に抽出したい場合に適しています。

INDEX + MATCH または XLOOKUP を使った条件抽出

FILTER関数の代わりに、INDEX関数とMATCH関数を組み合わせることで、複数条件の抽出が可能です。ただし、抽出結果を一覧で表示するには、数式を複数のセルにコピーする必要があります。XLOOKUP関数はExcel 2019以降で利用可能ですが、FILTERほど柔軟ではありません。以下は、売上表から地域が「東京」のデータを抽出する例です。

=INDEX(A2:A100, SMALL(IF(B2:B100="東京", ROW(B2:B100)-ROW(B2)+1), ROW(1:1)))

この数式は配列数式として入力します(Ctrl+Shift+Enter)。下方向にオートフィルして複数の該当行を取得します。ただし、空白が生じる場合があるため、IFERRORでエラー処理をする必要があります。

VBAを使ったユーザー定義関数

VBA(Visual Basic for Applications)に慣れている方であれば、自作のFILTER関数を作成することも可能です。標準モジュールに以下のコードを記述します。

Function CustomFilter(rng As Range, criteria As Range) As Variant
Dim arr As Variant, result() As Variant, i As Long, j As Long, idx As Long
arr = rng.Value
ReDim result(1 To UBound(arr, 1), 1 To UBound(arr, 2))
For i = 1 To UBound(arr, 1)
If arr(i, 1) = criteria.Value Then
idx = idx + 1
For j = 1 To UBound(arr, 2)
result(idx, j) = arr(i, j)
Next j
End If
Next i
CustomFilter = result
End Function

ただし、会社PCでVBAマクロを使用するにはセキュリティ設定の確認が必要です。管理者に相談の上、マクロを有効にできるかどうか確認してください。

ADVERTISEMENT

失敗パターンと注意点

関数名の入力ミス

FILTER関数は「=FILTER(配列, 含む, [空の場合])」という構文です。関数名を「FILTER」と正しく入力しているか、またカンマや括弧の位置が正しいか確認してください。特に、英語版ExcelではFILTER関数は同じですが、日本語版でも「FILTER」のままです。関数が認識されない場合、バージョン非対応の可能性が高いです。

配列数式の誤った入力

FILTER関数は動的配列数式であり、結果が複数のセルに自動的に展開されます。古いバージョンのExcelでは動的配列がサポートされていないため、FILTER関数を入力しても意図したように表示されない場合があります。その場合は、INDEX+MATCHのように従来の配列数式(Ctrl+Shift+Enter)を使う必要があります。

会社PCのポリシー制限

会社のPCでは、ExcelのアップデートがITポリシーで制限されていることがあります。バージョンが古いまま更新されないケースや、Microsoft 365であっても機能の一部が無効化されている場合があります。また、アドインやマクロの実行が制限されていることもあります。このような環境では、管理者に利用可能な機能を確認する必要があります。

管理者に確認すべき情報

FILTER関数が使えない場合、以下の情報を整理して管理者(IT部門)に問い合わせるとスムーズです。

  • 現在のExcelのバージョン(ファイル > アカウント > Excelのバージョン情報)
  • 使用しているライセンスの種類(Microsoft 365 / Excel 2021 / 2019 など)
  • 発生しているエラー内容(#NAME? など)
  • 代替方法としてINDEX+MATCHやVBAを利用しても問題ないか
  • Excelのアップデートが可能かどうか(組織の更新ポリシー)

管理者に伝える際は、単に「FILTER関数が使えない」と報告するのではなく、バージョン情報を添えることで原因がすぐに特定されます。また、代替方法を提案することで、作業の継続が可能になります。

よくある質問(FAQ)

Q1: FILTER関数を入力したら「#NAME?」エラーが出ます。
A1: 関数名が認識されていない状態です。Excelのバージョンが対応していない可能性が高いです。バージョン確認を行い、対応していない場合は代替方法を使用してください。

Q2: Excel 2019ですが、FILTER関数を使う方法はありますか?
A2: 残念ながらExcel 2019ではFILTER関数は利用できません。代替として、オートフィルターやINDEX+MATCH、またはXLOOKUP(Excel 2019でも使用可能)を試してください。

Q3: 会社PCでVBAマクロを使うのは安全ですか?
A3: 会社のセキュリティポリシーによります。管理者に確認し、許可を得た上でマクロを有効にしてください。信頼できるソースからのコードのみを使用しましょう。

Q4: FILTER関数が使えないので、上司に新しいExcelバージョンを依頼したいです。
A4: 業務効率化の観点から、導入のメリットを具体的に説明すると良いでしょう。例えば、FILTER関数を使うことで作業時間が短縮できることを数字で示すと説得力が増します。

まとめ

FILTER関数が使えない原因は、ほとんどの場合Excelのバージョンによるものです。まずはバージョン情報を確認し、対応しているかどうかを判断しましょう。対応していない場合は、オートフィルター、INDEX+MATCH、またはVBAによるユーザー定義関数を代替手段として利用できます。会社PCでは管理者の許可が必要な場合があるため、事前に相談しておくことをおすすめします。適切な方法を選んで、業務の効率を落とさずにデータ抽出を行ってください。


📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】

ADVERTISEMENT