Excelでシート名を取得する計算式の作成方法
Excelの多くの場面で、現在作業しているシートの名前を文書内で参照したいと思うことがあります。たとえば、特定のシートからのデータを基にした報告を作成する際に、そのシートの名前を自動で文書に挿入したい場合などです。この記事では、Excelでシート名のみを簡単に取得する方法をご紹介します。
シート名のみを取得する計算式
シート名のみを取得するための計算式は次のとおりです。ただし保存済みのファイルでのみ効果が発生します。
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)
この計算式を使うことで、現在アクティブなシートの名前をセルに表示させることができます。ただし、この方法はブックが保存されている場合にのみ機能します。未保存のブックでは、動作しないため注意が必要です。(最新の情報を取得する場合は{F9}キーを押す)
計算式の説明
それでは、この計算式の各部分がどのように機能するのかを詳しく見ていきましょう。
使用する関数
- CELL関数:この関数は、「filename」という引数を与えることで、現在開いているブックのフルパス、ファイル名、そしてアクティブなシート名を含む文字列を返します。
- FIND関数:この関数は、指定した文字列が最初に現れる位置を数値で返します。この計算式では、シート名の開始を示す角括弧「]」の位置を見つけるために使用します。
- MID関数:この関数は、文字列の中から特定の位置から始まる特定の数の文字を抽出します。この場合、角括弧「]」の直後から文字列の終わりまで(最大255文字)を取り出すことで、シート名を抽出します。
具体的な処理内容
CELL("filename", A1)
は現在のブックのフルパスとファイル名、そしてアクティブなシート名を含む文字列を返します。この文字列の形式は、C:\フォルダ\[ブック名.xlsx]シート名
のようになります。FIND("]", CELL("filename", A1)) + 1
は、CELL
関数が返す文字列の中で、]
の直後の位置を見つけます。これはシート名の開始位置です。MID
関数は指定された文字列から特定の位置から始まる特定の数の文字を抽出します。この式では、]
の直後から始まり、255文字を取り出すよう指定しています。255はここでは十分に大きい値で、ほとんどのシート名をカバーできます。
この計算式により、たとえば「売上報告」や「顧客リスト」などのシート名を自動で取得し、それを基にした作業を効率化することが可能です。
活用例
この計算式は、報告書やデータ集計シートで特に役立ちます。シート名を自動で参照することで、どのシートのデータを使用しているのかを明確に示すことができます。また、シート名が変更された場合でも、計算式が参照しているセルを更新することなく、最新のシート名を表示させることができるため、文書のメンテナンスが容易になります。
Excelでの文書作成やデータ管理作業をさらに効率化したい方は、ぜひこの計算式をご活用ください。
参考:N番目のシートの名前を表示させる関数を作る
別のシートの名前を表示させるにはユーザー定義関数を作る必要があります。コードは以下のページをご確認ください。
左からN番目のシート名を表示するユーザー定義関数
左からN番目のシート名を表示するExcel VBA関数の作成Excelの標準関数ではシートの位置(インデックス番号)を指定して、そのシート名を表示させることはできません。これを実現するにはユーザー定義関数を作成する必要があります。Excel...
コメント