【Excel】任意のワークシートのセルをスマートに参照する方法【INDIRECT関数】

 皆さんは、別ワークシートにあるセルをどのように参照していますか? まず、一般的な方法から説明します。

 まず、(1)別ワークシートで、田中さんの通信簿を作成しました。(2)つぎに、別のシートからその数値をセル参照します。(3) つづいて、鈴木さんの通信簿を別ワークシートとして追加し、(4)そのセルを参照します。これらのように必ず、ワークシートを追加してから、セル参照する、という順序をとります。

 ここで、ワークシートの追加ごとに、それに続く、セルを参照する作業を課題と考えています。セル参照が多岐にわたっている場合は特に煩わしいですし、機械的な作業ですので、マシンに任せるのが一番です。

 

図1 従来

 

 今回、ご紹介する方法を以下に示します。対象(参照)セルのアドレスを文字列として作成し、INDIRECT関数で囲みます。セルに数値が表示されました。なお、セルのアドレスの文字列は、ワークシート名を田中とし、A列にセルアドレスを記入しました。

 

 

 

図2 INDIRECT関数

つぎに、以下のようにC列をD列にドラッグして、数式を入力します。D列はエラー(#REF!)が表示されます。

図3  数式の自動入力

 つづいて、以下に示すように、鈴木さんのワークシートを追加します。追加と同時に、エラー表示が数値に変わりました。つまり、ワークシート追加の順序は不問です。

 

 

ここで、以下のようにセルC2を鈴木に代えてみます。すると列C2の通信簿が更新されました。つまり、セルの2行の記入によって、参照するワークシートを指定しています。このように、簡単に参照するセル群を一度に変えることができます。従来の場合、変更方法を思い出すところから始める必要があるのに比べて、ご紹介する方法は非常に直感的であり、簡単な作業です。

 

別のExcelファイルからワークシートをコピーして持ってくる場合などに有効です。

 

なお、INDIRECT関数の簡単な使い方につきましては、関連サイトをご紹介します。

エクセルで別シートを参照するINDIRECT関数の使い方 | UX MILK