Excelのシート名を変更することで、Excel内のデータがより分かりやすく、整理しやすくなります。また、関数を使用することでシート名を自動で取得することもできます。
この記事では、シート名の変更方法や関数を使ったシート名の取得方法を分かりやすく解説しています。
Excelのシート名を変更する方法
Excelのシート名を変更する方法について説明します。Excelではシート名の指定がない場合、シートを追加するごとに「Sheet1」「Sheet2」「Sheet3」…といった名前が自動で振り分けられます。また、元々あるシート名を複製した場合には「シート名(1)」「シート名(2)」「シート名(3)」…といった名前が振り分けられます。複数のシートを作成した際は、シート名を変更することでどのシートに何のデータが格納されているかがわかりやすくなります。
シート名を変更する方法
シート名は3通りの方法で変更が可能です。
・【ダブルクリックで変更する方法】シートの見出しの上でダブルクリック。
・【右クリックで変更する方法】シートの見出しの上で右クリックをし、メニューから「名前の変更」を選択。
・【キーボードのショートカットキーで変更する方法】「Alt」キーを押したまま、「H」キー→「O」キー→「R」キーの順に入力。
シート名の変更ができない場合の対処法
シート名の変更ができない場合は、次の内容を確認してみてください。
1.使用不可の文字や記号を使用している場合
シート名には注意事項あります。以下があてはまらないか確認してみましょう。
・文字数が32文字以上になっていないか。(シート名は全角/半角ともに31文字以内。)
・シート名を空欄にしていないか。
・特殊文字を使用していないか。 / ¥ ? * : [ ]
・シート名の先頭と語尾で「‘」を使用していないか。
・シート名に「履歴」という名前を付けていないか。
2.ファイルが読み取り専用になっている場合
Excelのファイルが読み取り専用になっていると、データの編集をすることができません。編集するためには設定を解除する必要があります。
ファイルが保存されたフォルダ内でExcelファイルを右クリックしプロパティを選択後、「全般」タブの「読み取り専用」のチェックを外しOKをクリックすると読み取り専用が解除されます。
3.ブックが保護されている場合
Excelに「ブックの保護」が設定されていると、シートに関連する操作が制限されます。「ブックの保護」を解除する方法は、「校閲」タブから「ブックの保護」をクリックして設定を解除します。
※ 「ブックの保護」設定時に、パスワードが設定されている場合はパスワードの入力が必要になります。
関数を使ったシート名の取得方法
関数を使ってセルにシート名を取得する方法について説明します。シート名を取得するためには、CELL関数とMID関数、FIND関数の3つを組み合わせます。複数の関数を組み合わせるため少し複雑にみえますが、一度設定を行えばシート名を自動で取得でき、都度手動でセルにコピーする手間を省くことができます。手順は以下の通りです。
1.CELL関数でセルの情報を取得する
まずはセルの書式、位置、または内容に関する情報を返すCELL関数を使用し、シート名を取得します。CELL関数の書式は以下の通りです。
=CELL(検査の種類,[対象範囲])
検査の種類:返すセル情報の種類を指定します。入力必須です。
対象範囲:情報が必要なセルを指定します。省略可能です。
CELL関数には引数がありますが、シート名を取得する場合には「検査の種類」に「"filename" 」を入力します。[対象範囲]には、シート内のいずれかのセル番地を入力します。このセル番地の入力は、省略することも可能です。例では「A1」と入力しています。
「=CELL("filename",A1)」 と入力すると「ファイルパス¥[ファイル名]シート名」の順に以下のように表示されます。
C:\Users\mousecomputer\Desktop\[シート名を表示する.xlsx]シート名を関数で表示する
※ Excelファイルが保存されていない状態だと関数を入力しても空白となります。Excelファイルを保存してから行ってください。
これでシート名の取得の完了です。
2.MID関数とFIND関数でシート名だけを取り出す
次に、現在表示されているフルパスからシート名だけを取り出します。シート名を取り出す際にはMID関数とFIND関数を組み合わせて使用します。
MID関数は、文字列の指定された位置から、指定された文字数の文字を返す関数です。MID関数の書式は以下の通りです。
=MID(文字列, 開始位置,文字数)
文字列:取り出す文字を含む文字列の場所を指定します。
開始位置:文字列から取り出す先頭文字の位置を指定します。
文字数:取り出す文字数を指定します。最大99文字まで指定できます。
下の例では「=MID(A1,4,7)」と入力すると「コンピューター」と表示されます。
先程、CELL関数で取り出した「C:\Users\mousecomputer\Desktop\[シート名を表示する.xlsx]シート名を関数で表示する」から、MID関数で「]」の次の文字から語尾までを指定すると、シート名だけを取り出すことができます。
しかし、シート名の前にある、ファイルパスとファイル名の文字数は保存場所などによって変動してしまいます。そこで、FIND関数を使用します。
FIND関数は、指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左から数えてその番号を返す関数です。FIND関数の書式は以下の通りです。
=FIND(検索文字列,対象,[開始位置])
検索文字列:検索する文字を入力します。大文字と小文字が区別されます。必ず指定が必要です。
対象:検索する文字が含まれている検索場所を指定します。必ず指定が必要です。
開始位置:対象の中から検索を開始する位置を指定します。省略が可能です。省略した場合は1を指定したとみなされます。(=左から1番目から開始)
下の例で「=FIND("M",A1)」と入力すると、左から数えて1番目に「M」が現れるためセルには「1」と表示されます。「=FIND("m",A1)」と入力すると、「m」が最初に現れるのは9番目のため、セルには「9」と表示されます。スペースも1文字としてカウントされるため注意が必要です。
先述のCELL関数で取得したシート名は「]」以降から始まるため、FIND関数で検索する文字列を「"]"」と設定して番号を取得します。画像の例の場合は次のように記入します。
=FIND("]",A1)
関数が正しく設定されると、FIND関数の結果「47」が表示されます。
この結果から「]」は左から数えて47文字目にあるため、その次の文字列(+1)から語尾までの文字列を取得できるように先述のMID関数と組み合わせます。
=MID(A1,FIND("]",A1)+1,99)
上記の関数は、『A1セルから、FIND関数で取得した「]」までの番号に+1をした番号から、99個の文字数を取り出す』という意味になります。シート名は最大31文字までしか設定できないため、文字数は「31」でも問題ありません。
MID関数とFIND関数が正しく設定できると、シート名だけを取り出すことができます。
3.注意事項
・Excelファイルを保存していないと、CELL関数でシート名が取得できないため必ず保存してから設定してください。
・FIND関数では、「]」の文字を利用して左からの番号を取得しているため、Excelのファイル名や保存場所のフォルダ名に「]」使用しているとシート名の取り出しが上手くできません。
まとめ
シート名を変更すると、Excel内にあるデータがより分かりやすく、整理しやすくなります。関数でシート名を取得する方法は、複数の関数を組み合わせているため一見難しそうに思えますが、一度設定を行えばシート名の変更時にも都度手動でコピーをしなくて済むので大変便利です。
また、シート名の取得ができるようになるとExcelの関数で行えることの幅が広がります。ぜひ、この記事を参考にして活用してみてください。