- ベストアンサー
エクセルでマイナス合計?
エクセルのセル(横並び)に数値が入っていて、引き算での集計値を求めたいのですが、何かよい関数はありませんか? (SUMのマイナス版と言ったところでしょうか) 例: A1 | B1 | C1 | D1 | E1 1000| 500| 200| 100|=(A1-B1-C1-D1) 見たいなかんじで、全てを引き算したいです (E1には200が入ります) 後から列を挿入すると式にも追加をしなければならないので、それを解消する方法でもいいのですが よろしくお願いします
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
#3さんの回答とほぼ同じですが、 OFFSETを使って A1の1つ右セルからE1(合計表示のセル)の1つ左のセルまでを合計し、A1から引けばいいと思います。 --------------------------------------- =A1-SUM(OFFSET(A1,0,1):OFFSET(E1,0,-1)) --------------------------------------- この式は=A1-SUM(B1:D1)と同じ事ですが、 例えば =A1-SUM(B1:D1)とした時に、C列や、D列の上で挿入した場合には =A1-SUM(B1:E1)と式が変化しますが、 B列の上で挿入(A列とB列の間に挿入)した場合=A1-SUM(C1:E1)となり、 E列の上で挿入(D列とE列の間に挿入)した場合には変化しません。 上記の式は、それに対応した式になっています。 ただし、A列の上で挿入(A列の前に挿入)した場合には、対応していません。
その他の回答 (5)
- comv
- ベストアンサー率52% (322/612)
みなさん こんにちは OFFSET()での数式が出ると INDIRECT()の方法も(^^; どの列にて挿入作業をしても (B列)~(式の入る手前の列)までの値をA列の値から 引く式をお望みなら =A1-SUM(INDIRECT("B"&ROW()&":"&CHAR(63+COLUMN())&ROW())) AとBの間で列を挿入することがないのであれば =A1-SUM(B1:INDIRECT(CHAR(63+COLUMN())&ROW())) でも可能です。
お礼
ありがとうございます INDIRECT() またまた難しい関数が・・・ 今回私には使いこなせそうにないです 勉強します
- imogasi
- ベストアンサー率27% (4737/17069)
#3のご回答の一部に対する疑問です。 >D列とE列の間に列を挿入すると算式を修正する必要がある。 例えばA1に=sum(b1:c1)といれ、C列を指定して列挿入すると、=SUM(B1:E1)となり、変化してくれましたが。 対象セルが増えるのが困るのでしょうか。 >質問の「後から列を挿入すると式にも追加をしなければならないので、それを解消する方法でもいい」 対象セルが増えて欲しいと受け取れますが。
お礼
ありがとうございます 対象のセルは増えていきます nishi6さんの言いたかったのは、多分cafedemochaさんの返事でのつなぎだと思います
- nishi6
- ベストアンサー率67% (869/1280)
A1| B1| C1| D1| E1 1000| 500| 200| 100| 式 のE1に、例えば、 =A1-SUM(B1:D1) とすれば、計算はできるが、D列とE列の間に列を挿入すると算式を修正する必要がある。 ということでしょうか。(A列とB列の間の挿入もダメでしょう) 1行目の計算は、上の状態で、E1に =$A1-SUM(OFFSET($A1,0,1):OFFSET($A1,0,COLUMN($E:$E)-2)) とすれば、D列とE列の間(またはA列とB列の間)に列を挿入しても算式を修正する必要はありません。 下方向にコピー可能です。 1行目の場合、A1の右のセルから集計する列の左のセルまでの集計値をA1から引いています。 なお、この式はC列から使うことができます。(Excel2000です)
お礼
ありがとうございます OFFSET関数、知らなかったです 勉強になりました 助かりました
- cafedemocha
- ベストアンサー率29% (232/789)
へ?これじゃぁ、まずいのかなぁ? =A1-SUM(B1:E1) 列を追加する時は、E列とB列の間にすれば、勝手に範囲に入れてくれるけど・・・ ()で括れば、中はただの和でしょ?、これじゃぁ不都合あるんですか?
お礼
ありがとうございます D列とE列の間もカバーしたいですが、これだとできないですよね
- anc_anc
- ベストアンサー率33% (17/51)
A1-Σ(Bi+Ci+Di+Ei)ではどうでしょうか? 後から列の挿入はFi+Gi+・・・と加えていけば良いです。
お礼
ありがとうございます Σ(Bi+Ci+Di+Ei) というのがちょっとわかりません けれど、それだと列の追加をしたときには 手動で追加しないといけないような感じですね
お礼
ありがとうございます わかりやすい説明で助かります すごくわかりました これで無事解決できそうです ほかのお返事くださった皆様もありがとうございました