【Excel】シート名を取得してセルに表示させる方法

Excelのシート名を取得してセルに表示できたら、
シート名を変更しても更新されるはずだし便利そうだと思ったので調べました。
結構長い数式だったので忘れないためにメモ。

てっとり早く使いたいならこの式をコピればOK。

=RIGHT(CELL(“filename”,A1),LEN(CELL(“filename”,A1))-FIND(“]”,CELL(“filename”,A1)))

でもせっかくなので何がどうなっているのか理解したい。
ざっくりですが以下説明。

<使用した関数>

  • CELL セルの書式、位置、内容などの情報を返す
  • LEN 文字列の文字数を返す
  • FIND 文字列を検索する
  • RIGHT 指定した文字数分の文字列を右から取り出す

 

CELL関数に引数”filename”を指定すると「ファイルのパス+[ファイル名]+シート名」が取得できます。
=CELL(“filename”,A1)

シート名だけ欲しいので、まずシート名が何文字あるのか調べます。
全体の文字数(LEN関数)から「ファイルのパス+[ファイル名]+シート名」の”]”までの文字数(FIND関数)を引く。
=LEN(CELL(“filename”,A1))-FIND(“]”,CELL(“filename”,A1))

上の引き算でシート名の文字数がわかったので、RIGHT関数で右端から抽出します。
=RIGHT(CELL(“filename”,A1),LEN(CELL(“filename”,A1))-FIND(“]”,CELL(“filename”,A1)))

これでシート名を取り出す数式にたどり着きました。

 

参考にさせてもらったのはこちらのサイトです。
シート名をセルに表示したい~CELL関数とRIGHT関数の合わせ技
解説が丁寧で分かりやすいです。ありがとうございました。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中