【エクセル】シート名を関数で表示する方法。表の題名をシート名から自動で取得!

エクセルのシート名をセルに表示

Excel(エクセル)のシート名を表のタイトルにすることは少なくないはず。

例えば、下の図のように、シート名と表の題名(タイトル)に日付を入力するようなExcelファイルを作成していませんか?

シート名と表のタイトルを同じにする
シート名と表のタイトルを同じにする

このようなExcelファイルを作成すると、新しいシートを作成したりする度に表のタイトルも手入力で修正する必要があり、意外と面倒な上、名前の更新忘れなども発生しやすくなります。

この記事では、『シート名を表のタイトルとして表示する関数』を紹介します。

関数は長くなりやや複雑ですが、一度作ってしまえばどんなExcelファイルにでも使い回せるので便利です。

また、シート名をセルに表示し、任意の文字をシート名の前後に追加して表示する方法も合わせて紹介します。

関数を使ってシート名をセルに表示(取得)する
関数を使ってシート名をセルに表示(取得)する

利用する3つの関数の使い方を紹介

シート名をセルに表示させるには、『CELL関数』『MID関数』『FIND関数』の3つの関数を利用する必要があります。

シート名を取得する仕組みを理解するために、関数の使い方を簡単に紹介します。

利用したい関数だけを知りたい!という方は、下の『シート名をセルに表示する方法』の見出しから読み進めて下さい。

CELL関数:シート名のパスを取得

CELL関数(セル)は、Excelファイル名を含むワークシート名の取得や、セルの書式、セルの位置などを取得するのに利用出来る関数です。

構文は以下の通りで2つの引数を設定します。

=CELL(検索の種類,検索の範囲)

1つ目の引数「検索の種類」は、ワークシート名を表示する場合は「filename」(ファイルネーム)を利用します。

2つ目の引数「検索の範囲」は、ワークシート内の任意のセル番号を指定します。(例:「A1」)

実際にCELL関数を使ってみましょう。

Excelファイル名「売上管理表」の「2023年6月」シートのセルに以下のCELL関数を入力します。指定するセルは、「A1」でも「C3」でもどのセルでもOKです。

=CELL("filename",A1)

図解.ワークシート名を取得するCELL関数の使い方
図解.ワークシート名を取得するCELL関数の使い方

そうすると、ディスク上のファイルの場所を示す「パス名」と「ファイル名」と「ワークシート名」が表示されます。

C:Users\〇〇〇\Desktop[売上管理表.xlsx]2023年6月 

図解.CELL関数で「パス名」「ファイル名」「ワークシート名」を表示
図解.CELL関数で「パス名」「ファイル名」「ワークシート名」を表示

ただし、ファイルは一度任意のフォルダに保存しておかないといけません。新規作成のブックを未保存のままCELL関数を使うと、結果は空白で表示されます。

MID関数:文字数を取り出す

MID関数(ミッド)は、『指定した文字列の指定した位置から特定の文字数を抽出して表示』する関数です。

MID関数の構文は以下のとおりで、引数は3つを設定する必要があります。

=MID(文字列,開始位置,文字数)

1つ目の引数「文字列」:対象の文字列のセルを指定する、もしくは直接文字を入力します。

2つ目の引数「開始位置」:取り出しを開始する位置を指定します。先頭を1として数えます。

3つ目の引数「文字数」:取り出す文字数を指定します。省略した場合は、開始位置以降のすべての文字が抽出されます。

下の図のように、C3セルに『=MID(B3,2,3)』を挿入すると、『エクセルの森』の2文字目の”ク”から、3文字目の”ル”までの文字を抽出することが出来ます。

図解.MID関数の使い方
図解.MID関数の使い方

FIND関数:指定した文字の位置を調べる

FIND関数(ファインド)を紹介します。

FIND関数は、『指定した文字が何文字目にあるのか』を調べて数値で返す関数です。

=FIND(検索文字列, 対象, 開始位置)

