電子書籍の厳選無料作品が豊富!

教えてください。

A1~C1にそれぞれ数値が入力されています。
A1…300 
B1…200
C1…200

D1に600と入力したら、
A1から300
B1から200
C1から100を引いて

A2に0
B2に0
C2に100と表示したいです。
(A1⇒B1⇒C1が優先順位です)

D1の数値が400の場合は
A2に0
B2に100
C2に100と表示したいです。
 

どうすればよいですか?

質問者からの補足コメント

  • うーん・・・

    逆の場合はどうすればよいですか?
    A2に300
    B2に200
    C2に100と表示したいです。
    (A1⇒B1⇒C1が優先順位です)

    D1の数値が400の場合は
    A2に300
    B2に100
    C2に0と表示したいです。

    すみません。
    よろしくお願いします。

      補足日時:2017/06/29 18:19

A 回答 (3件)

同じように応用ですw



A2=if(A1<D1,A1,A1-D1)
B2=if(A1=A2,if(B1<(D1-A1),B1,B1-(D1-A1)),0)
C2=if(B1=B2,if(C1<(D1-A1-B1),C1,C1-(D1-A1-B1)),0)
    • good
    • 0
この回答へのお礼

ありがとう

ありがとうございます。

お礼日時:2017/06/30 09:48

>D1の数値が400の場合は


>A2に0
>B2に100
>C2に100と表示したいです。

C2が200の誤りであれば、

A2
 =MAX(A1-D1,0)
B2
 =MAX(A1+B1-D1,0)
C2
 =MIN( MAX(A1+B1+C1-D1,0) ,C1)

など。
やり方はいろいろあります。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2017/06/29 18:26

D1の数値が400の場合のC2は200じゃないですか?


これでいかがでしょうか^^

A2=if(A1>D1,A1-D1,0)
B2=if(A2=0,if(B1>(D1-A1),B1-(D1-A1),0),B1)
C2=if(B2=0,if(C1>(D1-A1-B1),C1-(D1-A1-B1),0),C1)
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2017/06/29 18:26

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