エクセル初心者
エクセルでシート名を取得する方法はあるの?
ブックのシートはすべて同じフォーマットで、特定のセルで開いたシートの名前を参照できればうれしいんだけど。
エクセルでセルにシート名を取得するには、いくつかの関数を組み合わせればできるよ!すこし複雑に感じるかもしれないけど、一度数式を立ててしまえばコピペして繰り返しつかえるからぜひ覚えよう!
Dr.オフィス
ブック内にたくさんのシート数があり、エクセルシートを開くごとに特定のセルでシート名を取得できるようにするには、複数の関数を組み合わせて行います。
特定のセルで開いたシートごとにシート名を取得できれば時短にもつながりますし、シートの名前を変更すればそのセルに参照された内容も変更できるのでとても便利です!
- 新しいシートに複製し使用することを目的とした表を作成しブックを保存
- CELL関数でブックの情報を取得する
- FIND関数でCELL関数で返した値の「]」の文字の位置を数える
- MID関数でシート名を取得するための数式を立てる
- CELL関数とFIND関数の値を非表示にする
- シート名を取得する関数の入った表を複製する
PCサポート歴10年以上の私が、エクセルでシート名を取得する方法のわかりやすい手順をくわしく解説していくよ!
Dr.オフィス
エクセルでシート名を取得するには、複数の関数を組み合わせないとできないので少しむずかしく感じるかもしれません。
しかし一度数式を立ててしまえば、シートをコピぺして繰り返しつかえ、シート名と指定したセルがリンクするのでコピペや書き換えが不要になり便利です!
そしてこちらの記事は下記の動画でも解説しているので、ぜひ合わせてご覧ください。
また、エクセルではシート名の色を変更して目立たせることもできますので、くわしくは»【エクセル】シート名の変更や色付けで見やすさをアップ!をご覧ください。
※本記事は『OS:Windows11』画像は『Excelのバージョン:Microsoft365』を使用しています。
目次
エクセルの関数でシート名を取得するとは?
まず、「エクセルでシート名を取得する」とは、いったいどういうことなのかを一度確認をしましょう。
たとえばこのように、シートが複数あるブックがあるとします。
さらにシート名が1月1日、1月2日…というようにすべてのシートで同じフォーマットの表が挿入されているとしましょう。
たとえばE1の特定のセルで、エクセルのシート名に書かれたものと同じ文字列を取得したいとします。
なお、シート名を取得するE1セルはシート名と連動した状態になっているので、それぞれのシートを開けばE1セルの文字列も変更します。
なので、いちいちテキストをコピペしたり記入する手間が省けて便利です。
また、シート名を変更すれば当然シート名を取得しているセルも書き変わります。
このようにエクセルで各シートごとでシート名を取得するにはいくつかの関数を使用していきます!
ここからエクセルでシート名を取得するくわしい数式の立て方を解説していくよ!
Dr.オフィス
エクセルでシート名を取得するためにつかう関数
エクセルでシート名を取得するには以下の3つの関数を使用していきます。
- CELL関数…セルの書式、位置、または内容に関する情報を返すことのできる関数
- FIND関数…指定した文字列が左から何番目にあるのかを数え数字で返すことができる関数
- MID関数…文字列から指定したテキストを取り出すことができる関数
エクセルでシート名を取得するには、残念ながら現時点ではそのための特定の関数や機能がなく、FIND関数、CELL関数、MID関数の3つを組み合わせないとできません。
3つの関数をつかうのですこし複雑に感じるかもしれませんが、シート名を取得する方法をくわしく解説をしますので、ぜひ手順通りに行ってみてくださいね。
エクセルでシート名を取得する手順
エクセルの3つの関数をつかい、特定のセルでシート名を取得する方法を説明します。
- STEP
ブックを保存する
まずはじめに、ブックで使用していくフォーマットを作成し、ファイルを保存しましょう。
エクセルファイルをデスクトップに保存しているけど、保存先はどこでもOK!
Dr.オフィス
- STEP
CELL関数を入力
- 数値や文字を記入しないセルならどこでもいいので選択し、「=CELL(」と入力
- 出てきたリストの中から「filename」を選択
なお、この段階ではブック内のシートは1つのみの状態にしてください。
CELL関数の引数:=CELL(検査の種類,[参照])
つぎにシート名を取得したいセルを参照し、Enterで確定をしましょう。
すると「¥¥MacHome¥Desktop¥[手洗いチェック.xlsx]1月1日」とCELL関数により値が返りました。
この値の意味は以下のとおりです。
- ¥¥MacHome¥Desktop¥:現在ファイルがある場所
- [手洗いチェック.xlsx]:ファイル名
- 1月1日:シート名
CELL関数により、このファイルがパソコンのどこにあり、どんなファイル名でどんなシート名がついているかという情報を得ることができました。
エクセル初心者
CELL関数でファイルの情報を表示させたけど、ここからいったいどうするの?
これからさらに、CELL関数で表示させたファイルの情報から、シート名である「1月1日」の部分だけを、FIND関数とMID関数をつかいシート名を取得できるようにしていくよ!
Dr.オフィス
- STEP
FIND関数を入力
では、CELL関数で返した値の「¥¥MacHome¥Desktop¥[手洗いチェック.xlsx]シート名」の文字列から、シート名の手前にある「]」の文字が何文字目にあるのかをFIND関数で求めていきます。
FIND関数の引数:=FIND(検索文字列,対象,[開始位置])
まずはじめに、何も入力することがないであろうセルを選択しFIND関数を入力しましょう。
今回はCELL関数を入力したセル(A8)の1つ下のA9セルに「=FIND(“]”,A8)」と数式を立て、Enterで確定をします。
最初の引数の「検索文字列」では、検索したい文字列である「]」をダブルクォーテーションマークで囲み、2つ目の引数の「対象」で、検索をしたい文字列があるA8セルを参照しました。
FIND関数でA8セルの文字列にある「]」の文字が、左から数えて33文字目にあることがわかりました。
FIND関数を入力したセルを開き、ここで数式をコピーしましょう。(次の手順で必要になります)
これからMID関数にCELL関数とFIND関数の数式を組み合わせて指定したセルで「1月1日」のシート名を取得できるようにしていくよ!
Dr.オフィス
- STEP
シート名を取得したいセルにMID関数を入力
MID関数の引数:=MID(文字列,開始位置,文字数)
シート名を取得したいセルを選択し「=MID(」と入力をしましょう。
まず、MID関数の最初の引数である「文字列」にはCELL関数の入ったセル(A8)を参照します。
次に、MID関数の2つ目の引数である「開始位置」を参照します。
- FIND関数の数式「FIND(“]”,A8)」を貼り付け
- 「+1」と入力
引数の開始位置は「FIND(“]”,A8)+1」となります。
FIND関数で数えた「]」までの文字数である33に+1とすることで、MID関数で抽出する文字の開始位置を「1月1日」の最初の「1」からと指定をすることができました。
続いてMID関数の3つ目の引数である「文字数」は、抽出する最大の文字数を記入します。
今回は日付なので、「1月1日」なら4文字ですが例えば「12月31日」のように6文字になる場合もありますので、「文字数」の引数は「6」となります。
最後に「)」で閉じ、Enterで確定をしましょう。
指定したセルで、シート名を取得することができました!
ここまでがシート名を取得するために必要な関数のつかい方だよ!
次は不要な文字列を非表示にして、シート名が取得できるシートを複製していこう!Dr.オフィス
- STEP
CELL関数とFIND関数で返した文字列を非表示にする
CELL関数とFIND関数の入ったセルを非表示にし、表の見た目を非表示にします。
- CELL関数とFIND関数の入ったセルを選択
- ショートカットキーCtrl+1でセルの書式設定を開く
- 「表示形式」を選択
- 「ユーザー定義」を選択
- 種類に「;;;」と記入
- OKで確定
不要な文字列を非表示にすることができました。
- STEP
シートをコピーし複製
CELL関数、FIND関数、MID関数でシート名を取得できるようにしたシートをコピペし、シートを複製していきましょう。
- シート左上の四角をクリック
- ショートカットキーCtrl+Cでシート全体をコピー
- 「+」をクリックし新しいシートを作成
- 新しく作成した「Sheet2」の左上の四角をクリック
- ショートカットキーCtrl+Vで貼り付け
- シート名を変更する
シート名を変更すると、関数によりシート名を取得できるようになったセルの文字列も変更するようになりました!
あとは同じ作業を繰り返し行いシートを複製していきましょう。
いちどシート名を取得する表のフォーマットをエクセルの関数で作ってしまえば、コピペして何度でもつかえるからとても便利だね!
Dr.オフィス
エクセルのシート名一覧をセルに取得する方法
エクセルのシート名一覧をセルに直接取得できる方法があります。
シート見出しをコピー&ペーストする必要がなく、データ整理や資料作成にスムーズに使用できてとても便利です。
シート名一覧をセルに取得するには、数式タブの「名前の定義」に任意の名前とTEXTAFTER関数を入力します。
「Excelマクロ有効ブック(*.xlsm)」になっていることを確認して「マクロ有効ブック」に名前をつけて保存しましょう。
セルを選択して、先ほど「名前の定義」に登録した任意の名前を入力します。
エクセルのシート名一覧をセルに直接取得できました。
目的のシートにすばやくアクセスするテクニックや、シートの先頭と最後尾を簡単に切り替える方法などは、こちら≫エクセルのシート一覧から一発表示させるテク!でくわしく解説しているので、ぜひ参考にしてみてください。
エクセルのシート名を変更するショートカットキー
エクセルのシート名を変更するショートカットキー(アクセスキー)は以下のとおりです。
ALT→H→O→R
これらのキーを1つずつ順番に押しましょう。
エクセルのシート名を変更することができます。
エクセルのショートカットキー(アクセスキー)でシート名を変更するのくわしい手順につきましては»ワークシートの名前を変更する「Alt→H→O→R」の記事をご覧ください。
エクセルでシート名の取得する方法に関するQ&A
Q
シート名を取得するエクセルの関数はなんですか?
A
エクセルでシート名を取得するにはCELL関数、FIND関数、MID関数を組み合わせて使用します。
Q
エクセルで開いているシート名を取得するには?
A
エクセルで閲覧中のシート名を指定したセルに取得する方法は、この記事の»エクセルの関数でシート名を取得するとは?をご覧下さい。
エクセルの関数を組み合わせればシート名の取得ができる!
エクセルでシート名を取得するには、CELL関数、FIND関数、MID関数の3つを組み合わせる必要があります。
しかし、一度数式を立てたフォーマットさえ作成してしまえば、シートを複製し繰り返しシート名が取得できるシートをつかうことができるのでとても便利です。
エクセルでシート名を取得するには手順がとても大事になりますので、以下でおさらいしましょう。
する方法を
おさらい!
- 新しいシートに複製し使用することを目的とした表を作成しブックを保存
- CELL関数でブックの情報を取得する
- FIND関数でCELL関数で返した値の「]」の文字の位置を数える
- MID関数でシート名を取得するための数式を立てる
- CELL関数とFIND関数の値を非表示にする
- シート名を取得する関数の入った表を複製する
エクセルで関数を自在に操れれば、シート名の取得も簡単に行えるほか、シートの名前変更に従いシート名を取得したセルも書き換わるので、ぜひデータ量が多いときなどに活用してみてくださいね。
エクセルでシート名の色を変更することもできますので、ぜひ»【エクセル】シート名の変更や色付けで見やすさをアップ!も合わせてご覧ください!