【Excel】シート名を取得!CELL関数のfilenameを使う!

エクセルで「シート名をセルに表示させたい」「シート名を変えたら自動でシート名も更新したい」といった場合に便利な、CELL関数を組み合わせたテクニックです。

スポンサーリンク

シート名を取得する方法

【Excel】シート名を取得!CELL関数のfilenameを使う!

シート名を表示したいセルに、以下の数式を入力します。

例:=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))

⚠️ 注意点:ファイルを保存していないとエラーになるため、一度保存してから数式を入力します。

CELL関数の引数:(検査の種類, [対象範囲])


【数式の解説】

  1. CELL関数:指定した「検査の種類」に応じた情報を返します。"filename" を指定すると、ファイルの保存場所(フルパス)を返します。
    • 例:C:\Users\user\Desktop[Book1.xlsx]Sheet1
  2. FIND関数:フルパスの左から数えた、](閉じカッコ)の位置(例:34)を返します。
  3. LEN関数:フルパス全体の文字数(例:40)を数えます。
  4. RIGHT関数:全体の文字数(40)からカッコの位置(34)を引いた残り「6文字」を、右側から抜き出します。これにより「Sheet1」だけが表示されます。

※ 補足CELL関数の「対象範囲」になぜ「A1」を入れるのか

CELL関数の第2引数「対象範囲」には、情報を取得したいセルを指定します。

  • 省略した場合:
    • 最後に編集したシートの名前を表示します。別シートを編集すると、シートの表示名が別のシートに変わってしまいます。
  • 「A1」などのセルを指定した場合:
    • 特定のセルを指定することで、常にそのシートの名前を取得してくれます。
スポンサーリンク

別シートの名前を取得する方法

【Excel】シート名を取得!CELL関数のfilenameを使う!

シート名を取得する数式のA1の部分を、すべて別シート名!A1に書き換えます。

例:=RIGHT(CELL("filename",Sheet2!A1),
LEN(CELL("filename",Sheet2!A1))-FIND("]",CELL("filename",Sheet2!A1)))

※ 補足:

  • ファイルパスは同じなので、1つ目のA1を変えるだけでもシート名を取得できます。しかし、当解説ではミス防止や安定性の面から、3箇所すべて書き換える方法を推奨しています。
タイトルとURLをコピーしました