Excelでシート名を取得する数式は?

みなさん、こんにちは、
みむすたーです。

本日は、Excelでシート名を取得する場合の数式について解説いたします。
それではいきましょう。

シート名を取得するための数式

単刀直入に言えば、以下の数式を適用すれば、シート名を取得できます。

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

数式それぞれの解説

上の解説だけだと、なんのこっちゃという方も多いと思うので、
ここで少しそれぞれの関数ごとに分解して解説していきます。

CELL("filename",A1)

の部分ですが、第一引数に”filename”を指定することで、
第二引数のセルが存在する位置情報を取得しています。
私が編集していたtest.xlsxファイルのsheet1シートでの位置情報は以下のようになりました。

/mimustar/document/[test.xlsx]Sheet1

——————————————————————————————————————-

そして、

FIND("]",CELL("filename",A1))

のFIND関数の部分ですが、第一引数に指定した値を第二引数の文字列の中から探し、
先頭から数えて何番目にあるか数えています。
今回の場合は、”]”の位置がどこにあるのかを探しています。

LEN関数はもちろん、文字数を取得する関数ですね。

そして、以下のようにLENとFINDの結果を引き算することで、
シート名の文字数分を取得しています。

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

私のテストした環境では、Sheet1にて数式を適用しましたので、
“Sheet1″なので、6になりました。

最後にRIGHT関数で、第一引数に指定されたシートまでの以下の位置情報から

CELL("filename",A1) → /mimustar/document/[test.xlsx]Sheet1

一番右端の文字数から見てシート名の数を以下の数式で取得することで、
シート名が得られるというわけです。

LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)) → 6

それでは、今日はこの辺りで。

コメント