Excelでブックのファイル名を取得する計算式の設置方法

Excelでブックのファイル名のみを取得する計算式

Excelを使っていると、ブックの名前を文書内で参照したい場合があります。たとえば、複数のファイルからデータを集計する際に、どのファイルから情報が来たのかを明記したいときなどです。この記事では、Excelのブックのファイル名のみを簡単に取得する方法をご紹介します。

ファイル名のみを取得する計算式

まずは、ファイル名のみを取得するための計算式から見ていきましょう。以下の計算式を使えば、パスやシート名を除いた、ブックのファイル名だけを抽出することができます。CELL関数の引数「”filename”」を加工して獲得します。

=MID(CELL("filename",A1),FIND("[",CELL("filename",A1))+1,FIND("]",CELL("filename",A1))-FIND("[",CELL("filename",A1))-1)

この計算式は、ブックが保存されている状態である必要があります。未保存のブックに対しては、結果を得ることはできませんので、ご注意ください(未保存の場合は#VALUE!が返る)。

また、ファイル名を変更した直後などに式の結果を最新にするならば{F9}キーを押してください。

計算式の解説

それでは、この計算式がどのように機能するのかを詳しく解説します。

使用する関数

  • CELL関数:「filename」という引数を与えると、現在開いているブックのフルパスとファイル名、そしてアクティブなシート名を返します。
  • FIND関数:指定した文字列が最初に現れる位置を数値で返します。この計算式では、ファイル名を囲む角括弧「[」と「]」の位置を見つけるのに使用します。
  • MID関数:文字列の中から特定の位置から特定の数の文字を抽出します。ここでは、角括弧「[」の次の文字から、角括弧「]」の直前までの文字、つまりファイル名を抽出します。

具体的な処理

  1. CELL("filename", A1)で現在のブックの完全なパスとファイル名、そしてシート名を含む文字列を取得します。
  2. FIND("[", CELL("filename", A1))で、この文字列の中の[の位置(ファイル名の開始部分)を見つけます。
  3. FIND("]", CELL("filename", A1))で、この文字列の中の]の位置(ファイル名の終了部分)を見つけます。
  4. MID関数を使用して、[]の間にある文字列、つまりファイル名を抽出します。そのために、[の位置に1を加えた位置から開始し(FIND("[",CELL("filename",A1))+1)、]の位置から[の位置を引いた長さ(FIND("]",CELL("filename",A1))-FIND("[",CELL("filename",A1))-1)の文字列を取り出します。

この計算式を使うことで、例えば「報告書2023.xlsx」のようなファイル名を、他の不要な情報(ファイルの保存場所やシート名など)を除いて取得することができます。

コメント