プロが教えるわが家の防犯対策術!

添付のようなエクセルの表を作成して管理台帳としています。
(実データは載せられないため、簡易版にしています。)

今、B9セルには(=SUM(B3:B8)が入っています。
8行目と9行目の間に行を挿入しても、合計値がきちんと(=SUM(B3:B9)の値を持ってくるようにしたいです。

過去の質問
http://oshiete.goo.ne.jp/qa/4644868.html
参考にして、『あ』ではできたのですが、『い』、『う』、『え』、『お』でも同様に合計値を出したいのです。

『あ』で行を挿入すると、『い』、『う』、『え』、『お』の各項目の行がずれて、
さらに『い』、『う』、『え』、『お』でも行の挿入を行います。
(挿入する行は、『あ』、『い』、『う』、『え』、『お』すべて合計値の前の行に挿入します。)

きちんと、『あ』、『い』、『う』、『え』、『お』の各合計値を出す方法はありますでしょうか。

私が使っているのはエクセル2007ですが、エクセル2000を使っている人に渡すデータです。

「エクセル 行を挿入しても正しい合計値を出」の質問画像

A 回答 (4件)

B9には


=SUM(B2:INDIRECT("R[-1]C",FALSE))
B16には
=SUM(B12:INDIRECT("R[-1]C",FALSE))
以下同文
のように。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
無事解決できました!!

お礼日時:2011/02/23 18:19

 表中の1行目が、必ずしも行番号1になっているとは限りませんから、OFFSET関数を使用する場合には、ROW関数よりも、ROWS関数と組み合わせた方が良いと思います。



 例えば、表がA2:B9の範囲にあり、A2セルとB2セルは項目名で、B9セルに合計欄がある場合には、次の様な数式となります。

=SUM(OFFSET(B$2,,,ROWS(B$2:B9)-1))

 尚、上記の数式の場合、合計範囲には、B2セルも含まれていますが、合計範囲に文字列データが存在する場合には、数値のみが合計されますから、問題はありません。
 又もし、項目名に数字が使われている等の理由から、合計範囲にB2セルを含めたくない場合には、次の様な数式となります。

=SUM(OFFSET(B$2,1,,ROWS(B$2:B9)-2))
    • good
    • 0
この回答へのお礼

回答ありがとうございます!!
関数をもっと学ぼうと思いました!!

お礼日時:2011/02/23 18:21

合計を入れるセルに式を入れるのだが


=SUM(OFFSET($A$2,0,0,ROW()-2,1))
A列にデータがあって第2行目から直前行まで合計する、と言う場合です。
合計行の直前行に行挿入しても、式の範囲は行挿入した行まで含む。
ーーー
A列に小計的に何箇所も合計行がある場合は
データ例
A2:A13
1
2

3
6式1 小計
4
5


2
1
12式2 小計
式1は =SUM(OFFSET($A$2,0,0,ROW()-ROW($A$1)-1,1))
式2は =SUM(OFFSET($A$7,0,0,ROW()-ROW($A$7),1))
この状態で2-5行間や7-12行間で行挿入しても式は小計を正しく出すと思う。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!!
関数の勉強にもなりました!!

お礼日時:2011/02/23 18:21

OFFSET関数のほうがわかりよいようですが、計算が重たくなるので使わないほうが良いです


=SUM(B3:INDEX(B:B,ROW()-1))
とすることで「数式を入力した行の一つ上まで」とすることができます

名前を定義してもよいかもしれません
B2セルにおいて[Ctrl]+[F3]名前の定義
 名前 桜
 参照範囲 =B1
=SUM(B3:桜)
    • good
    • 1
この回答へのお礼

回答ありがとうございます!!
無事解決できました!!
関数をもっと勉強しなければ!と思いました。

お礼日時:2011/02/23 18:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!