楽天リーベイツで楽天ポイント還元最大20%!今なら登録して初回購入で500ポイントもGET!

エクセルでシート名を取得!わかりやすい手順を1から解説!

7 min 2,022 views
エクセル初心者

エクセル初心者

エクセルでシート名を取得する方法はあるの?
ブックのシートはすべて同じフォーマットで、特定のセルで開いたシートの名前を参照できればうれしいんだけど。

エクセルでセルにシート名を取得するには、いくつかの関数を組み合わせればできるよ!すこし複雑に感じるかもしれないけど、一度数式を立ててしまえばコピペして繰り返しつかえるからぜひ覚えよう!

Dr.オフィス

Dr.オフィス

ブック内にたくさんのシート数があり、エクセルシートを開くごとに特定のセルでシート名を取得できるようにするには、複数の関数を組み合わせて行います。

特定のセルで開いたシートごとにシート名を取得できれば時短にもつながりますし、シートの名前を変更すればそのセルに参照された内容も変更できるのでとても便利です!

エクセルでシート名を取得するための簡単ステップ!
  1. 新しいシートに複製し使用することを目的とした表を作成しブックを保存
  2. CELL関数でブックの情報を取得する
  3. FIND関数でCELL関数で返した値の「]」の文字の位置を数える
  4. MID関数でシート名を取得するための数式を立てる
  5. CELL関数とFIND関数の値を非表示にする
  6. シート名を取得する関数の入った表を複製する

PCサポート歴10年以上の私が、エクセルでシート名を取得する方法のわかりやすい手順をくわしく解説していくよ!

Dr.オフィス

Dr.オフィス

エクセルでシート名を取得するには、複数の関数を組み合わせないとできないので少しむずかしく感じるかもしれません。

しかし一度数式を立ててしまえば、シートをコピぺして繰り返しつかえ、シート名と指定したセルがリンクするのでコピペや書き換えが不要になり便利です!

そしてこちらの記事は下記の動画でも解説しているので、ぜひ合わせてご覧ください。

また、エクセルではシート名の色を変更して目立たせることもできますので、くわしくは»【エクセル】シート名の変更や色付けで見やすさをアップ!をご覧ください。

※本記事は『OS:Windows11』画像は『Excelのバージョン:Microsoft365』を使用しています。

エクセルの関数でシート名を取得するとは?

まず、「エクセルでシート名を取得する」とは、いったいどういうことなのかを一度確認をしましょう。

すべて同じフォーマットで複数のシートがあるエクセルブック
すべて同じフォーマットで複数のシートがあるエクセルブック

たとえばこのように、シートが複数あるブックがあるとします。

さらにシート名が1月1日、1月2日…というようにすべてのシートで同じフォーマットの表が挿入されているとしましょう。

エクセルでシート名を取得するとは①
エクセルでシート名を取得するとは①

たとえばE1の特定のセルで、エクセルのシート名に書かれたものと同じ文字列を取得したいとします。

エクセルでシート名を取得するとは③
エクセルでシート名を取得するとは②

なお、シート名を取得するE1セルはシート名と連動した状態になっているので、それぞれのシートを開けばE1セルの文字列も変更します。

なので、いちいちテキストをコピペしたり記入する手間が省けて便利です。

エクセルでシート名を取得するとは②
エクセルでシート名を取得するとは③

また、シート名を変更すれば当然シート名を取得しているセルも書き変わります。

このようにエクセルで各シートごとでシート名を取得するにはいくつかの関数を使用していきます!

ここからエクセルでシート名を取得するくわしい数式の立て方を解説していくよ!

Dr.オフィス

Dr.オフィス

エクセルでシート名を取得するためにつかう関数

エクセルでシート名を取得するには以下の3つの関数を使用していきます。

  • CELLセル関数…セルの書式、位置、または内容に関する情報を返すことのできる関数
  • FINDファインド関数…指定した文字列が左から何番目にあるのかを数え数字で返すことができる関数
  • MIDミッド関数…文字列から指定したテキストを取り出すことができる関数

エクセルでシート名を取得するには、残念ながら現時点ではそのための特定の関数や機能がなく、FIND関数、CELL関数、MID関数の3つを組み合わせないとできません。

3つの関数をつかうのですこし複雑に感じるかもしれませんが、シート名を取得する方法をくわしく解説をしますので、ぜひ手順通りに行ってみてくださいね。

エクセルでシート名を取得する手順

