• ベストアンサー

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

こんにちわ。 エクセルなんですが・・・ こんなことは可能でしょうか? できれば少ないセル数で以下のことをやりたいと思っていますが、どうしてもセル数を多くして値をどこかに格納しておいて、計算するしかなくなってしまいます(゜∀Å) 何かいい手がありましたら教えてください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

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

  • ベストアンサー
  • 78tch
  • ベストアンサー率31% (50/157)
回答No.1

C10に =if(A10-B10)>0,A10-B10,0) では? どうしてもA10に入れたければ、A10の値がどこで決まるかが分からないと分かりませんよ。それによってはできるかも。

pico2pon
質問者

お礼

Σ( ̄□ ̄; が~ん なんでこんな簡単なことに気がつかなかったんでしょう・・・ありがとうございます>< そうですよね・・これでできますよね。 この計算は一部で、この値をほかのセルでもいろいろ使っているので頭が混乱してました・・・。 ええと A10の値はあるセル(AAとします)に手入力する値を、 =IF(AA10>=50,50,AA10) という関数で、MAXの値「50」より多かった場合は50にするように処理して得た値です。 AAが40の場合はA10は40、 AAが60の場合はA10は50になるように している・・・というかんじです。

その他の回答 (7)

回答No.8

No3,5デス 僕の方法で扱ってるのは画面への表示だけですが、その説明デス。 #と0はとりあえず0~9の数字だと思ってください、 #で書いたときはその数がないときは空白になります。 0で書いたときはその数がないときは0で埋められるのです。 ""で囲まれた文は普通に0と書くと↑の0とみなされてしまうので強制的に文字列として扱うように指示してるのです。 小数点第1位まで表記するときは #,##0.0;"0.0" と書けばいいのです 第2位までは #,##0.00;"0.00" です 3桁ずつ,を打たないならば 0.0;"0.0" で動きます A10-B10をC10に代入するは C10セルに =A10-B10 と、表記して C10セルの書式設定を上のように表記すれば、上手くいくはずです、

pico2pon
質問者

お礼

詳しくありがとうございますM(__)M勉強になりました これは表示上の「0」なんですね! 計算が合わないので、なんでだろう?!と思っていたらやはり値はマイナスのままでした(゜∀Å) (C10を、その後計算に使うんです><) でもこのユーザ設定のしかたは全然しらなかったので、とても勉強になりますM(__)M

  • 78tch
  • ベストアンサー率31% (50/157)
回答No.7

おっと、そのまま貼り付けちゃった。 訂正。 =IF(AA10>=50,IF((50-B10)<0,0,50-B10),IF((AA10-B10)<0,0,AA10-B10))

pico2pon
質問者

お礼

何度もありがとうございますM(__)M 今見直したところ、ほかのセルとの計算もからむことから Aじたいに記入するよりも、やはりCにおいておいたほうが便利な(というかわかりやすい)ことに気がつきました この式を使えばかなりすっきりしそうな気がするのですが、Cを使ったものに訂正してしまったので、素人の私がこれからいじるとまたおかしくなりそうなので、78tchさんはじめ、みなさんからもらったアドバイスをもとに作ったものでいこうとおもいます!!!! ありがとうございました~~~(゜∀Å) ほんと感謝です。 値が0にならない・・・というのも私の初歩的ミスで、もう解決しました★彡

  • 78tch
  • ベストアンサー率31% (50/157)
回答No.6

> =IF(AA10>=50,50,AA10) →ならば、 =IF(C8>=50,IF((50-B8)<0,0,50-B8),IF((C8-B8)<0,0,C8-B8)) では?

回答No.5

No3デス ユーザー定義の場所を忘れてました(>_<) ユーザー定義はセル上で右クリックして[セルの書式設定]⇒[表示形式] にあります。

pico2pon
質問者

お礼

ご親切にありがとうございます!! 今試したところ、0;"0"でできました!! 感謝ですM(__)M ですが、 小数点第一位まで表示したいばあいは、どういう定義をすればいんでしょうか?(゜∀Å) 0;"0".0とかやってみたんですができませんでした(笑) #1,2さんの方法でCに値をいれ、#3さんの方法でマイナスを0にして・・・・あとはほかの計算式でAを使っている部分をCにかえる作業をする・・・ これが一番ベストそうですね!

pico2pon
質問者

補足

0.0;"0.0" にしたらできました!><

  • 78tch
  • ベストアンサー率31% (50/157)
回答No.4

表示として0にしたいだけか、データ自体も0で格納したいのかによりますね。どっちですかぁ? PS.括弧不足でした。 C10に =if((A10-B10)>0,A10-B10,0)  →#2さんの方がきれいかな・・・

pico2pon
質問者

お礼

再度書き込みありがとうございます。 値そのものを0扱いにしたいのです。 (データ自体ってことですかね?) PSありがとうございます。 IF関数は使ったことがあるので、括弧不足には気がつきましたので大丈夫でした(^_^)Vご親切にありがとうございます

回答No.3

-の場合は0にしたいときは 1000000のとき i, 1,000,000と表記したいときは ユーザー定義のところに #,##0;"0" と、かくのです ii, 1000000と表記したいときは 0;"0" と、かくのです。 両方ともマイナスのときは0になります。 Aに格納するのは調べてみたいと思います。

pico2pon
質問者

お礼

!!なんか神業ですね! な・・なるほど、こうやるとマイナスのものは0になるんですね~!! 今からやってみようと思います!! わざわざ調べていただき、申し訳ないですM(__)M

  • seiuchi4
  • ベストアンサー率37% (71/189)
回答No.2

C10セルで単純に =if(a10<b10,0,a10-b10) ではいかがでしょうか? a10よりb10が大きい場合(結果がマイナスになるとき)は、0を それ以外なら、a10-b10を実行した結果を といった具合です。 あとはc10セルを適用するセルにコピー&ペーストしていけば 出来ると思いますよ。

pico2pon
質問者

お礼

ありがとうございます! #1のかたのと同じ方法ですよね。 難しく考えすぎてたのか?!思いつかなかったです。 ありがとうございますM(__)M Cのセルにいれるしかなかった場合はこの方法で考えたいと思います!ご丁寧にありがとうございます! PS:ただCのセルにいれる方法だと、Aを使った計算がいくつもあるために、変更しなければいけない計算式が沢山でてきてしまうのが難点なんです~

関連するQ&A

  • エクセルで0から引いた場合には-(マイナス)の表示をしない

    こんにちは。 エクセルでセルA-セルB=セルCと設定をした時に セルAが0であったなら、セルCはマイナスの表示を しない様にしたいのですが、どうすれば良いでしょうか? 例えば 500(セルA)-300(セルB)=200(セルC)ですが セルAが0の場合には、セルCは『0』としたいのです。 よろしくお願い致します。

  • Excelの関数でマイナス値の場合は加算しないように設定する式は?

    Excelの関数でマイナス値の場合は加算しないように設定する式は? Excel(2007)で、 セルB1=A1+B2 という計算で、下の行も同じように設定します。 つまり、   C1=B1+C2   D1=C1+D2    …… 今回の累積値=前回の累積値+今回の値 という式ですが、今回の値がマイナスの場合は、加算(マイナスなので結果として差し引く)ことをしないため、マイナス値の場合は今回の値を加算しない、または0とみなすようにしたいのですが、どのように設定すればよいでしょうか。 プログラムでは条件分岐で2つ目の変数が0未満の場合は0というような処理ができそうですが、Excelでマクロなど使わずに簡単に設定できる方法はないでしょうか。

  • 展開でのマイナスの括り方

    (a-b -c +d)(a+b-c-d)の計算をしているのですが解説には(a-c)二乗-(b-d)二乗と括ると書いてあるのですがなぜ-(b-d)二乗とマイナスで括れるのかがわかりません(汗)なぜ片方はマイナスで括った文字式でもう片方はマイナスでくくられていない文字式なのに前にマイナスをつけて二乗する事でまとめられるのでしょうか・・・ 詳しく教えてください 問題は(4)のものです。

  • 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です。 大変申し訳ございませんが、解り易いご回答をお待ちしております。 どうぞ宜しくお願い申し上げます。

  • エクセルの関数について

    8通りの場合が考えられて その中で該当する答えを入力するようにしたいのですが 私では分かりません。 1つ目 D1セルの値がE1セル値より5枚以下少なく 且つ   G1セルの値の数字がプラスの時 以上の時は 結果Aとする 2つ目 D1セルの値がE1セル値より5枚以上少なく 且つ   G1セルの値の数字がプラス10点以上の時 以上の時は 結果Bとする 3つ目 D1セルの値がE1セル値より少なく 且つ   G1セルの値の数字がマイナス10点以内の時 以上の時は 結果Aとする 4つ目 D1セルの値がE1セル値より少なく 且つ   G1セルの値の数字がマイナス10点以上の時 以上の時は 結果Cとする 5つ目 D1セルの値がE1セル値より多く 且つ   G1セルの値の数字がプラスの時 以上の時は 結果Dとする 6つ目 D1セルの値がE1セル値より5枚以上多く 且つ   G1セルの値の数字がマイナス10点以内の時 以上の時は 結果Eとする 7つ目 D1セルの値がE1セル値より多く 且つ   G1セルの値の数字がマイナス10点以内の時 以上の時は 結果Cとする 8つ目 D1セルの値がE1セル値より多く 且つ   G1セルの値の数字がマイナス10点以上の時 以上の時は 結果Fとする このときに、H1セルに8つの答えの中から該当する物を選び結果AからFを自動的に入れるようにしたいのですが、H1にはどのような関数を入れれば良いでしょうか?

  • EXCELのVLOOKUPで・・・

    はじめまして。 EXCEL初心者の私に教えていただきたいことがあります。 今EXCELで下記のような表を作成しております。         A        B     C     D    1  不良症状   不良数    2   キズ      1    3   異物      1    4   異物      1 例としてC2セルにキズと入力すればD2セルにB2セルの値が 出るようにするにはD2セルに=VLOOKUP(C2,A2:B4,2)で 良いと思うのですが、 異物と入力した時に不良数を合計してD2セルに表示させるには どうすればよろしいでしょうか? また、もっと簡単な方法があれば教えていただきたく思います。 以上よろしくお願いします。

  • 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の値そのものは変えたくないのですが。。。お願いします

  • エクセル マイナスの値を同一セルにプラスに表示させる方法

    エクセルについての質問です。 マイナスの値を同一セルにプラスに表示させる方法がわからないです。 例えば、A1に-2、B1に-3、C1に-4とあるとします。 これをA1に2、B1に3、C1に4としたのですが、どのようにすればよろしいでしょうか? お願いします。

  • Excelでのデータ処理について。

    お世話になります。 データ処理を迅速に行うために試行錯誤しているのですが、 知識が浅く上手くいかないので、皆様のお知恵をお貸し下さい。 下に粗末ではありますが、例として略図を載せます。 セルA1からA100に20から50の値がランダムに値が入っています。 少し離れたところに条件表としてCとDに値を入れます。 そこで、セルA1の値がC列のいづれかと同じだった場合(ここではC2)、 それに隣接するD列の値(ここではD2)をB列に代入する方法は ありますでしょうか? わかりずらい説明で恐縮ですが、ご存知の方いらっしゃいましたら ご教授お願いします。     A  B  C  D  1  21    20  10.2  2  30     21  10.4  3  45     22  10.8  4  32    23  10.9  5  28    24  11.0      ・    ・      ・   50  30.2 100  49

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

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

専門家に質問してみよう