みなさん、こんにちは、
みむすたーです。
本日は、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
それでは、今日はこの辺りで。
コメント