大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excelで、INDIRECT関数を使って、別シートや別ブックのセルを参照する方法について、ご紹介します。INDIRECT関数に、参照するセルの文字列を入力することで、セルを参照することができます。別シートや別ブックのセルを参照する際に、便利です。

はじめに

この記事では、別シートや別ブックのセルを、「INDIRECT関数」を使って、参照する方法について、ご紹介します。

「INDIRECT関数」に、参照するセルの文字列を入力することで、セルを参照することができます。

セルの値などをうまく組み合わせて、文字列を作成すると、簡単に別シートや別ブックのセルを参照できるので、「INDIRECT関数」は便利です。

では、別シートや別ブックのセルを参照する方法について、解説していきます。

この記事で紹介すること

  • INDIRECTで、別シートのセルを参照
  • INDIRECTで、別ブックのセルを参照

目次から見たい項目へ移動すると便利ですよ。

目次

INDIRECT関数で「セル」を参照する

INDIRECT関数で、「セル」を参照する方法について説明します。

INDIRECT関数には、次のように値を入力します。

「=INDIRECT(文字列)」

という感じです。

実際に値を入力して、「セル」を参照してみます。

INDIRECT関数の使い方

セルを参照する際に、数式「=」を使って参照すると、次のようになります。

数式「=」でセルを参照

セルを参照する際に数式を使って参照した場合

セルA3を参照したいので、「=A3」としています。

このセルの参照を、「INDIRECT関数」を使うと次のようになります。

INDIRECT関数でセルを参照

INDIRECT関数を使ってセルを参照する

セルA3を参照したいので、「=INDIRECT("A3")」と入力しています。

文字列で、参照セルを指定するのがポイントです。

例えば次のように、入力することもできます。

「&」で文字列を結合してみる

INDIRECT関数に入力する値を&で結合してみる

セルA3を参照するのに、「=INDIRECT("A" & "3")」という入力の仕方もできます。

セルの値を使って、セルを参照

最終的に文字列を作れるといいので、次にようにセルから文字列を参照して、参照先のセルを作ることもできます。

参照セルをセルの文字列から作成する

セルA3を参照するのに、「=INDIRECT(C2 & C3)」として、セルを参照しています。

これでも、セルA3を参照できます。

セルA3を参照した結果

こんな感じで、「INDIRECT関数」を使うと、文字列を組み合わせてセルを参照できます。

INDIRECT関数で「別シート」を参照する

先ほどの「INDIRECT関数」の使い方を踏まえて、「別シート」を参照してみます。

別シートを参照

「Sheet2」に適当に値を入力しました。

Sheet2の値

別シートに値を入力

この「Sheet2」から値を参照してみます。

数式を使って参照すると、次のようになります。

数式「=」で別シートを参照

数式を使って別シートを参照した結果

数式を使うと、「=Sheet2!A1」という値が表示されます。

この「Sheet2!A1」を文字列として「INDIRECT関数」に入力すると、Sheet2のA1を参照することができます。

こんな感じです。

INDIRECT関数で別シートを参照

INDIRECT関数で別シートを参照した結果

セルには、「=INDIRECT("Sheet2!A1")」と入力して、Sheet2のA1を参照することができました。

このままでは、INDIRECT関数に入力するのが、面倒なので、セルから参照すると便利になります。

こんな感じです。

セルの値を使って別シートを参照

INDIRECT関数に入力する値をセルから参照する

シート名と、参照セルを、セルから取得しています。

入力する数式は、「=INDIRECT(A1&"!"&B1)」となっています。

こうすれば、参照したシート名やセルを、簡単に変更することができます。

複数の別シートを参照

次は、複数の別シートを参照してみます。

次のような別シートを用意しました。

Sheet2~Sheet4を作成

別シートを用意1
別シートを用意2
別シートを用意3

Sheet2~Sheet4を用意しています。

INDIRECT関数を入力

最初に、取得したい「シート名」と「参照するセル」を、入力しておきます。

取得したいシート名と参照するセルを入力しておく

先ほどと使った数式「=INDIRECT(A1&"!"&B1)」を入力します。

INDIRECT関数を入力する

これで、一つ目の別シートのセルを参照できました。

INDIRECT関数で別シートのセルを参照

後は、セルC1を下にコピーすると、他の別シートの値も取得することができます。

数式を下にコピー①
数式を下にコピー②

これで完成です。

複数の別シートを参照した結果

複数のシートからセルを参照した結果

複数の別シートから、セルを参照することができました。

実務で使う

実務で使う場合を考えてみました。

商品A~商品Cというシートから、価格、販売個数、在庫を取得する、というのをやってみます。

