参照先の列番号と行番号の前に「$」を付ける

 Excelで同じ数式がたくさん入った表を作る際に,まず1つ数式を入れてから,あとはその数式を他のセルにコピーすることは多い。数式の中に「=A1」のように参照するセルを指定すると,その数式は参照先のセルを「相対参照」,つまり自分の位置から上下左右にそれぞれいくつ離れているかという情報を使って調べるようになっているため,ドラグして数式を別のセルにコピーしても,参照先が同じようにずれるので正しい計算結果が得られるというわけだ。

 ところがこのやり方での数式コピーがうまくいかず,求めたい結果とは異なる数値が表示されてしまったり,エラーが出てしまったりすることがある(図1~図3)。これは,数式のなかに,“常に同じセルを参照する”部分があるためだ。具体的に言うと,図1の「C3セル」に入っている数式「=B3/B7」を下方向(C4~C7セル)にコピーしたときに,「B3セル」は「B4」「B5」・・・とずれていってよいのだが,この式では構成比を求めているため,「B7」セルは常に「B7セル」でなければならないのだ(図4)。

 そこでこのようなケースでは,数式をほかのセルにコピーする際に“動かしてはならない”参照先を固定して,「絶対参照」にする必要があるのだ。

図1●商品の構成比を求めるため,「=B3/B7」という数式を入力し(1),ツールバーの「パーセントスタイル」ボタンをクリックした(2)

図2●構成比がパーセント表示されたので,セルの右下の角をドラグして,数式をコピーしてみた

図3●ところが,「=#DIV/0!」というエラーが表示された。分母が「0」になっていることを示すエラーだ

図4●コピーしたセルの一つをダブルクリックして,数式を確認すると,分母にすべき「B7」が「B8」にずれてしまったことがわかる