Excelの関数でシート名を取得する

Excelの関数でシート名を取得したい場合、1つの関数で簡単に取得することはできません。複数の関数を組み合わせる必要がありますので方法を解説します。

方法

Excelファイルは任意の場所に保存して下さい。管理人は「C:¥temp¥Book1.xlsx」に保存しています。

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

解説

上記の関数は大きく4つの処理があります。

  1. 対象範囲を含むファイルのフルパスを取得する
  2. フルパスの文字数を数える
  3. シート名の区切り文字の位置を調べる
  4. シート名を取得する
1の処理

CELL("filename",B1)でフルパスを取得する。
結果は、C:¥temp[Book1.xlsx]Sheet1 となる。

2の処理

LEN(CELL("filename",A1))でフルパスの文字数を数える。
結果は26となる。

3の処理

FIND("]",CELL("filename",A1))でシート名の区切り文字の位置を調べる。
Sheet1の前にある記号のことです。→ ]
結果は20となる。

4の処理

RIGHT関数をわかりやすく書き換えます。
RIGHT("C:¥temp[Book1.xlsx]Sheet1",26-20)
右から6文字を取得する。
結果はSheet1となる。

勉強熱心な方へ

Excelの関数をもっと使えるようになりたい方は以下の書籍がお勧めです。

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