SHEET関数は、シート番号を取得する関数で、目次の作成や動的な参照管理などに活用できる。基本構文は、=SHEET([値])(値は省略可、省略時は現在のシート番号)となる。
目次
エクセルで複数のワークシートを扱う作業において、特定のシート番号を取得したい場面は少なくない。例えば、帳票の整列やシート目次の自動生成、動的参照処理などにおいて、シート番号を活用することで業務効率が向上する。そのようなときに役立つのが「SHEET関数」である。
本記事では、SHEET関数の基本構文から応用的な使い方、他関数との組み合わせ例、注意点までを具体的に解説する。
SHEET関数とは
SHEET関数は、指定されたセルやシートの「シート番号」を取得する関数である。シートの順序や構成をプログラム的に把握したいときに便利だ。
■SHEET関数の概要
SHEET関数は、エクセルのワークブック内でシートが何番目に存在するかを返す関数である。表示上のシート順ではなく、内部的な順序(作成順など)を基にして番号を返す点に特徴がある。
■基本構文と引数の意味
SHEET関数の構文は以下のとおりである。
=SHEET([値])
値(省略可能):シート名やセル参照を指定する。省略した場合は、関数を入力したシートの番号を返す。
■SHEET関数の結果はどう表示されるか
3つのシートが以下の順番で存在している場合
シート名 作成順(内部番号)
Sheet1 1
Sheet2 2
Sheet3 3
Sheet3の任意のセルに =SHEET() を入力すると、3 が返る。

一方、=SHEET(Sheet1!A1) と記述すれば、Sheet1 のシート番号である 1 が返される。

具体的な使用例
ここでは、実際の操作手順を交えてSHEET関数の基本的な使い方を紹介しよう。
■現在のシート番号を取得する

現在作業しているシートの番号を確認したい場合は、以下の手順で行う。
- 任意のセルを選択する
- 次の数式を入力する。
=SHEET()
- Enterキーを押す
この関数が入力されたシートの番号が返される。
■特定シートの番号を取得する

他のシートの番号を取得したいときは、参照形式で指定する。
=SHEET(Sheet2!A1)
この数式ではSheet2のA1セルを参照し、Sheet2のシート番号を返す。
■実務での使用シーン
毎月の売上を記録する「月次シート」が複数ある場合
Sheet1:1月
Sheet2:2月
Sheet3:3月
これらを一覧でまとめたい場合、次のような目次を作成できる。

このようにして、目次シートを動的に管理することが可能になる。
SHEETS関数との違い
SHEET関数と混同されがちな関数に「SHEETS関数」がある。両者は似て非なる機能を持つ。
■SHEETS関数とは?
SHEETS関数は、参照されたブックや配列に含まれるワークシートの「総数」を返す関数である。
=SHEETS()
→ ワークブック内のシート数を返す。
=SHEETS(‘Sheet1:Sheet3’!A1)
→ Sheet1からSheet3までの間にあるシート数を返す。

■SHEET関数との違いと使い分け
SHEET関数をSHEETS関数の使い分けを下記の表にまとめた。
| 比較項目 | SHEET関数 | SHEETS関数 |
| 返す内容 | シートの番号 | シートの総数 |
| 引数の扱い | 省略可(現在のシート) | 配列範囲が必要 |
| 用途 | シート順の特定 | シート数の集計 |
応用テクニック:他関数との組み合わせ
SHEET関数は単体でも便利だが、他関数と組み合わせることでさらに活用の幅が広がる。
■INDIRECT関数との連携
INDIRECT関数と組み合わせることで、動的に参照先を変更しながら、そのシート番号を取得することができる。
=SHEET(INDIRECT(“‘”&A2&”‘!A1”))
A2セルに「Sheet2」と入力されていれば、この数式は =SHEET(Sheet2!A1) と同じ意味になる。

■目次シートを自動で作るテクニック
一覧表に各シート名を入力しておき、それをもとにSHEET関数で番号を自動取得する構成も可能である。

1月 =SHEET(INDIRECT(“‘”&A2&”‘!A1”))
2月 =SHEET(INDIRECT(“‘”&A3&”‘!A1”))
これにより、管理表を一括で更新可能となる。







DIME MAGAZINE