エクセルの3つの関数をつかい、特定のセルでシート名を取得する方法を説明します。

  1. STEP

    ブックを保存する

    シート名を取得するデータのフォーマットを保存
    シート名を取得するデータのフォーマットを保存

    まずはじめに、ブックで使用していくフォーマットを作成し、ファイルを保存しましょう。

    エクセルファイルをデスクトップに保存しているけど、保存先はどこでもOK!

    Dr.オフィス

    Dr.オフィス

  2. STEP

    CELL関数を入力

    CELL関数を入力し「filename」を選択
    CELL関数を入力し「filename」を選択
    1. 数値や文字を記入しないセルならどこでもいいので選択し、「=CELL(」と入力
    2. 出てきたリストの中から「filename」を選択

    なお、この段階ではブック内のシートは1つのみの状態にしてください。

    CELL関数の引数:=CELL(検査の種類,[参照])

    [参照]の引数はシート名を取得するセルを指定
    [参照]の引数はシート名を取得するセルを指定

    つぎにシート名を取得したいセルを参照し、Enterで確定をしましょう。

    CELL関数で返った値
    CELL関数で返った値

    すると「¥¥MacHome¥Desktop¥[手洗いチェック.xlsx]1月1日」とCELL関数により値が返りました。

    この値の意味は以下のとおりです。

    CELL関数で返した値の内訳
    CELL関数で返した値の内訳
    • ¥¥MacHome¥Desktop¥:現在ファイルがある場所
    • [手洗いチェック.xlsx]:ファイル名
    • 1月1日:シート名

    CELL関数により、このファイルがパソコンのどこにあり、どんなファイル名でどんなシート名がついているかという情報を得ることができました。

    エクセル初心者

    エクセル初心者

    CELL関数でファイルの情報を表示させたけど、ここからいったいどうするの?

    これからさらに、CELL関数で表示させたファイルの情報から、シート名である「1月1日」の部分だけを、FIND関数とMID関数をつかいシート名を取得できるようにしていくよ!

    Dr.オフィス

    Dr.オフィス

  3. STEP

    FIND関数を入力

    では、CELL関数で返した値の「¥¥MacHome¥Desktop¥[手洗いチェック.xlsx]シート名」の文字列から、シート名の手前にある「]」の文字が何文字目にあるのかをFIND関数で求めていきます。

    FIND関数の引数:=FIND(検索文字列,対象,[開始位置])

    FIND関数の数式
    FIND関数の数式

    まずはじめに、何も入力することがないであろうセルを選択しFIND関数を入力しましょう。

    今回はCELL関数を入力したセル(A8)の1つ下のA9セルに「=FIND(“]”,A8)」と数式を立て、Enterで確定をします。

    最初の引数の「検索文字列」では、検索したい文字列である「]」をダブルクォーテーションマークで囲み、2つ目の引数の「対象」で、検索をしたい文字列があるA8セルを参照しました。

    FIND関数で返した値
    FIND関数で返した値

    FIND関数でA8セルの文字列にある「]」の文字が、左から数えて33文字目にあることがわかりました。

    FIND関数の数式をコピー
    FIND関数の数式をコピー

    FIND関数を入力したセルを開き、ここで数式をコピーしましょう。(次の手順で必要になります)

    これからMID関数にCELL関数とFIND関数の数式を組み合わせて指定したセルで「1月1日」のシート名を取得できるようにしていくよ!

    Dr.オフィス

    Dr.オフィス

  4. STEP

    シート名を取得したいセルにMID関数を入力

    MID関数の引数:=MID(文字列,開始位置,文字数)

    シート名を取得したいセルにMID関数を入力
    シート名を取得したいセルにMID関数を入力

    シート名を取得したいセルを選択し「=MID(」と入力をしましょう。

    引数の文字列にCELL関数が入ったセルを指定
    引数の文字列にCELL関数が入ったセルを指定

    まず、MID関数の最初の引数である「文字列」にはCELL関数の入ったセル(A8)を参照します。

    MID関数の2つ目の引数「開始位置」を指定
    MID関数の2つ目の引数「開始位置」を指定

    次に、MID関数の2つ目の引数である「開始位置」を参照します。

    1. FIND関数の数式「FIND(“]”,A8)」を貼り付け
    2. 「+1」と入力

    引数の開始位置は「FIND(“]”,A8)+1」となります。

    引数「開始位置」参照の内訳
    引数「開始位置」参照の内訳

    FIND関数で数えた「]」までの文字数である33に+1とすることでMID関数で抽出する文字の開始位置を「1月1日」の最初の「1」からと指定をすることができました。

    MID関数の3つ目の引数「文字数」を指定
    MID関数の3つ目の引数「文字数」を指定

    続いてMID関数の3つ目の引数である「文字数」は、抽出する最大の文字数を記入します。

    今回は日付なので、「1月1日」なら4文字ですが例えば「12月31日」のように6文字になる場合もありますので、「文字数」の引数は「6」となります。

    最後に「)」で閉じ、Enterで確定をしましょう。

    MID関数で抽出できる文字数は最大99文字です。
    抽出する文字数に制限をかける必要がない場合なら「99」と記入をしてもOK。

    シート名を取得
    シート名を取得

    指定したセルで、シート名を取得することができました!

    ここまでがシート名を取得するために必要な関数のつかい方だよ!
    次は不要な文字列を非表示にして、シート名が取得できるシートを複製していこう!

    Dr.オフィス

    Dr.オフィス

  5. STEP

    CELL関数とFIND関数で返した文字列を非表示にする

    CELL関数とFIND関数の入ったセルを非表示にし、表の見た目を非表示にします。

    CELL関数とFIND関数の入ったセルを選択
    1. CELL関数とFIND関数の入ったセルを選択
    2. ショートカットキーCtrl+1でセルの書式設定を開く
    セルの書式を非表示に設定
    セルの書式を非表示に設定
    1. 「表示形式」を選択
    2. 「ユーザー定義」を選択
    3. 種類に「;;;」と記入
    4. OKで確定
    不要な文字列を非表示にできた
    不要な文字列を非表示にできた

    不要な文字列を非表示にすることができました。

  6. STEP

    シートをコピーし複製

    CELL関数、FIND関数、MID関数でシート名を取得できるようにしたシートをコピペし、シートを複製していきましょう。

    シートをコピー
    シートをコピー
    1. シート左上の四角をクリック
    2. ショートカットキーCtrlCでシート全体をコピー
    3. 「+」をクリックし新しいシートを作成
    シートを貼り付け
    シートを貼り付け
    1. 新しく作成した「Sheet2」の左上の四角をクリック
    2. ショートカットキーCtrlVで貼り付け
    3. シート名を変更する
    別ページのシート名を変更
    別ページのシート名を変更

    シート名を変更すると、関数によりシート名を取得できるようになったセルの文字列も変更するようになりました!

    あとは同じ作業を繰り返し行いシートを複製していきましょう。

    いちどシート名を取得する表のフォーマットをエクセルの関数で作ってしまえば、コピペして何度でもつかえるからとても便利だね!

    Dr.オフィス

    Dr.オフィス

