Excelで他のセルの値を参照して計算する際、単に参照先のセルを選択しただけでは、オートフィルで数式をコピーした際に値がおかしくなってしまうことがある。例えば、消費税などを特定のセルに入力しておいて、常にそこを参照先とするような場合に発生しがちだ。このような場合、数式をコピーしても、参照先のセルが移動しないようにする必要がある。このようなセルの参照方法について整理してみた。
対象:Excel 2016/2019/2021/365
「Microsoft Excel(エクセル)」で他のセルの値を参照して計算するのはよくあることだ。オートフィルを使えば、他のセルを参照した式をドラッグするだけで、コピーして表を埋めることができる。
しかし、セルの参照先によっては、オートフィルでコピーすると値がおかしくなったり、セルにエラーが表示されたりしてしまう。消費税率を表の外側のセルに入力しておき、それをセル参照したら、オートフィルでコピーしたセルの値に消費税が加算されなかった、という経験はないだろうか。
本Tech TIPSでは、Excelの基本的なテクニックであるセルの相対参照/絶対参照/複合参照について整理する。
Excelでは、「相対参照」がデフォルトのため、数式の中でセル参照を行う際に多くの場合「相対参照」を使っているはずだ。「相対参照」は、数式を入力したセルをコピーすると、ペースト先のセルに合わせて自動的に参照先となるセルの位置が変更される参照方法である。
例えば、下の画面のように行ごとに単価と個数を掛けて、小計を計算するような場合に使う。「D2」セルに「=B2*C2」と入力し、これをオートフィルで下の行にコピーすると、自動的に参照するセルの位置が変更されて、数式が「=B3*C3」「=B4*C4」といった具合になり、各行の小計が計算できる。
特定のセルに入力し、それをセル参照する場合、参照先のセルをマウスで選択しただけでは「相対参照」となってしまう。その数式をオートフィルでコピーすると、参照先のセルも移動するため、正しい計算結果にならない。
このような固定したセルを参照する場合、「絶対参照」を利用する。参照先のセルをマウスで選択したら、[F4]キーを1回入力するか、行番号と列番号の前に「$(ダラー記号)」を入力する(「$H$2」のようにする)。これで、オートフィルでコピーしても、「絶対参照」とした参照先のセルは固定された状態となる。
消費税率などを特定のセルに記入して、そこを参照する場合には、「絶対参照」を使い、オートフィルで数式をコピーした場合でも参照先のセルが移動しないようにすればよい。
下画面のように、ある商品に対して複数の値引き後の価格を計算したい場合、「相対参照」にしてオートフィルでコピーすると、2つ目の商品から計算結果がおかしくなってしまう。
値引き率(「C1」セル)を「絶対参照」とすることで、C列は正しく計算できる。
しかし、この数式をD列やE列にオートフィルを使ってコピーすると、商品価格が入力されたセルとは異なるセルが参照されてしまう上、値引き率が「C1」セルに入力した値に固定されているため、全く異なる計算結果になってしまう。
このような場合、商品価格が入力された列のみを固定(「絶対参照」)し、行は「相対参照」とする「複合参照」を利用するとよい。オートフィルでコピーすると、列番号は固定され、コピーした行に合わせて行番号は移動するようになる。
「複合参照」を指定するには、行と列で固定したい方の前に「$」を付け、移動したい方には「$」を付けなければよい。セルを選択した際に、[F4]キーを2回押すと行番号が固定、3回押すと列番号が固定になる。
Copyright© Digital Advantage Corp. All Rights Reserved.