大体でIT
大体でIT
Excelで、INDIRECT関数を使って、別シートや別ブックのセルを参照する方法について、ご紹介します。INDIRECT関数に、参照するセルの文字列を入力することで、セルを参照することができます。別シートや別ブックのセルを参照する際に、便利です。
この記事では、別シートや別ブックのセルを、「INDIRECT関数」を使って、参照する方法について、ご紹介します。
「INDIRECT関数」に、参照するセルの文字列を入力することで、セルを参照することができます。
セルの値などをうまく組み合わせて、文字列を作成すると、簡単に別シートや別ブックのセルを参照できるので、「INDIRECT関数」は便利です。
では、別シートや別ブックのセルを参照する方法について、解説していきます。
- INDIRECTで、別シートのセルを参照
- INDIRECTで、別ブックのセルを参照
INDIRECT関数で、「セル」を参照する方法について説明します。
INDIRECT関数には、次のように値を入力します。
セルを参照する際に、数式「=」を使って参照すると、次のようになります。
数式「=」でセルを参照
セルA3を参照したいので、「=A3」としています。
このセルの参照を、「INDIRECT関数」を使うと次のようになります。
INDIRECT関数でセルを参照
セルA3を参照したいので、「=INDIRECT("A3")」と入力しています。
「&」で文字列を結合してみる
セルA3を参照するのに、「=INDIRECT("A" & "3")」という入力の仕方もできます。
セルの値を使って、セルを参照
最終的に文字列を作れるといいので、次にようにセルから文字列を参照して、参照先のセルを作ることもできます。
セルA3を参照するのに、「=INDIRECT(C2 & C3)」として、セルを参照しています。
こんな感じで、「INDIRECT関数」を使うと、文字列を組み合わせてセルを参照できます。
先ほどの「INDIRECT関数」の使い方を踏まえて、「別シート」を参照してみます。
Sheet2の値
数式「=」で別シートを参照
数式を使うと、「=Sheet2!A1」という値が表示されます。
この「Sheet2!A1」を文字列として「INDIRECT関数」に入力すると、Sheet2のA1を参照することができます。
INDIRECT関数で別シートを参照
セルには、「=INDIRECT("Sheet2!A1")」と入力して、Sheet2のA1を参照することができました。
このままでは、INDIRECT関数に入力するのが、面倒なので、セルから参照すると便利になります。
セルの値を使って別シートを参照
入力する数式は、「=INDIRECT(A1&"!"&B1)」となっています。
こうすれば、参照したシート名やセルを、簡単に変更することができます。
Sheet2~Sheet4を作成
INDIRECT関数を入力
最初に、取得したい「シート名」と「参照するセル」を、入力しておきます。
先ほどと使った数式「=INDIRECT(A1&"!"&B1)」を入力します。
後は、セルC1を下にコピーすると、他の別シートの値も取得することができます。
複数の別シートを参照した結果
複数の別シートから、セルを参照することができました。
商品A~商品Cというシートから、価格、販売個数、在庫を取得する、というのをやってみます。
商品A~商品Cの別シートを用意
この別シートの商品A~商品Cから、セルを参照します。
複数の別シートを参照した結果
価格、販売個数、在庫を、複数の別シートから取得することができました。
INDIRECT関数の入力方法
非表示にしている行と列に、参照するセルのアドレスを入力しておきます。
数式は、「=INDIRECT($A3&"!"&C$1&$B3)」と入力しています。
数式は、「=INDIRECT($A5&"!"&E$1&$B5)」と入力しています。
変数で、行もしくは列のどちらを固定するかが、ポイントとなります。
値が縦に並んでいるときは、列を固定するという感じです。
「INDIRECT関数」を使うと、別シートからの値の取得が便利になります。
「INDIRECT関数」は「別ブック」のセルを参照することもできます。
ただし、別ブックは開いた状態にする必要があります。
閉じた状態では、別ブックのセルを参照することはできません。
では、「INDIRECT関数」を使って、「別ブック」のセルを参照してみます。
別ブックを作成
数式「=」を使って別ブックを参照
数式「=」を使って、「TEST1.xlsx」の「Sheet1」の「セルA1」を参照してみます。
数式に入力される値は、「=[TEST1.xlsx]Sheet1!$A$1」となりました。
INDIRECT関数を使って別ブックを参照
この「"[TEST1.xlsx]Sheet1!$A$1"」を「INDIRECT関数」に入力します。
「INDIRECT関数」で、別ブックのセルを参照できました。
セルには、「=INDIRECT("[TEST1.xlsx]Sheet1!$A$1")」と入力しています。
セルの値を使って別ブックを参照
このままでは、INDIRECT関数に入力しづらいので、「ファイル名」、「シート名」、「参照セル」をセルから取得してみます。
セルには、「=INDIRECT("[" &B3 & "]" & B4 & "!" & B5)」と入力しています。
こんな感じで、INDIRECT関数を使うと、別ブックのセルも参照することができます。
3個のブックを用意
「TEST1.xlsx」~「TEST3.xlsx」の別ブックを用意して、開いておきます。
INDIRECT関数で別ブックを参照
ブック、シート名、参照セルを、セルに入力しておきます。
INDIRECT関数には、「=INDIRECT("[" &A2 & "]" & B2 & "!" & C2)」と入力してます。
残り2つの別ブックも参照する
セルに参照するブック名、シート名、参照セルを、入力します。
あとは、「INDIRECT関数」を入力したセルをコピーします。
これで、複数の別ブックのセルを参照することができます。
複数の別ブックのセルを参照した結果
複数の別ブックのセルを、参照することができました。
「INDIRECT関数」、セルを参照したい場合に、便利な関数です。
この記事では、別シートや別ブックのセルを、「INDIRECT関数」を使って、参照する方法について、ご紹介しました。
「INDIRECT関数」には、参照するセルの文字列を入力することで、セルを参照することができます。
セルの値などをうまく組み合わせて、文字列を作成すると、簡単に別シートや別ブックのセルを参照できるので、「INDIRECT関数」は便利です。
参考になればと思います。最後までご覧くださいまして、ありがとうございました。