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関数:文字列の中から特定の位置から特定の数の文字を抽出します。ここでは、角括弧「[」の次の文字から、角括弧「]」の直前までの文字、つまりファイル名を抽出します。
具体的な処理
CELL("filename", A1)
で現在のブックの完全なパスとファイル名、そしてシート名を含む文字列を取得します。FIND("[", CELL("filename", A1))
で、この文字列の中の[
の位置(ファイル名の開始部分)を見つけます。FIND("]", CELL("filename", A1))
で、この文字列の中の]
の位置(ファイル名の終了部分)を見つけます。MID
関数を使用して、[
と]
の間にある文字列、つまりファイル名を抽出します。そのために、[
の位置に1
を加えた位置から開始し(FIND("[",CELL("filename",A1))+1
)、]
の位置から[
の位置を引いた長さ(FIND("]",CELL("filename",A1))-FIND("[",CELL("filename",A1))-1
)の文字列を取り出します。
この計算式を使うことで、例えば「報告書2023.xlsx」のようなファイル名を、他の不要な情報(ファイルの保存場所やシート名など)を除いて取得することができます。
コメント