EX-1 2017/11/20 執筆
記述が間違っているのかと若干はまりました。
INDIRECTを使用して別シートのデータを参照する場合の具体的な使い方を説明します。
上記3つのシートからINDIRECTを使用してセルを参照します。
SheetNo2のA1には「シート2」
Sheet No3のA1には「シート 3」が入力されています。
Aにシート名、BにAのシート名を参照したデータを取得したい場合
=INDIRECT("SheetNO2!A1")
=INDIRECT("Sheet NO3!A1")
"Sheet NO3"を参照したINDIRECTがエラーになってしまう。
これはシート名に空白が含まれていることが原因
シート名を'シングルコート'で囲む必要がある。
=INDIRECT("'Sheet NO3'!A1")
エラー無く表示できました。
W4セルのシート名からD5セルの文字列にマッチする行のデータを合計します。
INDIRECT関数を使用して別シートのデータを参照
記述が間違っているのかと若干はまりました。INDIRECTを使用して別シートのデータを参照する場合の具体的な使い方を説明します。
上記3つのシートからINDIRECTを使用してセルを参照します。
SheetNo2のA1には「シート2」
Sheet No3のA1には「シート 3」が入力されています。
Aにシート名、BにAのシート名を参照したデータを取得したい場合
=INDIRECT(A1&"!A1")
=INDIRECT(A2&"!A1")
↓ 内部的にこのように変換され表示される=INDIRECT("SheetNO2!A1")
=INDIRECT("Sheet NO3!A1")
"Sheet NO3"を参照したINDIRECTがエラーになってしまう。
これはシート名に空白が含まれていることが原因
空白を含むシート名を参照する場合のエラーの回避方法は?
シート名を'シングルコート'で囲む必要がある。=INDIRECT("'"&A2&"'!A1")
↓ 内部的にこのように変換され表示される=INDIRECT("'Sheet NO3'!A1")
エラー無く表示できました。
SUMIFなどの関数で合計を出す場合でも使用できる。
W4セルのシート名からD5セルの文字列にマッチする行のデータを合計します。=SUMIF(INDIRECT("'"&W$4&"'!$I$5:$N$200"),$D5,INDIRECT("'"&W$4&"'!$N$5:$N$200"))