Excelファイルが相手先で「#NAME?」エラー発生? 互換性チェックの基本とCopilotを使った修正法:Tech TIPS
Microsoft Excel(エクセル) 2021以降、XLOOKUPやUNIQUEといった新関数が導入されている。これらの関数は業務効率を大幅に向上させる一方、Excel 2019以前のバージョンでは認識されないという問題がある。取引先や外部のユーザーが古いExcelを使用している場合、新しい関数を含んだブックでは、数式に「_xlfn.」という接頭辞が表示されたり、「#NAME?」エラーが発生したりして、データが正しく表示されない。そこで本Tech TIPSでは、作成したExcelファイルが古いバージョンと互換性があるかどうかをチェックする方法と、問題があった場合の修正方法を解説する。
対象:Excel 2021/2024/365
Excelで古いバージョンとの互換性をチェックして「#NAME?」エラーを回避する方法
Microsoft Excel(エクセル) 2021以降、XLOOKUPやUNIQUEといった新関数が導入されている。これらの関数は業務効率を大幅に向上させる一方、Excel 2019以前のバージョンでは認識されないという問題がある。取引先や外部のユーザーが古いExcelを使用している場合、新しい関数を含んだブックでは、数式に「_xlfn.」という接頭辞が表示されたり、「#NAME?」エラーが発生したりして、データが正しく表示されない。そこで本Tech TIPSでは、作成したExcelファイルが古いバージョンと互換性があるかどうかをチェックする方法と、問題があった場合の修正方法を解説する。
Excelファイルの互換性チェックの重要性
Microsoft Excel(エクセル) 2021以降、特にサブスクリプション版のExcel 365では、XLOOKUPやUNIQUEといった新関数が導入されている。これらの関数は業務効率を大幅に向上させる一方、Excel 2019以前のバージョンでは認識されないという落とし穴がある。
社内に新旧Excelが混在していたり、取引先や外部のユーザーが古いExcelを使用していたりする場合、新しい関数を含んだブックでは、セルに数式に「_xlfn.」という接頭辞が付いたり、「#NAME?」エラーが発生したりして、データが正しく表示されない。
Excel 2021以降でサポートする関数を使ったブックをExcel 2013で開いてみた
Excel 2021以降でサポートする関数を使ったブックをExcel 2013で開くと、このように関数名の前の「_xlfn.」という接頭辞が付いたり、「#NAME?」エラーが発生したりする。正しくデータが表示されないため、トラブルの元となる。
既にExcel 2019以前のバージョンはサポート切れとなっているものの、依然として現場で利用されているケースは少なくないため、外部へ配布する前には「互換性チェック」が不可欠となる。
Excelの「互換性チェック」機能の実行手順
Excelには、古いExcelとの互換性をチェックする機能がある。この機能を使うことで、互換性のない要素が検出できる。
Excel 2021以降の新しいExcelで、確認したいExcelファイル(ブック)を開き、[ファイル]タブの[情報]を選択する。右ペインの「情報」画面で「ブックの検査」欄の[問題のチェック]をクリックし、表示されたドロップダウンリストから「互換性チェックの実行」を選択する。
[互換性チェック]ダイアログボックスが表示され、ここに現在開いているブックで選択したバージョン(デフォルトではExcel 97-2003から現在のバージョンまで)で互換性のない機能の概要が一覧表示される。
互換性チェック対象のバージョンは、[互換性チェック]ダイアログの[表示するバージョンを選択]をクリックすると対象となるバージョンがチェックできる。例えば、Excel 2016以降で互換性を確認したいのであれば、デフォルトでチェックされている「Excel 97-2003」「Excel 2007」「Excel 2010」「Excel 2013」のチェックを外せばよい。
「概要」欄に表示された互換性の問題は、リスト内の[検索]リンクをクリックすると、シート上の該当するセルが選択された状態となる。選択されたセルに使われている関数や機能などを修正することで、古いExcelとの互換性が確保できるようになる。
Excelの「互換性チェック」機能の実行手順(1)
互換性を確認したいExcelファイルを開いた状態で[ファイル]タブを開き、左メニューで[情報]を選択する。右ペインにある[問題のチェック]をクリックし、表示されたメニューで[互換性チェック]を選択する。
複数の互換性問題が提示された場合、検索して修正、また互換性をチェックという作業を、互換性問題がなくなるまで繰り返す必要がある。このような場合は、[互換性チェック]ダイアログの[新しいシートにコピー]ボタンをクリックして、「概要」欄の内容を新しいシートに展開するとよい。シートに展開された互換性問題をチェックして修正していけば済むので、修正して互換性をチェックという工程が省略できるようになる。
Excel 97-2003形式で保存して手っ取り早く互換性を確認
単純に互換性で問題が生じるセルを特定したい、というだけならば、[ファイル]タブで[名前を付けて保存]を選択、ファイル形式を[Excel 97-2003ブック(.xls)]にして別名を付けて保存するという方法もある。
[互換性チェック]ダイアログが表示されたら、[続行]ボタンをクリックして保存する。Excel 97-2003ではサポートしていない関数などが入ったセルが「=#VALUE!」となる。ただし、元の数式が消えてしまうため、必ず「確認用のコピー」に対して実行し、修正作業自体は元の「.xlsx」ファイルに対して実施すること。
Excel 97-2003形式で保存して互換性を確認する(1)
互換性を確認したいExcelファイルを開いた状態で[ファイル]タブを開き、左メニューで[コピーを保存]または[名前を付けて保存]を選択する。ファイル名を変更して、[Excel 97-2003ブック]を選択、[保存]ボタンをクリックして、「.xls」形式で保存する。
Excel 97-2003形式で保存して互換性を確認する(2)
[互換性チェック]ダイアログが開くので、[続行]ボタンをクリックする。ここで[互換性チェック]ダイアログが開かない場合は、互換性問題が生じる関数が使われていないので、関数などの修正は不要となる。
Excel 97-2003形式で保存して互換性を確認する(4)
保存した「.xls」ファイルを開くと、Excel 97-2003ブックでサポートされていない関数が「#VALUE!」エラーとなる。このエラーがあるセルに使われている関数を修正していく。
「#NAME?」エラーの正体と置き換え方法
古いExcelで新関数を含むワークシートを開くと発生する「#NAME?」エラーは、そのバージョンに存在しない関数が使われていることを意味する。これを解消するには、旧バージョンでも動作する「代替関数」への書き換えが必要となる。
Excel 2021以降で導入され、比較的利用されることが多いと思われる関数とその代替関数を下表に紹介しておく。
| 新関数 | 旧バージョンでの代替関数 |
|---|---|
| XLOOKUP | INDEX+MATCH |
| FILTER | INDEX+SMALL+IFを組み合わせた配列数式 |
| UNIQUE | COUNTIF+IF+INDEXを組み合わせた配列数式 |
| SORT | SMALL/LARGE |
| 代表的な新関数と代替案 | |
AI(Copilot)を活用した賢い書き換えテクニック
XLOOKUP、UNIQUE、FILTER、SORTなど新たに導入された関数は、Excel 2019以前では互換性問題が生じるので、古いExcelでも利用可能な関数に置き換える必要がある。とはいえ、複雑な数式を自力で置き換えるのは手間がかかる。
このような場合、Copilot in WindowsなどのAI(人工知能)を活用するとよい。「F2セルに入力しているExcel 365の以下の数式をExcel 2019でも使える数式に書き換えて」というようにプロンプトを入力後、古いExcelとの互換性がない数式を入力して、[Enter]キーを押せばよい。よほど込み入った数式でなければ、古いExcelでも利用可能な関数に置き換えた数式が提示されるはずだ。
この際、数式内に個人情報や機密情報を含む文字列がある場合は、情報漏えいを避けるため、あらかじめ適当な文字列に伏せてから入力するように注意したい(参照先のセルに個人情報などが入っている場合は問題ない)。
提示された数式をExcelのシートに反映して、問題がないかどうかを確認しよう。問題が発生した場合は、エラー内容などを含めてCopilot in Windowsに書き換えの指示を出せばよい。
全て修正したら、互換性チェックを実行して、「概要」欄に問題が表示されないようにする。
Copyright© Digital Advantage Corp. All Rights Reserved.







