Excelで数式バーを見ると、関数名の前に _xlfn. が付いていて、セルには #NAME? と表示される。この現象が起きる原因はひとつで、「今使っている Excel が、そのファイルに書かれている関数を実装していない」ことです。2026 年現在、Excel 2024 でも、Microsoft 365 向けの新関数や、ビルド差で利用可否が分かれる新関数を含むファイルを開くと同じ現象が発生します。本記事では原因と対処法を、xlsx の内部 XML の動きも含めて Excel 2024 (Build 19929.0) での実機検証付きで解説します。

_xlfn.GROUPBY を手動注入して作成したもので、実機 Microsoft 365 で保存したファイルではない。これを Excel 2024 (Build 19929.0) で開くと、数式バーにプレフィックスがそのまま表示され、セルは #NAME? になる。- 原因の一覧と見分け方
- ケース1 ― Excel 2024 で _xlfn.GROUPBY / _xlfn.REGEX* 等が表示される (この記事で扱う主なパターン)
- ケース2 ― Excel 2021 で _xlfn.TAKE / _xlfn.VSTACK 等が表示される
- ケース3 ― Excel 2016 / 2019 で _xlfn.FILTER / _xlfn.UNIQUE 等が表示される (歴史的経緯)
- 対処法1 ― 作成元の Microsoft 365 で開き直して値で固定する
- 対処法2 ― 受信側でも動く代替式に書き換える
- 対処法3 ― 受信側の Excel を Microsoft 365 にアップグレードする
- なぜ _xlfn. が付くのか ― xlsx 内部の XML の仕組み
- 自分の xlsx の中に _xlfn. が入っているか確認する手順
- それでも解決しないときの確認ポイント
- まとめ
- この記事で使ったサンプルファイル
- 関連記事
原因の一覧と見分け方
_xlfn. が表示される原因は、お使いの Excel が「ファイル内の関数をまだ実装していない」ことです。実装のタイミングは Excel のバージョンだけでなく、更新チャネルとビルド番号でも変わります。自分のビルドは ファイル → アカウント → Excel のバージョン情報 で確認できます。
| 使っている Excel | _xlfn. が付いて #NAME? になり得る関数 | 発生頻度(2026年) |
|---|---|---|
| Excel 2024 / Excel 2024 for Mac | タイプ A (原則 Microsoft 365 向け): GROUPBY / REGEXTEST / REGEXEXTRACT / REGEXREPLACE / TRANSLATE / DETECTLANGUAGE / TRIMRANGE / PERCENTOF などタイプ B (公式適用先に Excel 2024 / 2021 も含むがビルド差で使えないことがある): PIVOTBY など | ★★★ 現在増加中 |
| Excel 2021 | 上記に加え LAMBDA / TAKE / DROP / VSTACK / HSTACK / TEXTSPLIT / TEXTBEFORE / TEXTAFTER / CHOOSEROWS / CHOOSECOLS / EXPAND / TOROW / TOCOL / WRAPROWS / WRAPCOLS | ★★ 減少中 |
| Excel 2019 / Excel 2016 | 上記に加え FILTER / UNIQUE / SORT / SORTBY / XLOOKUP / XMATCH / LET / SEQUENCE / RANDARRAY | ★ 2025-10 でサポート終了、残存利用者のみ |
GROUPBY / REGEXTEST / REGEXEXTRACT / PERCENTOF / TRIMRANGE / TRANSLATE / DETECTLANGUAGE などは、2026 年 4 月時点の Microsoft 公式サポートページでは主に Microsoft 365 向けの関数として案内されています。一方、PIVOTBY は公式の適用先に Excel 2024 / Excel 2021 も含まれます。つまり、すべてが「ビルド待ち」で使えるようになるわけではなく、関数ごとに適用先が異なります。本記事の検証環境 (Excel 2024 Build 19929.0) ではこれらが #NAME? になりましたが、原因が「未配信」なのか「そのエディション自体が対象外」なのかは、個別の関数ページで確認してください。PY 関数 (Python in Excel) は、数式バーから直接入力できない特殊な関数です。通常の _xlfn. / #NAME? 現象とは仕組みが異なるため、本記事の対象からは除外しています。ケース1 ― Excel 2024 で _xlfn.GROUPBY / _xlfn.REGEX* 等が表示される (この記事で扱う主なパターン)
Microsoft 365 向けの新関数や、ビルド差で利用可否が分かれる新関数を含むファイルを Excel 2024 で開くと、数式バーに _xlfn. が付き、セルが #NAME? になることがあります。本記事の検証環境 (Excel 2024 Build 19929.0、2026-04-24 時点) での再現例を、原因の性質で 2 つに分けて示します。
タイプ A ― 原則として Microsoft 365 向けの新関数
次の関数は、2026 年 4 月時点で公式サポートページの「Applies To」が主に Microsoft 365 向けに案内されているものです。Excel 2024 側のビルド更新だけで使えるようになるとは限らず、そもそも対象エディションが異なる可能性があります。個別の関数ページで適用先を確認してください。
GROUPBY/PERCENTOF― 集計系REGEXTEST/REGEXEXTRACT/REGEXREPLACE― 正規表現系TRANSLATE/DETECTLANGUAGE― 翻訳サービス連携TRIMRANGE― 範囲から空白行・列を除去

