- ベストアンサー
条件式で差額
A B C D 1 2 1000 といった状態に、 B2に(B1に入力があればA2の3%の結果を、無ければ0を)の式を =IF(B1="","0",A2*0.03) C2に(C1に入力があればA2の10%の結果を、ただしB2に値が有ればその差額を、無ければ0を)の式を =IF(C1="","0",A2*0.1)-IF(B1="",0,B2) D2に(D1に入力があればA2の12%の結果を、ただしB2またはc2のどちらかに値が有ればその差額を、無ければ0を)の式を =IF(D1="","0",A2*0.12)-IF(B1="",0,B2)-IF(C1="",0,C2) と表記すると例えばB1とD1に入力があればB2=30,D2=90で結果は問題ないのですがC2に(-30)と表示され、同様にB1のみ入力だとC2:D2に(-30)と表示されて困ってます。 この(-30)の表示をさせない正しい条件式が見当もつかず今回投稿させてもらいました。どうか皆さんご助力お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
外していたらごめんなさい、こういう事ですか? (C1に入力があればA2の10%の結果を、ただしB2に値が有ればその差額を、無ければ0を) ↓ C1に入力がなければ0、あればA2の10%-B2 C2セル:=IF(C1="",0,A2*0.1-B2) D1に入力があればA2の12%の結果を、ただしB2またはc2のどちらかに値が有ればその差額を、無ければ0を ↓ D1に入力がなければ0、あればA2の12%-B2-C2 D2セル:=IF(D1="",0,A2*0.12-B2-C2)
その他の回答 (2)
- n_na_tto
- ベストアンサー率70% (75/107)
D列の計算のルールが正確には伝わってきません。 下の8つの場合すべてに対して 具体的な結果を示してみてはどうでしょうか? __A__B__C__D_ ______○___ 1000__0_100__0_ __A__B__C__D_ ___○__○___ 1000_30__70__0_ __A__B__C__D_ ___○______ 1000_30__0__0_ __A__B__C__D_ __________ 1000__0__0__0_ __A__B__C__D_ ________○_ 1000__0__0_120_ __A__B__C__D_ ___○____○_ 1000_30__0__90_ __A__B__C__D_ ______○__○_ 1000__0_100__20_ __A__B__C__D_ ___○__○__○_ 1000_30__70__20_ もし上のような数値でいいなら B2 =IF(B1="",0,$A2*0.03) C2 =IF(C1="",0,$A2*0.1-B2) D2 =IF(D1="",0,$A2*0.12-MAX((B1<>"")*$A2*0.03,(C1<>"")*$A2*0.1))
お礼
有難うございます。こんなに早く回答していただけるとは思わず暫く席を外してて戻って来たら皆さんから多数の知恵を拝借させていただき恐縮です。 n_na_ttoさん。最終行のMAX((B1<>"")の部分だけ今の私の知識では謎が増えたけどその他の理屈はすぐに理解できたので本当に助かりました。これで先に進めます。有難うございました。
- higekuman
- ベストアンサー率19% (195/979)
ちょっと条件が曖昧なので、正解が解りません。 C2の計算式を考えるときに、 C1に入力があって、B2に値がある場合 C1に入力があって、B2に値がない場合 C1に入力がなくて、B2に値がある場合 C1に入力がなくて、B2に値がない場合 D2の計算式を考えるときに、 D1に入力があって、B2に値があって、C2に値がある場合、 D1に入力があって、B2に値があって、C2に値がない場合、 D1に入力があって、B2に値がなくて、C2に値がある場合、 D1に入力があって、B2に値がなくて、C2に値がない場合、 D1に入力がなくて、B2に値があって、C2に値がある場合、 D1に入力がなくて、B2に値があって、C2に値がない場合、 D1に入力がなくて、B2に値がなくて、C2に値がある場合、 D1に入力がなくて、B2に値がなくて、C2に値がない場合、 の全てのパターンについて、どういう計算式になれば良いのかを、まとめてみましょう。 また、「その差額」とは、何と何の差額なのかもよく解りません。
お礼
有難うございます。こんなに早く回答していただけるとは思わず暫く席を外してて戻って来たら皆さんから多数の知恵を拝借させていただき恐縮です。 higekumanさん。回答していただいた内容がまとめきれず表現不足でお手数おかけしました。higekumanさんの回答内容がまさに質問でした。学がなくご迷惑おかけして大変申し訳ありませんでした。今後の参考にさせていただきます。有難うございました。
お礼
有難うございます。こんなに早く回答していただけるとは思わず暫く席を外してて戻って来たら皆さんから多数の知恵を拝借させていただき恐縮です。 シンプルにまとまり今の私には非常に助かりました。 自分でややこしくして迷宮入りしてて、回答をいただけて理解した時は思わず叫んじゃいました。 モヤモヤが晴れて嬉しかったです。有難うございました。