Excel:シート名の出力(マクロなし)
はじめに
このページではExcelでVBAを使用せずにシート名を出力する方法について記述します。
Excelでシート名を出力する方法(VBA不使用)
ExcelでVBAを使用せずにシート名を出力するにはセル関数を使用する方法があります。ここでは、CELL
関数に加えて、MID
とFIND
関数を使った具体的な手順を解説します。
CELL
を使用する方法
1. セル関数CELL
関数は、指定したセルに関する情報を返す関数です。シート名を含むフルパスを取得するには以下の式をセルに入力します。
=CELL("filename", A1)
この関数で得られるのは、ワークブックのフルパスとファイル名、そしてシート名です。シート名だけを抽出するためには、MID
関数とFIND
関数を使います。
MID
関数とFIND
関数の基本
MID
関数
MID
関数は、文字列の中から特定の位置から始まる指定した数の文字を抽出します。基本的な構文は以下の通りです。
=MID(文字列, 開始位置, 抽出する文字数)
FIND
関数
FIND
関数は、文字列の中で特定の文字列が最初に出現する位置を見つけます。この関数の基本構文はこうです。
=FIND("検索する文字列", "検索される文字列", [開始位置])
開始位置はオプションで、指定しない場合は文字列の先頭から検索が始まります。
シート名のみを抽出する式
CELL
関数で取得したフルパスからシート名を切り出すには、FIND
関数で]
の位置を見つけ、その次の文字から開始するようにMID
関数を設定します。
=MID(CELL("filename", A1), FIND("]", CELL("filename", A1)) + 1, 255)
この式では、FIND
関数で]
の位置を特定し、その1文字後ろから文字列の終わりまで(最大255文字)をMID
関数で抽出しています。
2. CELL 関数と LEFT 関数を使用する方法
=LEFT(CELL("filename", A1), FIND("]", CELL("filename", A1)) - 1)
この方法では、LEFT 関数を用いて、CELL 関数で取得した文字列からシート名を含む部分を抽出します。ただし、この式では ] の位置を基にしてファイルパスとファイル名の部分を取り除くため、最終的に抽出されるのはファイル名のみです。
まとめ
Excelでシート名を出力する際、VBAを使用せずにCELL
, MID
, FIND
の組み合わせは非常に有効です。CELL
関数で得られる情報からMID
とFIND
を使用してシート名のみを抽出する方法は、シンプルで直接的です。この手法をマスターすることで、Excelのさまざまな作業で応用が可能になります。
Discussion