🚀

Excel:シート名の出力(マクロなし)

2024/04/20に公開

はじめに

このページではExcelでVBAを使用せずにシート名を出力する方法について記述します。

Excelでシート名を出力する方法(VBA不使用)

ExcelでVBAを使用せずにシート名を出力するにはセル関数を使用する方法があります。ここでは、CELL関数に加えて、MIDFIND関数を使った具体的な手順を解説します。

1. セル関数CELLを使用する方法

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関数で得られる情報からMIDFINDを使用してシート名のみを抽出する方法は、シンプルで直接的です。この手法をマスターすることで、Excelのさまざまな作業で応用が可能になります。

Discussion