• ベストアンサー

行を挿入したら、計算範囲も増やしてくれる式(エクセル 引き算)

エクセルで3行の行を使い、引き算と結果を示しています。 例 セルD4に次の式を入れています。D2-D3の「差」を表し、式が成り立たないセルについては空白を表示するものです。 =IF(D2<>"",D2-D3,"") この場合、行2もしくは行3を選択して右クリックから「挿入」で行を挿入したら、 D4に表示されるのはD2-D3-D4の「差」ということにするするための「式」はどのようなものでしょうか? 元の計算範囲の行がくっついている2行というところに難儀しています。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

D4=IF(D2<>"",D2-SUM(OFFSET(D2,1,0,ROW()-3)),"") これでどうでしょう

pocorino
質問者

お礼

解決しました。ありがとうございます。 計算対象のセルが空欄でもエラーになりません。 勉強になりました。

その他の回答 (2)

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.2

あっ、読み直したら設定するセル番地も表記されてましたね。^^; 全部スルーで書くと =IF(D2<>"",D2-SUM(OFFSET(D1,2,0,COUNT(D2:D3)-1,1)),"")

pocorino
質問者

お礼

詳しく、ご丁寧にありがとうございました。 こちらの入力数値に問題があると言えるのですが、 セルD2に数値があっても、セルD3は空欄の場合があるのです。 空欄は0という意味ですが、教えていただいた式では、空欄の影響で エラーがでてしまいます。(空欄に0を入力すれば式が成り立つのですが) すみません。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.1

D2-D3-D4 = D2-(D3+D4)で良いですよね。 =D2-SUM(OFFSET(D1,2,0,COUNT(D:D)-1,1)) もしD列全てを対象とした場合に、目的外の数値が入力されている セルがあるようでしたら、その数値が入ったセル数だけマイナスするか 範囲を指定して絞って下さい。 例:=D2-SUM(OFFSET(D1,2,0,COUNT(D2:D20)-1,1)) とか