シート名をセルで参照したい
INDIRECT関数
Excel2013・2010
エクセルでは、作成した計算式をコピーすると、式で使われているセル番号が自動的に調整されます。例えば、セルC1に「=A1+B1」と入力して下方向へコピーすると、C2には「=A2+B2」、C3には「=A3+B3」という数式が貼り付けられます。
セル番号と違い、シート名はコピーしても調整されません。例えば、以下のようにB列へ「1月」シートのセルA1、「2月」シートのセルA1、「3月」シートのセルA1を入力したい場合、セルB2に入力した数式をコピーしても正しい値が表示されません。
INDIRECT関数を使用すると、セルに入力したシート名を使用して計算式を作ることができます。例えば、セルA2へ入力したシート名をINDIRECT関数で参照しておけば、数式をコピーして正しい値を表示することができます。
INDIRECT関数でセルを参照するには
上表のセルB2に「1月」シートのA1の値を表示し、B2の数式をB3とB4へコピーして「2月」シートのA1、「3月」シートのA1の値を表示します。
- セルB2を選択します。
- 「数式」タブの「関数ライブラリ」グループから「検索/行列」をクリックします。表示されたメニューから「INDIRECT」をクリックします。
- 数式パレットが表示されるので、「参照文字列」欄に「A2&"!A1"」と入力します。
上表では、A2がシート名、A1がA2のシートの中で参照するセルです。 - 「OK」ボタンをクリックします。