絶対値記号をつけておいても行削除を行うと関数計算式が変更されてしまいます。
上に紹介した
=SUBTOTAL(3,$C$3:$C$102)
という関数では、3行目から102行目までの100行の中で、行削除を実行すると、SUBTOTAL関数が対象として参照する範囲が狭まってしまいます。
1行の行削除を行えば、$C$3:$C$102 の箇所が、$C$3:$C$101 に、3行の行削除を行えば $C$3:$C$99 に変わってしまい、本来の100行の中に、いくつデーターが存在するのかを知るための関数が崩れてしまいます。
データーを消す場合には、Delete を使い、安易に行削除を行わないように気をつければ済むことですが、行削除の方が楽なのも確かで、無意識に行削除をしてしまう危険もあり得ます。
要は、行削除を行っても、関数計算式が崩れないようにすれば良いだけのことです。
変動しては困る $C$3:$C$102 を(例えば)A1セル に記述しておきます。
この A1セル に記された文字情報を読み取る関数が、INDIRECT関数 なのです。
=INDIRECT($A$1)
という関数式を記すと、
(A1セル に記されている)$C$3:$C$102 が返ってきます。
よって(C3セル に)
=SUBTOTAL(3,INDIRECT($A$1))
という関数式を入れると、行削除を行っても、対象範囲は $C$3:$C$102 から変動することはありません。
操作ミスでA1セルを消してしまうなどの危険を回避するために、A列を非表示 にすることで、更に万全になります。
シリーズ
「エクセルの便利メモ」 Excelを極めるにはVLOOKUP関数を使ってはいけない
の他の記事(目次)は下記のURLとなります。
http://blog.goo.ne.jp/pizzica0912/e/2d6c432428b6d6f4708f239c9af2ffd5
音楽(クラシック) ブログランキングへ