小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2023年7月25日【ID:0】

【Excel】シート名などの文字列からその値を参照する数式


それぞれのシートのセルA2に、「"100","200","300"」と値が入力されています。
シート名は、それぞれ「"202301","202302","202303"」になります。

この各シートのセルA2の値を、以下の画像のセルB3の値を参照して、セルB6に抽出する数式を実現していきます。

通常、他のシートの値を参照する場合、以下のような数式になるかと思います。

='202301'!A2

他のシートの参照は、「(シート名)!(セルのアドレス)」となります。
シート名「202301」を囲む「'」は省略できる場合もあります。

「'」は直接参照すると自動で入力される場合と、されない場合があります。
「'」が入力される場合は、シート名に数字がある場合や「!」などの特殊な記号があるときなどがあります。
これはシート名と数値などを判別しやすくするためのものです。

そのため、以下のように省略して入力しても参照することができます。

=202301!A2

ただ、「!」などの特殊な記号を含む場合は、どこまでがシート名なのかが判断できず参照できないため、直接入力する際は注意する必要があります。

では、この内容を踏まえて、以下のように、セルB3の値を参照して、対象のシートの値を抽出する数式を実現していきます。

そこで「INDIRECT関数」が必要になります。

=INDIRECT(参照文字列, [参照形式])
// 指定された文字列へ参照した値を返す
※引数[参照方式]は、今回は使用しないため、解説は省略しています。

まず初めに、セルへ参照するアドレスの文字列を数式で作成します。

=B3&"!A2"

上記の数式のように"&"を使うことで文字結合することができます。
直接、文字列を結合する場合は、文字列を「"」で囲む必要があります。

後は、この作成された文字列「202301!A2」のセルを参照し、値を抽出します。
そこで、INDIRECT関数を活用します。

=INDIRECT(B3&"!A2")

このように、セルの値(シート名)を参照して、対象のシートの値を抽出することができました。

INDIRECT関数を活用することで、以下のような各シートの値を抽出した表も簡単に作成することができます。

=INDIRECT(B4&"!A2")
// この数式を入力し、下のセルへコピーする

パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。


メンバー募集
1分で読める小技集 1分で読める小技集





リンクの共有はこちらから行えます。

  リンクコピー Twitter Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

2758052

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