• ベストアンサー

エクセルでマイナス合計?

エクセルのセル(横並び)に数値が入っていて、引き算での集計値を求めたいのですが、何かよい関数はありませんか? (SUMのマイナス版と言ったところでしょうか) 例: A1 | B1 | C1 | D1 | E1 1000| 500| 200| 100|=(A1-B1-C1-D1) 見たいなかんじで、全てを引き算したいです (E1には200が入ります) 後から列を挿入すると式にも追加をしなければならないので、それを解消する方法でもいいのですが よろしくお願いします

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

  • ベストアンサー
回答No.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列の前に挿入)した場合には、対応していません。

ikethinn
質問者

お礼

ありがとうございます わかりやすい説明で助かります すごくわかりました これで無事解決できそうです ほかのお返事くださった皆様もありがとうございました

その他の回答 (5)

  • comv
  • ベストアンサー率52% (322/612)
回答No.5

みなさん こんにちは OFFSET()での数式が出ると INDIRECT()の方法も(^^; どの列にて挿入作業をしても (B列)~(式の入る手前の列)までの値をA列の値から 引く式をお望みなら =A1-SUM(INDIRECT("B"&ROW()&":"&CHAR(63+COLUMN())&ROW())) AとBの間で列を挿入することがないのであれば =A1-SUM(B1:INDIRECT(CHAR(63+COLUMN())&ROW())) でも可能です。

ikethinn
質問者

お礼

ありがとうございます INDIRECT() またまた難しい関数が・・・ 今回私には使いこなせそうにないです 勉強します

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

#3のご回答の一部に対する疑問です。 >D列とE列の間に列を挿入すると算式を修正する必要がある。 例えばA1に=sum(b1:c1)といれ、C列を指定して列挿入すると、=SUM(B1:E1)となり、変化してくれましたが。 対象セルが増えるのが困るのでしょうか。 >質問の「後から列を挿入すると式にも追加をしなければならないので、それを解消する方法でもいい」 対象セルが増えて欲しいと受け取れますが。

ikethinn
質問者

お礼

ありがとうございます 対象のセルは増えていきます nishi6さんの言いたかったのは、多分cafedemochaさんの返事でのつなぎだと思います

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

 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です)

ikethinn
質問者

お礼

ありがとうございます OFFSET関数、知らなかったです 勉強になりました 助かりました

回答No.2

へ?これじゃぁ、まずいのかなぁ? =A1-SUM(B1:E1) 列を追加する時は、E列とB列の間にすれば、勝手に範囲に入れてくれるけど・・・ ()で括れば、中はただの和でしょ?、これじゃぁ不都合あるんですか?

ikethinn
質問者

お礼

ありがとうございます D列とE列の間もカバーしたいですが、これだとできないですよね

  • anc_anc
  • ベストアンサー率33% (17/51)
回答No.1

A1-Σ(Bi+Ci+Di+Ei)ではどうでしょうか? 後から列の挿入はFi+Gi+・・・と加えていけば良いです。

ikethinn
質問者

お礼

ありがとうございます Σ(Bi+Ci+Di+Ei) というのがちょっとわかりません けれど、それだと列の追加をしたときには 手動で追加しないといけないような感じですね

