エクセル関数でシート名を取得する方法
例えば月報のように月ごとにシートが増えていく場合、
シート名をセルに表示したいケースが出てくるのではないでしょうか

今回は、シート名をセルに表示するための関数をご紹介いたします
この方法を使えばマクロなど難しい技術は不要です
( できればコピペで完結したい…… )
そんな結果だけを求める方は必見です
まず結論、シート名を取得する関数とは
関数の意味は、さて置き…
結果だけ今すぐ教えて! って方は次の2ステップで完結です
- エクセルブックを保存する
- 下記の関数を任意のセルにコピペする=RIGHT(CELL(“filename”,A1),LEN(CELL(“filename”,A1))-FIND(“]”,CELL(“filename”,A1)))
以上
解説、画像で伝える関数でシート名を取得する手順
まずは今回作業したいエクセルブックを保存してください
保存先、ブック名は何でも構いません。
※バージョンによって画面は異なりますが、
普段の手順で保存してください
次にシート名を取得する関数をセットします
コピペする関数は下記です
=RIGHT(CELL(“filename”,A1),LEN(CELL(“filename”,A1))-FIND(“]”,CELL(“filename”,A1)))


以上の手順でシート名を取得できます。
今回使用したエクセル関数について(おまけ)
今回の目的であるエクセル関数でシート名を取得する方法は
すでにお伝えしたとおりです
ここからは、シート名を取得するエクセル関数の
意味についての紹介を載せておきます
今回の関数は下記です。
=RIGHT(CELL(“filename”,A1),LEN(CELL(“filename”,A1))-FIND(“]”,CELL(“filename”,A1)))
使われている関数は、
- CELL
- LEN
- FIND
- RIGHT
の4つですね
CELL関数について
CELL(“filename”,A1) という関数ですが、
ファイルのパス名とシート名の取得に使われます。
A1の部分は、好きなセルで構いません
CELL 関数は、セルの書式、位置、または内容に関する情報を返します。 たとえば、セルに対して計算を実行する前に、そのセルに文字列ではなく数値が含まれていることを確認する場合は、次の数式を使用します。
LEN関数について
これは文字数をカウントする関数です
LEN(CELL(“filename”,A1)) という関数ですが、
ファイルのパス名とシート名が何文字かと返してくれます
これは後に使うRIGHT関数で何文字目にある文字を
指定するか判断するためのものになります
すなわち『何文字目』 の所にシート名があるワケなんですね
構文
LEN(文字列)
LEN 関数の書式には、次の引数があります。
- 文字列 必ず指定します。 文字数またはバイト数を調べる文字列を指定します。 スペースは文字として数えられます。
FIND関数について
こちらは指定した文字列が何文字目にあるかを
返す関数となります
FIND(“]”,CELL(“filename”,A1)) という関数を使用してますが、
]が何文字目かを調べているワケですね
先のLENで全文字数を調べました →①
FIND関数では、シート名の直前までの文字数が判明します →②
① – ② = シート名の文字数となります
FIND 関数および FINDB 関数は、指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数え、その番号を返します
RIGHT関数について
この関数は、右から指定した文字数分を返します
先のLENとFIND関数を使用してシート名の文字数は把握しました
よって、右からシート名の文字数=求めている答えとなります
RIGHT 関数は、文字列の末尾 (右端) から指定された文字数の文字を返します。
以上の関数を組み合わせるとシート名だけを抽出することができます
=RIGHT(CELL(“filename”,A1),LEN(CELL(“filename”,A1))-FIND(“]”,CELL(“filename”,A1)))
式を無理やり日本語にすると、
右からシート名の文字数分を表示せよ
※ シート名分の文字数=ファイルパスの文字数 – シートの頭文字の直前までの文字数
みたいな感じです
以上、最後まで読んでいただき
ありがとうございました!
コメント