シートの番号と数を調べる【SHEET関数】と【SHEETS関数】

ExcelのセルやシートなどのExcel内の情報を調べる『情報関数』は、セルの内容の情報を調べるものと操作環境を調べるものに、分かれています。そのうち【SHEET(シート)関数】と【SHEETS(シーツ)関数】は操作環境を調べる情報関数の一つで、ワークシートの番号もしくはワークシートの数を調べる関数です。

では、【SHEET(シート)関数】と【SHEETS(シーツ)関数】は、どのようにExcel内のワークシートの番号やワークシートの数を調べるのか見ていきましょう。

シートの番号と数を調べる【SHEET関数】【SHEETS関数】とは?

【SHEET関数】

【SHEETS関数】

【SHEET関数】と【SHEETS関数】は、sheetとsheetの複数形で名前は似ていますが、調べるものが、「シートの番号」と「シートの数」で少し違いますね!ただ、何をどう調べているのか少し想像しにくいもの。

ではその違いを少し見ていこうと思います。

ExcelのSHEET関数はどんな関数?

【SHEET関数】はどんな関数かというと、シートの番号を調べる関数で、Excel内のワークシートの名前やテーブル名、参照する範囲などを使って、指定したワークシートの名前やテーブル名などが含まれる、ワークシートが全ワークシート中で(表示されているもの、非表示のものを含めて)左から何番目にあるのかを調べます。

例えば、表内にある地名のあるワークシートが左から何番目にあるのか知りたいとき、その地名を使って(参照して)調べれば、シートが何番目にあるのかが結果に表示されます。

ExcelのSHEETS関数はどんな関数?

【SHEETS関数】はどんな関数かというと、Excel内のシートの数を調べる関数で、SHEET関数と同様にシートの番号を調べる関数で、ワークシートの名前やテーブル名、参照する範囲などを使って、指定したワークシートの名前やテーブル名などが含まれる、全ワークシートの数(表示されているもの、非表示のものを含めて)を調べます。

ただし、数えるのはブックに含まれるワークシートのみです。

それぞれに調べるものはワークシート内と一緒なのですが、調べた結果が変わります。それでは書き方を見て見ながら、実際に違いを比べてみましょう!

シートの番号と数を調べる【SHEET関数】【SHEETS関数】の書き方

【SHEET関数】と【SHEETS関数】の書き方は、「値」や「範囲」に調べたい文字列を入れるだけで調べてくれるので、思っている以上に簡単です。まずは、【SHEET関数】から見ていきます。

『関数式:=SHEET(値)』

SHEET関数の「値」の部分には、シート番号を求めるために必要なシート名もしくはテーブル名などを指定します。名前を指定するときに、調べたい言葉の入っているセルを参照してそのままで行ってしまうと、調べられない場合もありますので、TEXT関数やT関数を使用して、セル内に入っている言葉の「文字列を返す」必要があります。

次に【SHEETS関数】を見ていきましょう。

『関数式:=SHEETS(範囲)』

ワークシート全てを調べる場合は、SHEETS関数の「範囲」の部分を省略することで調べることができます。また、調べたい対象範囲の数を調べる場合は、SHEETS関数を含むブック内の範囲を指定する事で、ワークシートの数を調べられます。

※SHEET関数も値を省略することができますよ!

【SHEET関数】と【SHEETS関数】を使ってみよう

では、実際に【SHEET関数】と【SHEETS関数】を使ってみようと思います。

まずは、【SHEET関数】から。
【SHEET関数】を使って、今回調べたいのが「シート一覧」と書かれたシート番号です。

『=SHEET(“シート一覧”)』…と入れてEnterで確定すると、

「1」と答えが出ました。今回のワークシートの中で左から数えて1番目にあるので、「1」と出たわけです。

では、【SHEETS関数】を使ってみましょう。
今回は、調べたい範囲の指定がないため、「範囲」には何も入れません。

『=SHEETS()』…と入れてEnterで確定すると、

「6」と答えがでました。今回のワークブックにあるワークシートがすべてで6つあるため、「6」と出るわけです。

SHEETS関数を使う際の注意点

SHEET関数を使う際には注意点があり、表の一覧の中から「青森」と書かれているセルを使って、調べようとすると、シート番号が調べられない時があります。

『=SHEET(B6)』…と入れて確定すると、

答えに「1」が出ました。
…あれ?「青森」と書かれている場所を調べようとしていましたが、「シート一覧」と同じ答えになってしましました。そのままセルに入力された文字列は使用できないということになります。では、どうしたらいいのか。ここで「TEXT関数」や「T関数」を使って「値に入っている文字列をそのまま返す」事をすると、調べたい文字列を使って調べることができます!

では、今回は「TEXT関数」を利用してシート番号を出してみます。

『=SHEET(TEXT(B6,0))』…と入れ、Enterキーで確定します。すると、

「2」と答えが出ました。左から数えて2番目にあるため「2」と表示されたわけです。
あとはオートフィルを書けると、表内すべてにある文字列のシート全部が、左から数えて何番目のシートなのか、わかりますね!

シートの番号と数を調べる【SHEET関数】【SHEETS関数】|【まとめ】

シートの番号と数を調べる【SHEET関数】と【SHEETS関数】について見ていきましたがいかがだったでしょうか?

【SHEET関数】と【SHEETS関数】は、情報関数の中でも「操作環境を調べる」もののひとつで、どちらともにワークシートについて調べるものになっています。値や文字列、範囲を指定するだけで、簡単に調べられ、とても簡単な関数に感じます。が、対象がないと「#N/A」のエラー値が表示されてしまいます。

そのため、調べる際には、指定する名前の間違いがないかや、シート名などの間違えがないかなど注意することになります。少し言葉が足りなかったり、少し文字列が違うだけでもエラー値が出てくるため、要注意です!

また、【SHEET関数】と【SHEETS関数】は『office2013』以降で使用されている関数ということもあり、それ以前では使うことができません。もし、『office2010』以前で使うためには少し遠回りをして、別の関数で行う必要がありますので、ご注意くださいね!