REGEXEXTRACT を含むファイルを Build 19929.0 で開いた例。数式バーに _xlfn.REGEXEXTRACT がそのまま表示される。タイプ B ― 公式適用先に Excel 2024 / 2021 も含むが、本ビルドではまだ利用不可の関数
PIVOTBY は、Microsoft 公式サポートの「Applies To」に Excel 2024 / Excel 2024 for Mac / Excel 2021 / Excel 2021 for Mac も含まれています。ただし実際の配信は更新チャネルとビルドに依存しており、永続ライセンス版では配信が遅れる場合があります。

PIVOTBY も _xlfn. 付きで #NAME? になった。より新しいビルドでは利用できる可能性があるため、まずは ファイル → アカウント で更新を確認する。いずれのタイプも、Excel 2024 側で直接入力しても同じ結果になります。つまり ファイルを「開いたら出た」のか「今入力したら出た」のかに関わらず、原因はどちらかひとつ ― その関数がそもそも今のエディションの対象外か、ビルドへの配信待ちかです。個別関数の適用先確認と、ビルドの更新確認の 2 つを組み合わせて切り分けてください。
ケース2 ― Excel 2021 で _xlfn.TAKE / _xlfn.VSTACK 等が表示される
Excel 2021 では、2021 年に追加された世代の動的配列関数 (FILTER / SORT / UNIQUE / XLOOKUP / LET / SEQUENCE / RANDARRAY) は使えます。しかし、2022 年以降に追加された次の関数は使えません。
LAMBDAと関連関数 (BYROW/BYCOL/MAP/REDUCE/SCAN/MAKEARRAY)TAKE/DROP/CHOOSEROWS/CHOOSECOLSVSTACK/HSTACKTEXTSPLIT/TEXTBEFORE/TEXTAFTERTOROW/TOCOL/WRAPROWS/WRAPCOLS/EXPAND
これらの関数を含むファイルを Excel 2021 で開くと _xlfn.TAKE や _xlfn.TEXTSPLIT のように表示されます。
ケース3 ― Excel 2016 / 2019 で _xlfn.FILTER / _xlfn.UNIQUE 等が表示される (歴史的経緯)
2020 年前後に多く見られたパターンです。Excel 2019 および Excel 2016 には、動的配列機能そのものが搭載されていません。したがって Microsoft 365 / Excel 2021 以降のファイルに含まれる以下の関数はすべて _xlfn. 付きになります。
FILTER/SORT/SORTBY/UNIQUEXLOOKUP/XMATCHLET/SEQUENCE/RANDARRAY
このパターンは、Excel 2016 / 2019 が 2025 年 10 月 14 日にサポートを終了したため減少傾向ですが、社内で永続ライセンス版を使い続けている環境では今も発生します。
対処法1 ― 作成元の Microsoft 365 で開き直して値で固定する
受信側の Excel でエラーが出る場合、もっとも確実な対処は、作成元で値に固定してから渡すことです。手順は次の通りです。
- Microsoft 365 でファイルを開く(スピル結果が正しく計算されていることを確認)
- 該当の数式セル、またはスピル範囲全体を選択してコピー
- ホーム → 貼り付け → 値 (V) を選択して同じ位置に貼り付け
- 数式が値に置き換わったことを確認して上書き保存
値に固定すれば、受信側の Excel バージョンに関係なく正しく表示されます。ただし元の数式は消えるため、作成元のファイル (数式あり) と配布用ファイル (値のみ) は別名で管理することを推奨します。
対処法2 ― 受信側でも動く代替式に書き換える
受信側の Excel でも数式として動かしたい場合は、代替式に書き換えます。代表的な置き換え例を挙げます。
| 新しい関数 | 旧バージョン・旧ビルドでも動く代替 |
|---|---|
GROUPBY / PIVOTBY | ピボットテーブル / SUMIFS + UNIQUE / 作業列 + SUMIF |
REGEXTEST | ISNUMBER(SEARCH(...)) (簡易パターンのみ) / VBA の RegExp |
REGEXEXTRACT / REGEXREPLACE | LEFT / MID / FIND の組み合わせ / VBA の RegExp |
TRANSLATE / DETECTLANGUAGE | Microsoft Translator / DeepL など外部サービス |
TRIMRANGE | FILTER + NOT(ISBLANK(...)) |
それぞれの代替式の具体的な書き方は、関数別の個別記事で解説しています。
対処法3 ― 受信側の Excel を Microsoft 365 にアップグレードする
頻繁にファイルをやり取りする環境であれば、Microsoft 365 へのアップグレードが最も手間を減らします。2026 年 4 月現在、次の選択肢があります。
- Microsoft 365 (Personal / Family / Business) ― サブスクリプション。新関数は Current Channel 経由で最優先で配信されます。
- Excel 2024 (永続ライセンス) ― 使える新関数は関数ごとに異なります。
PIVOTBYのように公式の適用先に Excel 2024 が含まれるものもありますが、GROUPBY/REGEX*/TRANSLATE/DETECTLANGUAGE/TRIMRANGE/PERCENTOFなどは、2026 年 4 月時点の公式ページでは主に Microsoft 365 向けとして案内されています。更新だけで必ず使えるようになるとは限らないため、個別のサポートページを確認してください。 - Excel 2019 / 2016 ― 2025 年 10 月 14 日サポート終了。現在は非推奨。
なぜ _xlfn. が付くのか ― xlsx 内部の XML の仕組み
_xlfn. は、xlsx ファイルの内部 XML にある数式の「新関数印」です。新しい関数を含む数式を xlsx に書くとき、Excel は互換性のために関数名の前に _xlfn. を付けて保存します。古いバージョンの Excel は、この印を見て「自分が知らない新しい関数だ」と判定し、そのまま _xlfn.GROUPBY(…) の形で表示し、計算では #NAME? を返します。
Excel 2024 で FILTER を入力して保存した xlsx の XML を実際に覗くと、こうなっています。
<c r="E2" t="str" cm="1"><f t="array" ref="E2:G4">_xlfn._xlws.FILTER(A2:C6, B2:B6="東京")</f><v>山田</v></c>
注目すべきは、Excel 2024 で書いた FILTER も、ファイルの中身では _xlfn._xlws.FILTER という二重プレフィックス付きで保存されている点です。画面上は FILTER と見えますが、それは Excel 2024 がこの関数を「自分が知っている新関数だから表示時にプレフィックスを隠す」と判定しているからです。
_xlfn.は「新関数全般」を示すプレフィックス_xlws.は「ワークシート関数スコープ」のさらに内側のプレフィックス (FILTER/SORTのみ二重)_xlpm.はLAMBDAのパラメータ名 (_xlpm.xのように出る)
同じファイルを Excel 2019 で開くと、Excel 2019 は _xlfn._xlws.FILTER を認識できず、画面上も内部のままの名前で表示し #NAME? を返します。ケース3 の「Excel 2019 で _xlfn.FILTER が出る」現象の正体はこれです。