商品A~商品Cという別シートを用意しました。

商品A~商品Cの別シートを用意

商品A~商品Cの別シートを用意

この別シートの商品A~商品Cから、セルを参照します。

結果はこんな感じになります。

複数の別シートを参照した結果

別シートの商品A~商品Cを参照した結果

価格、販売個数、在庫を、複数の別シートから取得することができました。

INDIRECT関数の入力方法

非表示にしている行と列に、参照するセルのアドレスを入力しておきます。

別シートから参照するセルのアドレスをセルに入力しておく

このセルに入力した値から、セルを参照します。

セルに入力した数式は、こんな感じです。

セルに入力した数式

数式は、「=INDIRECT($A3&"!"&C$1&$B3)」と入力しています。

一番右下の方は、こんな感じです。

一番右下に入力している数式

数式は、「=INDIRECT($A5&"!"&E$1&$B5)」と入力しています。

変数で、行もしくは列のどちらを固定するかが、ポイントとなります。

値が横に並んでいるときは、行を固定です。

値が縦に並んでいるときは、列を固定するという感じです。

「INDIRECT関数」を使うと、別シートからの値の取得が便利になります。

INDIRECT関数で「別ブック」を参照する

「INDIRECT関数」は「別ブック」のセルを参照することもできます。

ただし、別ブックは開いた状態にする必要があります。

閉じた状態では、別ブックのセルを参照することはできません。

別ブックを参照

では、「INDIRECT関数」を使って、「別ブック」のセルを参照してみます。

別ブックを作成

別ブックを作成して、「開いたまま」にします。

別ブックを作成しておく

ブック名は、「TEXT1.xlsx」です。

数式「=」を使って別ブックを参照

数式「=」を使って、「TEST1.xlsx」の「Sheet1」の「セルA1」を参照してみます。

数式=を使って別ブックを参照した結果

別ブックを参照できました。

数式に入力される値は、「=[TEST1.xlsx]Sheet1!$A$1」となりました。

INDIRECT関数を使って別ブックを参照

この「"[TEST1.xlsx]Sheet1!$A$1"」を「INDIRECT関数」に入力します。

INDIRECT関数で別ブックを参照する

「INDIRECT関数」で、別ブックのセルを参照できました。

セルには、「=INDIRECT("[TEST1.xlsx]Sheet1!$A$1")」と入力しています。

セルの値を使って別ブックを参照

このままでは、INDIRECT関数に入力しづらいので、「ファイル名」、「シート名」、「参照セル」をセルから取得してみます。

セルに入力する数式を、こんな感じにします。

ファイル名とシート名、参照セルをセルから取得して別ブックを参照

セルには、「=INDIRECT("[" &B3 & "]" & B4 & "!" & B5)」と入力しています。

では、結果です。

ファイル名とシート名、参照セルの情報を、セルから取得して別ブックを参照した結果

別ブックを参照できました。

こんな感じで、INDIRECT関数を使うと、別ブックのセルも参照することができます。

複数の別ブックを参照

次は、複数の別ブックを参照してみます。

3個のブックを用意

「TEST1.xlsx」~「TEST3.xlsx」の別ブックを用意して、開いておきます。

別ブックを3個用意した1
別ブックを3個用意した2
別ブックを3個用意した3

INDIRECT関数で別ブックを参照

ブック、シート名、参照セルを、セルに入力しておきます。

ブック名、シート名、参照セルをセルに入力して、INDIRECT関数を入力

INDIRECT関数には、「=INDIRECT("[" &A2 & "]" & B2 & "!" & C2)」と入力してます。

これで、別ブックのセルを参照できます。

別ブックのセルを参照した結果

1つ目の別ブックを参照できました。

残り2つの別ブックも参照する

残りの2つのブックも参照します。

セルに参照するブック名、シート名、参照セルを、入力します。

残り2つの参照するブック名、シート名、参照セルを入力

あとは、「INDIRECT関数」を入力したセルをコピーします。

INDIRECT関数をコピーする

これで、複数の別ブックのセルを参照することができます。

複数の別ブックのセルを参照した結果

複数の別ブックのセルを参照した結果

複数の別ブックのセルを、参照することができました。

「INDIRECT関数」、セルを参照したい場合に、便利な関数です。

おわりに

この記事では、別シートや別ブックのセルを、「INDIRECT関数」を使って、参照する方法について、ご紹介しました。

「INDIRECT関数」には、参照するセルの文字列を入力することで、セルを参照することができます。

セルの値などをうまく組み合わせて、文字列を作成すると、簡単に別シートや別ブックのセルを参照できるので、「INDIRECT関数」は便利です。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す