INDIRECT関数で別のシートからデータを取得する

この記事では、INDIRECT関数を使って別のシートからデータを参照する方法を解説します。

 INDIRECT関数は、「文字列で指定された」セルの値を出力する関数です。書式は以下の通りです。
=INDIRECT("文字列")

INDIRECT関数の基礎については、こちらの記事をご覧ください。

別のシートを参照する場合は、文字列はシート名!範囲と書きます。シート名の後に!(半角)を書くことを忘れないようにしましょう。

例えば、こちらのスプレッドシートの"data" シート に以下のような売り上げの表があります。

売上の表


A支店の本日の売上を他のシートで参照します。シート名は"data"ですので、data!と書き、A支店の本日の売上B2セルを指定します。
全体を忘れずにダブルクォーテーションで挟みましょう
=INDIRECT("data!B2")

INDIRECT関数


関数が実行されると、¥158,320とA支店の本日の売上が参照されています。
結果



今度は、B1セルに入っているセルの名前'data'を用いて、INDIRECT関数でdataシートにあるB支店の本日の売上を参照します。

B2の文字列dataを使用する



セルの値と文字列を繋げる際は、&を使用します。B1セルの値"data"と残りの"!B3"の間に&を入れます。
 =INDIRECT(B1&"!B3") 
セルの値と文字列を繋げるには&


関数が実行されると、¥264,250とA支店の本日の売上が参照されています。
結果


スプレッドシートでこの例を御覧になる場合はこちら