Microsoft Excel(エクセル)で、ワークシート名を表のタイトルにする人は多いかと思います。
例えば、下の図のように、シート名「2024年8月」といった年月を表の題名(タイトル)にする場合です。
仮に「2024年9月」「2024年10月」という新しいシートをコピーで挿入する場合、表のタイトルを手入力で修正する必要があるので、意外と面倒な上、名前の更新忘れなども発生しやすくなります。
こんな時、ワークシート名をセルに自動で入力させて連動させる関数・数式が存在します。
数式は長くなりやや複雑ですが、一度関数を作成してしまえば、どんなExcelファイルにでも再利用して使い回すことができます。
この記事では、『セルにシート名を自動で表示させる方法』など以下の内容を解説します。
この記事で紹介すること
・シート名をセルに表示させるために利用する3つ関数
・シート名をセルに自動で表示させる方法
・別シートのシート名をセルに自動で表示させる方法
・シート名をセルに表示させて、前後に別の文字を付け加える方法
ワークシート名の文字数には制限がある
Excelのワークシート名は、何文字でも入力できるわけではありません。
文字数の制限があり、シート名の文字数は31文字までしか入力出来ません。
ワークシート名をセルに表示させるための関数を作成の際に、この「31」という数字を利用するので、頭の片隅に置いておきましょう。
セルにシート名を表示する3つの関数の使い方を紹介
シート名をセルに表示させるには、『CELL関数』『MID関数』『FIND関数』の3つの関数を組み合わせて利用する必要があります。
シート名を表示させる仕組みを理解するために、関数の使い方を簡単に紹介します。
利用する関数だけを知りたいという方は、下の見出しから読み進めて下さい。
CELL関数:シート名などのセルの情報を表示
CELL関数(セル)は、ファイルの保存先やファイル名などのセルの情報を表示させる関数です。
構文は以下の通りで2つの引数を設定します。
=CELL(検索の種類,検索の範囲)
1つ目の引数「検索の種類」:ワークシート名を表示する場合は「filename」(ファイルネーム)と入力します。
2つ目の引数「検索の範囲」:ワークシート内の任意のセル番号を指定します。第1引数を「filename」を使う場合は、指定するセルは、「A1」でも「C3」でもどのセルでもOKです。(例:「A1」)
CELL関数を使った事例を紹介します。
Excelファイル名「売上管理表」の「2024年8月」シートのB2セルに、以下のCELL関数を入力します。第2引数に「A1」と入力しますが、「C3」でも「D5」でもどのセル番号でも問題ありません。
=CELL("filename",A1)
そうすると、ファイルの場所を示す「パス名」と「ファイル名」と「ワークシート名」がセルに表示されます。
https://〇〇〇/デスクトップ/[売上管理表.xlsx]2024年8月
CELL関数はファイルの保存場所やファイル名を表示させる関数です。そのため、CELL関数を挿入する前に、必ずExcelファイルを任意のフォルダに保存してから使用してください。
仮に、新規にExcelブックを立ち上げて、ファイルが一度も保存されていないままCELL関数を使うと、結果は空白で表示されます。
MID関数:指定した位置の文字を取り出す
MID関数(ミッド)は、『指定した文字列の指定した位置から特定の文字数を抽出して表示』する関数です。
MID関数の構文は以下のとおりで、3つの引数を設定する必要があります。
=MID(文字列,開始位置,文字数)
1つ目の引数「文字列」:文字を抽出したい対象のセルを指定します。(例:B3)
2つ目の引数「開始位置」:文字の取り出しを開始する文字位置を指定します。先頭を1として数えます。(例:2)
3つ目の引数「文字数」:取り出す文字数を指定します。(例:3)
下の図のように、C3セルに『=MID(B3,5,3)』を挿入すると、『[売上]24年8月』という文字の5文字目から3文字が抽出されて、「24年」と表示されます。
MID関数の詳しい使い方は、以下の記事でも紹介していますので、合わせて参考にしてください。
FIND関数:指定した文字の位置を調べる
最後に、FIND関数(ファインド)を紹介します。
FIND関数は、『指定した文字が開始位置から何文字目にあるのか』を調べて数値で返す関数です。
=FIND(検索文字列, 対象, 開始位置)
下の図のように、「=FIND(“-",B3,1)」と入力すると、B3セルに”-”が1文字目から探して4文字目にあることが分かります。
3つ目の引数「開始位置」を1文字目とする場合は「=FIND(“-",B3)」といったように、省略することも可能です。
シート名をセルに自動で表示させる方法を紹介
それでは、実際にシート名をセルに連携させて、自動で表示させる方法を紹介します。
シート名をセルに表示させるには、『MID関数』の中に、『CELL関数』と『FIND関数』を挿入した、以下の関数をコピーしてセルに貼り付けするとワークシート名を取得することが出来ます。
⇩貼り付け用
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)
関数の内容や仕組みを理解したい方のために、それぞれの関数の役割を紹介します。
CELL関数の役割
パソコン上のファイルの保管場所を示す以下の「パス名」と「ファイル名」と「ワークシート名」が表示されます。関数の結果として、以下のような文字列が抽出されます。
https://〇〇〇/デスクトップ/[売上管理表.xlsx]2024年8月
FIND関数&CELL関数の役割
以下のシート名の中から、ファイル名の最後の文字「]」が何文字目にあるかを返します。数式に「+1」を付け加えているのは、「]」の次の文字をMID関数で取り出すためです。
https://〇〇〇/デスクトップ/[売上管理表.xlsx]2024年8月
MID関数の役割
パス名とファイル名を含んだシート名の文字列の中から、ファイル名の最後の文字「]」の次の文字から31文字取り出します。
31文字取り出す目的は、シート名が31文字の文字数制限があるため、それ以上の文字数のシート名が存在しないためです。
使い方は簡単です。
シート名を表示したいセルに、以下の関数を貼り付けることで、下の図のようにシート名「2024年8月」をセルに表示することが出来ます。
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)
別のシート名をセルに自動で表示する方法
続いて、別のシート名を自動で表示する方法を紹介します。
上の見出しで紹介した例では、CELL関数の2つ目の引数「検索の範囲」に「A1」の任意のセルを指定しました。
この「A1」を「'2024年9月'!A1」というように変更します。セル番号の手前に、シート名の前後にシングルクォーテーション(’)と「!」をつけた文字を追加することで別シートのシート名を連動することが出来ます。
A1⇒'2024年9月'!A1
貼り付ける関数は以下のとおりです。
=MID(CELL("filename",'2024年9月'!A1),FIND("]",CELL("filename",'2024年9月'!A1))+1,31)
シート名に別の文字を追加(結合)してセルに表示する方法
数式を使ってセルに自動表示させたシート名に、別の文字を前後に結合する方法を解説します。
例えば、「2024年8月」というワークシート名を使って、セルに「2024年8月売上管理表」や「売上管理表2024年8月」や「表題:2024年8月売上管理表」などと表示することが出来ます。
方法は簡単です。
上で紹介した以下の関数の前後にアンパサンド記号の「&」演算子を追加して文字を結合するだけで自由に文字列を追加することが出来ます。
シート名の手前に「売上管理表」という文字を追加する場合は、以下の数式を挿入します。
="売上管理表"&MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)
シート名の後ろに文字を追加することも出来ます。追加する文字はダブルクォーテーション(”)で囲うことを忘れないようにしてください。
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)&"売上管理表"
もちろん、MID関数の前後に「&」演算子を2つ使うことで、任意の文字を前と後の両方に表示させることもできます。
以下の記事で「&」演算子の使い方を詳しく紹介していますので、合わせて参考にしてみてください。