<   2013年 07月 ( 1 )   > この月の画像一覧

エクセルでは複数のシートを使えますが、シート名にはそれなりに意味のある名前をつけると思います。そのシート名をセルに表示させたいという要望です。

シート名を引っぱってくる関数は、CELL関数です。
=CELL("filename",A1)
としてやると、そのファイルをフルパスを含むシート名まで表示してくれます。つまり、
(ドライブ名):¥(フォルダ名)¥[(ファイル名).xlsx](シート名)、と表示されます。

具体的にはたとえばこのようになります。
C:¥私のフォルダ¥私のサブフォルダ¥[myfile.xlsx]newsheet

あとは上記の場合右から8文字とってくればいいので、
=RIGHT(CELL("filename",A1),8)
とすればいいことになりますが、最後の「8」はシート名の長さによって変わります。

仕方がないので、文字列全体の長さから、] までの長さを引くことにします。
=LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))

この「RIGHT関数」と「LEN関数-FIND関数」を組み合わせればめでたくシート名を表示できます。全部を一つの式としてしまうと、
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))

ちょっと長すぎますね。きちんと理解したい方は一つの関数を一つのセルに書き込んで、セルを参照させることで仕上げてみてください。
[PR]