業務日報を作成するときなど、データ内にシート名を表示させたいことはありませんか?実は関数やVBAを使うことで、簡単にシート名を取得することが可能です。また、シート名の取得ができればセルに表示できるほか、他のシートやファイルに参照したり、日付や条件に応じて自動更新したりと、便利な使い方が多くあります。
この記事では、Excelでシート名を取得する方法と、その活用テクニックを紹介します。
Excelのシート名をSUBSTITUTE関数で取得する方法
まずは、SUBSTITUTE関数を使って、Excelのシート名を取得する方法を紹介します。比較的簡単な手順なので、コピペをするなどして活用してください。
【コピペ用】シート名を自動取得する関数
シート名を自動取得するための関数は以下の通りです。
=SUBSTITUTE(INDEX(book,1),”[“&doc&”]”,””)
Excelのシート名を関数を使用して自動取得する方法
上記の関数は便利ですが、一つ問題があります。それは、シート名がうまく反映されない際に、手動で更新する必要があるケースが存在すること。少々、面倒だと感じる方もいるのでは。
そこで、別の関数を使ってシート名を自動取得する方法もセットで紹介します。後半の数式については少し長めなため、少し混乱することもあるでしょう。コピペをするなどして活用してください。
【3】のようにシート名のみを表示させるようにするには、以下のような数式に変更する必要があります。
=RIGHT(CELL(“filename”,B2),LEN(CELL(“filename”,B2))-FIND(“]”,CELL(“filename”,B2)))
カッコの位置に注意して入力しましょう。場所を間違った場合エラーになります。なお、数式の構成としては、以下のようになっています。関数に興味がある場合は参考までに。
- シート名とファイルパスをすべて取得(CELL関数)
- シート名とファイルパスの文字数を取得(LEN関数)
- ]の記号が何文字目にあるかを確認する(FIND関数)
- 2.と3.の差を計算する(今回は112-110=2という結果に)
- シート名とファイルパスの文字列の右から2文字だけ表示させる(RIGHT関数)
【コピペ用】シート名取得の関数
シート名取得のための関数は以下の通りです。
=RIGHT(CELL(“filename”,B2),LEN(CELL(“filename”,B2))-FIND(“]”,CELL(“filename”,B2)))