FILTER 関数。内部では _xlfn._xlws.FILTER と記録されているが、Excel 2024 が認識するため画面上は FILTER として表示される。
FILTER は Excel 2024 で正しくスピルして結果を返す。自分の xlsx の中に _xlfn. が入っているか確認する手順
xlsx は内部的に zip 形式なので、次の手順で中身を確認できます。
- 確認したい xlsx ファイルのコピーを作成する(誤変更防止)
- コピーの拡張子を
.xlsxから.zipにリネーム - zip を展開
xl/worksheets/sheet1.xmlをメモ帳などのテキストエディタで開く_xlfn.で検索すると、新関数が使われている数式がすべてヒットする

xl/worksheets/sheet1.xml を開いたところ。_xlfn._xlws.FILTER などのプレフィックスが、ファイル内部にそのまま記録されている様子が確認できる。.xlsx の zip であれば読めますが、展開して再度 zip 化したファイルは順序やメタ情報が変わるため、元と同じではありません。それでも解決しないときの確認ポイント
- Excel を最新ビルドに更新する ― Excel 2024 / 2021 / Microsoft 365 のいずれでも、ファイル → アカウント → 更新オプション → 今すぐ更新 で最新ビルドが配信されます。Microsoft 公式では対応済みとされている関数が
#NAME?になる場合、ビルドが古い可能性が高いです。本記事の検証は Build 19929.0 で実施しましたが、より新しいビルドでは結果が変わります。 - Microsoft 365 の更新チャネルが「月次エンタープライズ」「半期エンタープライズ」等になっている ― 新関数は Current Channel に先行配信され、エンタープライズ系チャネルは遅れます。自分のチャネルは ファイル → アカウント で確認できます。
- アドインが関数名を上書きしている ― カスタムアドインが同名の関数を定義していると競合することがあります。アドインを一時的に無効化して確認してください。
- 名前の定義と衝突している ― 関数名と同じ「名前の定義」があると優先されます。数式 → 名前の管理 で確認してください。
- ファイルが .xls (古い形式) で保存されている ― .xls では動的配列関数そのものが保存できません。.xlsx または .xlsm で保存し直してください。
まとめ
_xlfn.が付いて#NAME?になるのは、今使っている Excel ビルドがその関数をまだ実装していないため。- 2026 年で目立つのは、Microsoft 365 向けの新関数 (
GROUPBY/REGEX*/PERCENTOF/TRIMRANGE/TRANSLATE/DETECTLANGUAGEなど) や、公式適用先に Excel 2024 / 2021 も含むがビルド差で使えないことがある関数 (PIVOTBYなど) を含むファイルを、永続ライセンス版 Excel で開いたときに発生するケース。 - まず ファイル → アカウント で自分のバージョンとビルドを確認し、最新に更新する。それでも解決しない場合は、作成元で値に固定して配る、代替式に書き換える、Microsoft 365 にアップグレードする、のいずれかで対処する。
- xlsx の内部 XML では Excel 2024 の
FILTERも_xlfn._xlws.FILTERと保存されている。つまり_xlfn.自体はエラーの記号ではなく「新関数の印」にすぎない。
この記事で使ったサンプルファイル
関連記事
- Excel 365 進化中! Excel 2024 以降に追加された注目の新関数 ― 本記事で取り上げた
GROUPBY/PIVOTBY/REGEXTEST等の詳細解説 - Excel 2021 新関数の一覧と概要 (Excel 2019 からの追加) ― Excel 2019 → 2021 世代の追加関数
- 新しいバージョンの「動的配列数式」と従来のバージョンの「複数セル配列数式」の違い ― 動的配列そのものの仕組み
- Excel の FILTER 関数で #CALC! エラーが出る原因と対処法 ― 隣接する別エラー
- エラー値「#スピル!」の発生原因と解消方法 ― スピル関連エラーの総合解説
コメント