下の図のように、「=FIND(“-",B3,1)」と入力すると、B3セルに”-”が1文字目から探して何文字目にあるかを調べることができます。

FIND関数により「4」文字目にあることが分かります。

図解.FIND関数の使い方
図解.FIND関数の使い方

3つ目の引数「開始位置」を1文字目とする場合は省略することも可能で、「=FIND(“-",B3)」と入力することも出来ます。

FIND関数の引数「開始位置」は省略可能
FIND関数の引数「開始位置」は省略可能

シート名の文字数制限

シート名の文字数の制限について確認しておきましょう。

シート名の文字数は31文字までしか入力出来ません。

シート名の文字数制限は31文字
シート名の文字数制限は31文字

次の見出しでワークシート名を取得する際の関数の作成の際に意識しておく必要があるので、頭の片隅に置いておきましょう。

シート名をセルに表示する方法

それでは、実際にシート名をセルに表示させる方法を紹介します。

貼り付ける関数を紹介

シート名をセルに表示させるには、『CELL関数』『MID関数』『FIND関数』の3つの関数を利用する必要があります。

関数を貼り付けてすぐに利用したい方は、以下の関数をコピーしてセルに貼り付けするとワークシート名を取得することが出来ます。

貼り付け用

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)

関数の内容や仕組みを理解したい方のために、それぞれの関数の役割を紹介します。

ワークシート名を取得する関数の構図
ワークシート名を取得する関数の構図

MID関数

パス名とファイル名を含んだシート名の文字列の中から、ファイル名の最後の文字「]」の次の文字から31文字取り出ます。

31文字取り出す目的は、シート名が31文字の文字数制限があるため、それ以上の文字数のシート名が存在しないためです。

CELL関数

ディスク上のファイルの場所を示す以下の「パス名」と「ファイル名」と「ワークシート名」が表示されます。(関数の結果として、以下のような文字列が抽出されます)

C:Users\〇〇〇\Desktop[売上管理表.xlsx]2023年6月 

FIND関数&CELL関数

以下のシート名の中から、ファイル名の最後の文字「]」が何文字目にあるかを返します。

C:Users\〇〇〇\Desktop[売上管理表.xlsx]2023年6月 


使い方は簡単です。

シート名を表示したいセルに、以下の関数を貼り付けることで、下の図のようにシート名「2023年6月」をセルに表示することが出来ます。

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)

ワークシート名を3つの関数で取得する
ワークシート名を3つの関数で取得する

続いて、別のシート名を表示する方法と、表示したシート名に別の文字を結合する方法を以降の見出しで紹介します。

別のシート名を表示する方法

セルに別のシート名を表示することも可能です。

上の見出しで紹介した例では、CELL関数の2つ目の引数「検索の範囲」に「A1」の任意のセルを指定しました。

この「A1」を「'2023年6月'!A1」というように、シート名を先頭に追加することで別シート名を表示することが出来ます。

A1⇒'2023年6月'!A1

貼り付ける関数は以下のとおりです。

=MID(CELL("filename",'2023年6月'!A1),FIND("]",CELL("filename",'2023年6月'!A1))+1,31)

別のシート名をセルに表示
別のシート名をセルに表示

シート名に別の文字を追加(結合)する方法

セルに表示したシート名の前後に文字を追加することも可能です。

例えば、「2023年6月」というシート名を使って、セルに「2023年6月売上管理表」と表示したり、「売上管理表2023年6月」と表示することが出来ます。

方法は簡単です。

上で紹介した以下の関数の前後に「&」演算子を用いて文字を結合するだけで自由に文字列を追加することが出来ます。(緑下線部分)

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)&”売上管理表”

シート名の末尾に文字を結合
シート名の末尾に文字を結合

シート名の前に文字を追加することも出来ます。

=”売上管理表”&MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)

シート名の先頭に文字を結合
シート名の先頭に文字を結合

以下の記事で「&」演算子の使い方を詳しく紹介していますので、合わせて参考にしてみてください。