別のワークシートのセルを参照する方法をご紹介しました。
この方法をご存知の方からは、
「簡単に他の複数のシートのデータを表示させる方法はないのでしょうか?」
「オートフィルを使って他のシートのセルの値を表示できませんか?」
といったご質問をいただきます。
例えば、「集計」「4月」「5月」「6月」といったワークシートがあって、「4月」「5月」「6月」シートでそれぞれ合計を計算し、各シートの合計を計算しているセルを参照して「集計」シート上に合計を表示させるといったことがあります。
そのときに「=」を入力してから参照したいシートの合計セルをクリックすれば、「集計」シートに各月の合計値を表示させることはできますが、その入力をもっと簡単に、オートフィルを使ってできないのかというご質問です。
(「集計」シートのA2:A4セルに「4月」「5月」「6月」と入力され、同名のワークシートが存在し、それぞれのB33セルに合計が計算されているときに、「集計」シートのB2:B4セルに各シートの合計値を表示する例) B2セルに
「=INDIRECT(A2&"!B33")」
という計算式を入力
↓
B2セルをB4セルまでオートフィル
これだけの操作で、いちいち他のシートへのセル参照式を入力しなくても、「集計」シートに表示ができるようになります。
INDIRECT関数は、引数に指定されたセルに入力されているデータを使ってセルを参照してくれる関数です。
A2セルに
「4月」と入力されているときに
「=INDIRECT(A2&"!B33")」は
「='4月'!B33」と同じ意味になります。
上記の数式でINDIRECT関数の引数のうち「A2」はセルの相対参照ですから、下方向にオートフィルすれば
「=INDIRECT(A3&"!B33")」
「=INDIRECT(A4&"!B33")」
と変化しA3・A4セルにシート名を入力しておけば、それぞれのシートのB33セルの値を表示するようになります。
説明だけを読んでもなかなかわかりづらいでしょうから、興味のある方はサンプルファイルでご確認ください。
▼サンプルファイル(001697.xls 20KByte)ダウンロード
INDIRECT関数の利用例として、このサイトでは入力規則機能を使った連動したドロップダウンリストをご紹介していますので、合わせてご参照ください。
またワークシートがたくさんあって、ワークシート名一覧の作成が大変だという場合は、VBA(Visual Basic for Applications)によるワークシート名一覧作成マクロをお試しください。
- Newer:ファイル名一覧を作成したい−DIRコマンド
- Older:セル内の行間を変更したい
Home » Excel(エクセル)の関数・数式の使い方 » 検索・行列 » 別シートへのセル参照をオートフィルで−INDIRECT関数