Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the google-analytics-for-wordpress domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/xs182025/consulting-campus.site/public_html/wp-includes/functions.php on line 6114
【エクセル】ファイル名を自動で取得しセルに表示する【マクロ不要】 | CONSULTING CAMPUS

【エクセル】ファイル名を自動で取得しセルに表示する【マクロ不要】

get-file-name-on-cell エクセル
この記事は約4分で読めます。
スポンサーリンク

本記事では、エクセル(Excel)でマクロを使用せず、ファイル名を自動で取得し特定のセルに表示する方法をご紹介します。似た形式のファイルを複数作成する場合などに、ファイル名を参照して結果を管理できるようになるため、作業効率化のテクニックとして使用できます。

本記事で実装する処理
スポンサーリンク

結論

エクセルでファイル名を自動で取得し、セルに表示するための関数は以下のとおりです。こちらの数式をファイル名を出力したい任意のセルに入力してください。

=TEXTBEFORE(TEXTAFTER(CELL("filename", A1), "["), "]")

CELL関数によるファイル名の取得は、ファイルが一度保存されている場合にのみ機能します。未保存のファイルではエラーが表示される可能性があります。

関数を実行する方法の詳細な解説

エクセルでファイル名を自動出力する下記の数式では、CELL, TEXTAFTER, および TEXTBEFORE という3つの関数を組み合わせて使用します。こちらのセクションではステップごとに各関数を解説しています。

CELL関数でファイル情報を取得

まず、CELL関数を使用して現在のファイル情報を取得します。ここでは今回は情報タイプとして “filename” 、参照として A1 を指定しています。これにより、現在シート名を含むファイル情報が出力されます。

  • 構文
    CELL(情報タイプ, 参照)
  • 出力結果のステップ
    =CELL("filename", A1)
    ="C:\Users\UserName\Documents\[テストファイル_v1.0.xlsx]Sheet1"
  • 参考
    CELL 関数 – Microsoft サポート

TEXTAFTER関数でファイルのパス以降の情報を取得

次に、CELL関数で取得したファイル情報から、ファイルパス以降(ファイル名とシート情報)を取得します。TEXTAFTER関数は、指定された区切り文字の後のテキストを取得する関数で、今回は区切り文字に “[” を指定しています。

  • 構文
    TEXTAFTER(テキスト, 区切り文字)
  • 出力結果のステップ
    =TEXTAFTER(CELL("filename", A1), "[")
    =TEXTAFTER("C:\Users\UserName\Documents\[テストファイル_v1.0.xlsx]Sheet1", "[")
    ="テストファイル_v1.0.xlsx]Sheet1"
  • 参考
    TEXTAFTER 関数 – Microsoft サポート

TEXTBEFORE関数でファイル名のみを取得

最後に、ファイル名の部分のみを抽出し取得します。TEXTBEFORE関数は、指定された区切り文字の前のテキストを取得するための関数です。今回は区切り文字として “]”を指定しています。これにより、TEXTAFTER関数の結果から、“]”の前のテキストとしてファイル名のみを取得します。

  • 構文
    TEXTBEFORE(テキスト, 区切り文字)
  • 出力結果のステップ
    =TEXTBEFORE(TEXTAFTER(CELL("filename", A1), "["), "]")
    =TEXTBEFORE("テストファイル_v1.0.xlsx]Sheet1", "]")
    ="テストファイル_v1.0.xlsx"
  • 参考
    TEXTBEFORE 関数 – Microsoft サポート

以上が、エクセル(Excel)でマクロを使用せずファイル名を自動で取得し特定のセルに表示する方法のご紹介となります。

おわりに

エクセル作業を効率化するための小技の一つとして、ファイル名を自動で取得する方法は非常に便利です。この記事で紹介した関数を活用して、ご自身のビジネス戦闘力を高めましょう。

ご質問やご不明点などがありましたらお気軽にコメントお待ちしております。

ご精読いただきありがとうございました。

コメント

タイトルとURLをコピーしました