関連するQ&A

  • 数式を教えてください。(エクセル)

    教えてください。 A1セルに100、B1に200、C3に-300 A2セルに-50、B2に50、C3に-50 があるとします。 で、縦の計算法を常に引き算をしたいのです。(A1-A2のように) オートSUMの場合、Aの列はちゃんと計算できると思うのですが、そうするとBの列は250になってしまいますよね。 この答えは200-50=150としたいのです。 またC列は、-300引く-50で、答えは-250としたいのですが・・・ マイナスを認識しつつ、セルの数値がプラス・マイナスにかかわらず すべて引き算計算をしたいのですが、 そういう数式ってありますか?

  • エクセル2003 #N/A含む複数シート数値合計

    複数のワークシートの数値の合計がうまく出ません。 A,B,C,Dという名前のシートのセルA2の数値の合計を 「集計」というシートのセルA3に出したいのですが (ちなみにA,B,C,DシートのセルA2にはvlookup関数がはいってます) 例えばシートBのセルA2の表示が#N/Aだと sum、sumif関数で合計を出そうとしても 「集計」シートのセルA3には#valueと出てしまいます。 うまく#N/Aをのぞいて数値の合計値を出す方法はありますか?

  • エクセルで小数点を含む合計と()のつけかた

    エクセルで A=1.5 B=2 C=3.5 D=0.5 E(合計)=(7.5) AからDのセルに数値を入力して、Eのセルに合計を出し、その合計された数値を()で囲みたいです。 宜しくお願いします。

  • エクセルの合計値が一致しません

    A、B、C、D各シートの「J45」セル合計値を求めるべく、 合計 start A B C D end とシートを7つ並べて 合計のシートの「J45」セルに、 『=SUM(start:end!J45』と関数を入れています。 AのJ45セル値が14.53、Bは139.58、CとDはそれぞれ0なので合計が154.11となり、 合計シートのJ45セル値も145.11と表示されていますが、 ステータスバーには153.18と表示されているのです。 表示形式は「数値」の小数点以下2ケタを指定しています。 A~Dのシートには小数点2ケタの数字を直接数字を入力しており、 小数点以下3ケタより下が隠れている、なんてことはありません。 なぜセル内に表示されている数値と、ステータスバーに 表示されている数値にアンマッチが発生するのか、私には理解できません。 理由の分かる方、どなたか教えていただきますよう宜しくお願い致します。

  • エクセルによる文字とゼロが入ったセルの合計

    宜しくお願い致します。 下記のように「0」と文字が混在混在して 入ってます。     列     A  B   C   D(合計) 行  0   0   0   0・・・D1(=SUM(A1:C1))     -   -   -   0・・・D2(=SUM(A2:C2))     0   0   -   0    セルD1とD2ともに、sum関数で合計を出すと 「0」が出てしまいます。 私としては、 D2を「-」と表示したいのですが、 どのように計算したらよいでしょうか? 宜しくお願い致します。  

  • エクセル★マイナスの場合はゼロにしたい

    こんにちわ。 エクセルなんですが・・・ こんなことは可能でしょうか? できれば少ないセル数で以下のことをやりたいと思っていますが、どうしてもセル数を多くして値をどこかに格納しておいて、計算するしかなくなってしまいます(゜∀Å) 何かいい手がありましたら教えてくださいM(__)M A10の値からB10の値を引いた値をA10に入れたいと思ってます。但し、マイナスになる場合はゼロとして扱いたいのです。A-BをAにいれる・・・というのは循環してるので無理・・・(笑)ですよね。(でも本当はこれができればベストです!!!><) なのでA-BをCにいれる・・という形でもおっけいなのです。問題なのは「マイナスの場合は0」ということなのですが・・・ <試行1> セルCの入力規則で「0以上」と指定してみましたが、文字が赤くなるだけで、「文字が赤くなったら(マイナスになったら)0をCにいれる・・・」という判断をくだすことができません。これを判断する関数とかがあるのでしょうか? <試行2> A-BをDに格納し、Dが0以上ならDの値をCに入れ、0未満なら0をCにいれる・・・ これならできるのですが、セル数が増えるので、もっと簡単にできるんじゃないかな・・・・と思いました 宜しくお願いいたしますM(__)M

  • Excel ある条件で大量のデータを計算するには

    Excelで、縦は500行からそれ以上あるデータを下記の条件で計算を行いたいのですが、どのようにしたら宜しいでしょうか。 大量のデータであっても、簡単に計算が可能な方法をご教授頂けると有難いです。 1)A+Bでマイナス200で計算されたセル(Bが-200のセル)は、ここで完了するので、C'とD'とFでは計算しません。 2)Bが0で尚且つCが-200以下のセルのみ、A+Cで計算し、ここで完了するので、D'とFでは計算しません。 3)上記1)2)でマイナスされず、Dに-200の数値が入っているもののみ、A+Dで計算し、ここで完了するので、Fでは計算しません。 4)上記1) 2) 3)でマイナスされなかったセルのみ、FでE-Aの値を計算します(B’, C’, D’の数値は特に残す必要がなくFの結果だけ分かれば良いです)。Fでは、上記 1) 3)でマイナスされた場合-200の数値、また上記 2)でマイナスされた場合その数値(例えば-300、-500など)をセルに表示させる必要があります。 ※ BとDは、0か-200の値が入っています ※ Cは全て0かマイナスの値ですが、様々な数字が入っています ※ Eにも様々な値が入っています ※ B,C,Dには既に計算式が入っています 分かりづらく申し訳ありません。 具体的には、このように計算を行いたいです。  A    B   B’   C   C’    D   D’   E    F 15750 ー200 15550 ー450 15550  ー200 15550 15600 ー200 15680    0 15680 ー200 15480  ー200 15480 15550 ー200 15550 ー200 15350  ー30 15350    0 15350 15480 ー200 15460   0 15460  ー300 15160 ー200 15160 15260 ー300 15380 ー200 15180 ー130 15180 ー200 15180 15300 ー200 15550   0 15550 ー500 15050 ー200 15050 15000 ー500 15540   0 15540  ー20 15540 ー200 15340 15550 ー200 15530   0 15530  ー10 15530   0  15530 15630 100 15620   0 15620  ー80 15620   0  15620 15600 ー20 B’(上記1)の条件) C’(上記2)の条件) D’(上記3)の条件) F (上記4)の条件) Windows 8.1でして、Excelのバージョンは2013です。 大変申し訳ございませんが、解り易いご回答をお待ちしております。 どうぞ宜しくお願い申し上げます。

  • Excelの時刻の計算(マイナス表示)

    時刻のセルでひき算をし、マイナス表示も出したいのですが。。 例えば A1に [2002/5/9 7:00] B1に [2002/5/9 8:00] とあって C1に [B1-A1] と計算式を入力すると [1900/1/0 1:00]となり、表示形式を[h:mm]にすると[1:00]とできますよね。 このときに B1に [2002/5/9/6:00] とあるとC1には[##########]となってしまうのですが、 6:00-7:00なので [-1:00]と表示させることはできないでしょうか。 できればAとBの値そのものは変えたくないのですが。。。お願いします

  • Excelについて

    Excelについて質問です。 例えば =SUM(A1:D1)の値をE1に出すという場合 A1+B1+C1+D1=E1 になると思うのですが C1をE1から引きたい場合はC1の数値に-を入れる以外に なにか方法は無いでしょうか。 例えばCの列に入力する数字には自動的に頭に「-」がついたり C列は最初からマイナスとして認識させるような・・・。 初心者丸出しの質問で申し訳ないです・・・。

  • ExcelでのINDIRECT関数の使い方について

    Excelの関数についてお伺いしたいと思います。現在、図のような表があり、A2, C2, E2を合計したいと思っております。条件として; 1) 列を頻繁に挿入するものの、常にA2, C2, E2を合計したい(セルがずれてしまっては困る) 2) B列やD列には他の数値が入るため(列が連続しない)、A2:E2ということができない これを解決するためにA8に"A2,C2,E2"と入力し、A9に=SUM(INDIRECT(A8)と記入したのですが、#REF!というエラーになってしまいます。この場合、どのようにIndirect関数を使えばよいのでしょうか。またそもそもIndirect以外の有効な関数を使うべきなのでしょうか。教えていただきたく、よろしくお願い致します。

専門家に質問してみよう