Excel セルにシート名を表示する方法
Excelでセルにシート名を表示する方法です。
勤務表や交通費精算書など、実務では Excel で管理されている帳票類がたくさんありますが、一般的には上手のような表を作成しているのではないでしょうか?
そんな私も Excel で管理しています^^
月ごとにシートを増やしていくと、シート名をセルに表示したくなる場面がありました。
ここでは Excelでシート名をセルに表示する方法 を紹介します。
シート名をセルに表示する方法
まず覚えておかなければいけないのは、シート名だけを取得する Excel 関数というのは存在していないということです。シート名を取得したいという需要はあるとは思うのですが、実際にそういった便利な関数は用意されていないんですね。なので CELL関数 を使ってシート名を取得します。
関数名 | 概要 |
---|---|
CELL | 書式、位置などセルの情報を求める関数 |
CELL 関数の詳しい使い方については割愛します。詳しくは Microsoft のサイトで確認ください。
CELL 関数の第1引数に "filename" と指定し、第2引数に A1 と指定します。
=CELL("filename",A1)
A1 はシート内のセルであれば A2 でも B2 でも、どのセルを指定しても構いません。
すると、以下のような情報が得られます。
C:/Users/{Account}/Desktop/[ファイル名]シート名
Account には PCのログインID が入ります。
ここからシート名の部分だけを取り出します。
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
すると、以下のようにシート名だけが表示されます。
はい、これでおしまいです。
ちなみにファイル名だけを表示する場合は、
=MID(CELL("filename",A2),FIND("[",CELL("filename",A2))+1,FIND("]",CELL("filename",A2))-(FIND("[",CELL("filename",A2))+1))
で対応できます。
シート名をセルに表示する際の注意点
この方法は CELL 関数を利用して フルパス からシート名だけを取得する方法です。そのため、以下の条件では正しく動作しません。
- 未保存のブック(新規作成の空白のブックなど)
- ファイル名に "[" や "]" が含まれるブック
うまく表示されない場合は、一度ブックを保存するか、ファイル名を見直すなどして対応しましょう。
まとめ
Excelでセルにシート名を表示する方法を紹介しました。
正直シート名だけ取得する関数が用意されていないことには驚きでした。関数が用意されていればそんなに Excel に詳しくない方でも、もう少し簡単に実現できるんじゃないかと思いましたね。
LEFT、MID、RIGHT、LEN などの関数を使った文字列の切り出しは、プログラミングの基礎があれば思いつきますが、そうじゃないとなかなか難しいのではないかと思います。需要はあると思うので MS さんが気がついて今後のバージョンで用意されることを期待したいですね。
今回の方法で少しでも皆さんの作業が軽減されればうれしいです。