他社から受け取ったExcelファイルを開いた際に、数式が「=ROUND(@TEXTCALC2.xla!TEXTCALC(D14),2)」のような形式になり、セルに「#NAME?」と表示されることがあります。これはExcelの計算式そのものが間違っているのではなく、アドインや外部参照の設定が原因で発生するケースがあります。
この記事では、TEXTCALCアドインを使用したExcelファイルで「@TEXTCALC2.xla!」が付いてしまう理由や、数式を正常に動作させる方法、ファイルを共有する際の注意点について詳しく解説します。
Excelの数式に「@TEXTCALC2.xla!」が付く理由
Excelでは、アドイン(拡張機能)に含まれる関数を使用した場合、その関数がどのファイルに存在するのかを記録することがあります。
例えば、作成者側のExcelでTEXTCALC関数が「TEXTCALC2.xla」というアドインファイル内に存在していた場合、Excelは次のような外部参照形式で保存します。
=ROUND(@TEXTCALC2.xla!TEXTCALC(D14),2)
これは「TEXTCALC関数はTEXTCALC2.xlaというアドインファイル内にあります」という情報を保持している状態です。
そのため、ファイルを受け取った側のパソコンで同じアドインが別の場所に保存されていたり、登録状況が異なったりすると、Excelが関数の場所を正しく見つけられず「#NAME?」エラーになることがあります。
#NAME?エラーが発生する主な原因
Excelの「#NAME?」エラーは、入力された関数名や名前定義をExcelが認識できない場合に表示されます。
今回のようなTEXTCALC関数の場合、主な原因は以下のようなものです。
- TEXTCALCアドインが有効になっていない
- アドインファイルの保存場所が作成者と異なる
- TEXTCALCのバージョンが異なる
- 外部参照情報が残ったままExcelファイルが保存されている
質問のように「@TEXTCALC2.xla!」を削除して「=ROUND(TEXTCALC(D14),2)」にすると計算できる場合、TEXTCALC関数自体は正常に利用できている可能性が高く、参照先情報だけが問題になっていると考えられます。
TEXTCALC2.xla!を削除しても問題ない場合
現在使用しているExcel環境でTEXTCALCアドインが正常に有効化されている場合は、外部参照部分を削除しても問題ありません。
例えば、以下の2つの数式は同じ結果を返すことがあります。
| 数式 | 意味 |
|---|---|
| =ROUND(@TEXTCALC2.xla!TEXTCALC(D14),2) | アドインファイルを指定してTEXTCALCを呼び出す |
| =ROUND(TEXTCALC(D14),2) | 現在有効なTEXTCALC関数を呼び出す |
自分の環境でTEXTCALCが認識されているなら、後者のシンプルな形式に変更することで、別のパソコンでも扱いやすいファイルになります。
Excelのリンク情報を確認して修正する方法
大量のセルで同じ問題が発生している場合、1つずつ数式を書き換えるのは大変です。その場合はExcelの検索と置換機能を利用できます。
手順例。
- Excelファイルを開く
- 「Ctrl」+「H」で検索と置換を開く
- 検索文字列に「@TEXTCALC2.xla!」を入力する
- 置換後の文字列を空欄にする
- 「すべて置換」を実行する
これにより、数式内に含まれる不要なアドイン参照だけを削除できます。
ただし、TEXTCALCアドイン自体が入っていないパソコンでは、置換後もTEXTCALC関数が使えないため注意が必要です。
アドインの保存場所が違う場合の対策
Excelアドインは、保存場所が変わると別ファイルとして扱われる場合があります。そのため、複数人でExcelファイルを共有する場合は、アドインの管理方法を統一することが重要です。
例えば、作成者が「C:\Users\Aさん\AppData\Roaming\Microsoft\AddIns」に保存しているアドインを、受け取った人が「D:\Excel\AddIns」に保存している場合、Excelは元の場所を参照しようとしてエラーになることがあります。
共有用のExcelでは、可能であれば外部参照形式ではなく、通常の関数形式で保存しておく方がトラブルを減らせます。
TEXTCALCアドインを共有する際の注意点
TEXTCALCのようなユーザー定義関数やアドイン関数を使用したExcelファイルは、アドインが存在しない環境では正常に動作しません。
取引先や別部署へファイルを渡す場合は、以下のような対応がおすすめです。
- 使用しているアドインの名前と入手方法を共有する
- アドインのバージョンを合わせる
- 可能なら計算結果を値として保存したコピーを用意する
特に業務ファイルでは、作成者だけが利用できる環境に依存した数式を残さないことが重要です。
まとめ
Excelで「@TEXTCALC2.xla!TEXTCALC」という数式になり「#NAME?」が表示される場合、TEXTCALC関数が壊れているのではなく、アドインファイルへの参照情報が原因である可能性があります。
現在のExcelでTEXTCALCアドインが有効なら、「@TEXTCALC2.xla!」部分を削除して「=TEXTCALC(D14)」の形式に修正することで正常動作する場合があります。
他社から受け取ったExcelでは、アドインの保存場所やバージョンの違いによるエラーが起こりやすいため、共有時にはアドイン環境をそろえることが、同じ問題を防ぐポイントになります。


コメント