関数 EXCEL&VBA

シート名からシート番号を自動で取得する関数

今回は、シート名をセルに入力すると シート番号が自動でセルに表示される ようにする方法です。

表示されたシート番号は、インデックスとして活用するなど様々な用途が期待できます。
過去記事の シート名を自動でセルに表示する方法 と合わせて活用すればさらに用途は広がります。



シート名からシート番号を取得する

シート番号を自動で表示

ここで述べる「シート番号」とは、エクセル上で表示されているシートを 左から 1, 2, 3 ... と番号化したものです。

下のようなサンプルを使って説明します。


▲左から 仙台、東京 ... とシートが並ぶ

では、C列に B列に表示されているシート名に相当する「シート番号」を表示させます。
このとき、C列に使われるのが SHEET関数 です。

SHEET関数の使い方

SHEET関数とは

SHEET関数とは、参照されるシートの「シート番号」を返す関数で;

SHEET ( [] )

のように表されます。
SHEET関数は、Excel2013から登場した新関数なので、Excel2010 以前のバージョンでは使えません

サンプルのセルC2に「仙台」シートのシート番号を表示させるには、以下のような数式が入ります。

=SHEET ( T(B2) )


▲一番左の「仙台」シートは「1」

数式の解説をするまえに、以下のような数式でも同じ結果が返ります。

=SHEET ( "仙台" )

ですが、セルの値に対して自在に変化させるためには、T(B2) のような引数の指定方法をおすすめします。

ここでのポイントは、引数を単に「B2」とするのではなく「T (B2)」とするところです。
引数を「B2」とした場合は、セルB2を含むシート番号(つまり数式を入力したシートの番号)である「5」が返ります。

T(値):セルの位置などを指定した値を文字列に変換します

数式を最終行までコピーすれば完成です。


▲各シート名に対するシート番号が表示された


シートの並びを変えてみるとどうなる?

さて、冒頭で述べたとおり「シート番号」はシートを左からカウントした番号のことです。

では、シートの順番を入れ替えると数式の値はどうなるのでしょうか。
検証結果は以下のとおりです。

数式には手を加えず、「東京」シートと「名古屋」シートを入れ替える。


▲シートを入れ替えてみる

「番号表示」シートに入力した数式の答えは、、、


▲シート番号が入れ替わっている!

というわけで、一度設定した数式は変更しなくてもシートの入れ替えには自動で対応する、ということがわかりました。

以上で『シート名からシート番号を自動で取得する関数』は終了です。
その他の関連記事と合わせて仕事や趣味に役立ててください。

関連記事・広告



併せて読んでおくと便利

VBAでシート数を取得する方法と そこからできること|Excel VBA
VBA・Countプロパティ
VBAでシート数を取得する方法の解説。VBAを使って各シートに同じ作業をさせる場合は流動的に変化するシート数を取得しておく必要があります。Countプロパティを使って...

エクセルでコメントを印刷する方法|Excelのキホン
コメント・印刷
エクセルのコメントを印刷する方法について解説。デフォルトでは印刷されないコメントを印刷する手順です。『コメントとは?』という方のために、コメントの基本的な使い方にも触れています。

エクセルで見やすいグラフ・きれいなグラフはこうして作る
エクセルグラフ
「見やすいシリーズ」第二弾!エクセルで見やすいグラフ・きれいなグラフの作り方。グラフがあることで、数値の差や変化などが視覚的に伝わることで資料を見る人が理解しやすくなります。

エクセルの先頭行を全ページ固定で印刷する方法
ページ設定・タイトル行
エクセルで件数の多いデータを扱っていると、1行あるいは複数行の「タイトル行」を固定して印刷したいときがあります。タイトル行の設定により解決する方法について解説!

今日の日付の色を変える (行に色をつける) 方法
条件付き書式・TODAY関数
エクセルで今日の日付の色を変える方法について解説。日付が変わっても常に 今日の日付のセルや行に色をつける (色を変える) ことができると、視認性もよくとても便利です。

※その他、関連記事はこの記事の下の方にもあります。




-関数, EXCEL&VBA
-