-
よねさんのExcelとWordの使い方 »
-
エクセル2010 練習問題 »
-
複数のシートのデータを集計する
- 問題1:下図のような複数のシート「1月」「2月」「3月」のデータをシート「集計」のような形式で集計しなさい。 問題1の解答
- 求める集計シートは下図のようなものです。
C3:E8セルの値を求めなさい。
- シート「1月」のデータ
- シート「2月」のデータ
- シート「3月」のデータ
-
- シート名と求めたいデータリストの列見出し部分が同じ文字になっているのに気付くかがポイントでもあります。
- 別シートのデータから同じ分名の値だけを合計するので、SUMIF関数で求めることができます。
- C3セルの数式は =SUMIF('1月'!$B$3:$B$17,集計!$B3,'1月'!$E$3:$E$17) として、下方向へ数式をコピーします。
同様に、D3セルの数式は =SUMIF('2月'!$B$3:$B$17,集計!$B3,'2月'!$E$3:$E$17)
E3セルの数式は =SUMIF('3月'!$B$3:$B$17,集計!$B3,'3月'!$E$3:$E$17)
- これらの数式で 1月、2月、3月といったシート名が 集計するセルの3行目と同じことに気付くと・・・
=SUMIF('1月'!$B$3:$B$17,集計!$B3,'1月'!$E$3:$E$17
を
=SUMIF(C2 & "!$B$3:$B$17",集計!$B3,'C2 & "!$E$3:$E$17")
とできそうに思います。
ところが、このような参照の仕方はできないとの警告が表示されます。

ここではINDIRECT関数を使って参照先を指定します。
なお、C2の部分は 複合参照の C$2 として、コピー時にも対応できるようにします。
=SUMIF(INDIRECT(C$2&"!$B$3:$B$17"),集計!$B3,INDIRECT(C$2&"!$E$3:$E$17"))
- また、セル範囲は B3:B17 と E3:E17としています。これは「1月」〜「3月」のデータの最も多いところに合わせています。
つまり、「1月」シートが最も多くのデータが入力されているので、このセル範囲に合わせています。
スポンサードリンク
よねさんのExcelとWordの使い方|エクセル2010 練習問題:目次|複数のシートのデータを集計する