エクセルのシート名一覧をセルに取得する方法

エクセルのシート名一覧をセルに直接取得できる方法があります。

シート見出しをコピー&ペーストする必要がなく、データ整理や資料作成にスムーズに使用できてとても便利です。

TEXTAFTER関数を入力する
TEXTAFTER関数を入力する

シート名一覧をセルに取得するには、数式タブの「名前の定義」に任意の名前とTEXTAFTER関数を入力します。

「マクロ有効ブック」に保存する
「マクロ有効ブック」に保存する

「Excelマクロ有効ブック(*.xlsm)」になっていることを確認して「マクロ有効ブック」に名前をつけて保存しましょう。

エクセルのシート名一覧を取得完了
エクセルのシート名一覧を取得完了

セルを選択して、先ほど「名前の定義」に登録した任意の名前を入力します。

エクセルのシート名一覧をセルに直接取得できました。

目的のシートにすばやくアクセスするテクニックや、シートの先頭と最後尾を簡単に切り替える方法などは、こちら≫エクセルのシート一覧から一発表示させるテク!でくわしく解説しているので、ぜひ参考にしてみてください。

エクセルのシート名を変更するショートカットキー

エクセルのシート名を変更するショートカットキー(アクセスキー)は以下のとおりです。

ALTHOR

これらのキーを1つずつ順番に押しましょう。

エクセルのシート名を変更することができます。

エクセルのショートカットキー(アクセスキー)でシート名を変更するのくわしい手順につきましては»ワークシートの名前を変更する「Alt→H→O→R」の記事をご覧ください。

エクセルでシート名の取得する方法に関するQ&A

Q

シート名を取得するエクセルの関数はなんですか?

A

エクセルでシート名を取得するにはCELL関数、FIND関数、MID関数を組み合わせて使用します。

Q

エクセルで開いているシート名を取得するには?

A

エクセルで閲覧中のシート名を指定したセルに取得する方法は、この記事の»エクセルの関数でシート名を取得するとは?をご覧下さい。

エクセルの関数を組み合わせればシート名の取得ができる!

エクセルでシート名を取得するには、CELL関数、FIND関数、MID関数の3つを組み合わせる必要があります。

しかし、一度数式を立てたフォーマットさえ作成してしまえば、シートを複製し繰り返しシート名が取得できるシートをつかうことができるのでとても便利です。

エクセルでシート名を取得するには手順がとても大事になりますので、以下でおさらいしましょう。

シート名を取得
する方法を
おさらい!
  1. 新しいシートに複製し使用することを目的とした表を作成しブックを保存
  2. CELL関数でブックの情報を取得する
  3. FIND関数でCELL関数で返した値の「]」の文字の位置を数える
  4. MID関数でシート名を取得するための数式を立てる
  5. CELL関数とFIND関数の値を非表示にする
  6. シート名を取得する関数の入った表を複製する

エクセルで関数を自在に操れれば、シート名の取得も簡単に行えるほか、シートの名前変更に従いシート名を取得したセルも書き換わるので、ぜひデータ量が多いときなどに活用してみてくださいね。

エクセルでシート名の色を変更することもできますので、ぜひ»【エクセル】シート名の変更や色付けで見やすさをアップ!も合わせてご覧ください!

関連記事