エクセルで行追加や行削除、あるいは列追加や列削除などを行なうと計算式の中で参照されていたセルがずれてしまうことがあります。
行挿入でエラーになるパターン
たとえば、次のようなパターンがあります。下図のようなごくごく簡単な現金出納帳を例にしてご説明します。
この状態で4行目と5行目の間に行挿入し、下図のように9月14日の現金の動きを入力するとします。
Offset関数を使ってエラーを回避する方法
そうすると、9月15日の残高欄の計算式がおかしくなってますね。エクセルで行挿入をしますとこういった現象が生じてしまいます。では、このパターンのように常に1行上のセルを参照するといった場合、どのような計算式することができるでしょうか。たとえばOffset関数を用いることができます。下図のような感じです。
Offset関数を用いることで常に1行上のセルとか2行上のセルを参照することがでます。もちろん、一つ左のセルとか2つ右のセルを常に参照するといった指定も可能です。さて、この状態で再び4行目と5行目の間に行挿入し、先ほどと同じく9月14日の現金の動きを入力するとどうなるでしょうか。
今度は、きちんと9月14日の残高に9月15日の受取を足しこむ計算式になっています。
行削除でエラーになるパターンと回避方法
行削除の場合もOffset関数を使用することでエラーを回避することができます。先ほど見たものと同じリストをもう一度ご欄ください。ここで9月13日の行削除するとどなるでしょうか。
下図のように参照先のセルが削除されてしまうとセルD4は#REF!というエラーになってしまいました。
Offset関数を使用することでこの問題も回避することができます。常に同じ位置を参照したいときはぜひOffset関数を試してみてください。逆に行挿入や行削除、また列挿入や列削除などの処理をしても常に同じセル(たとえば常にセルA1を参照したいなど)を参照したいということもありますね。その方法については、次回以降まとめてみます。