- ベストアンサー
エクセル 計算式を教えて下さい
C2セルの文字で計算する式を作りましたが、うまくいきません。 何が問題なのか詳しい方教えて下さい。 =IF(OR(C2="VVV",C2="III"),"(MAX(ABS(AU2)*1.2,(ABS(AU2)+ABS(BM2))*0.84,ABS(R2)*0.5)))",IF(C2="SSS","(MAX(ABS(AU2),(ABS(AU2)+ABS(BM2))*0.84),(ABS(R2)*0.5)))",0))
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No1です。 よく見たらOR(C2="VVV",C2="III")の場合と、C2="SSS"の場合では、ABS(AU2)に1.2をかけるかどうかだけの違いのようですね。だったら =IF(OR(C2="VVV",C2="III",C2="SSS"),MAX(ABS(AU2)*(IF(C2="SSS",1,1.2)),(ABS(AU2)+ABS(BM2))*0.84,ABS(R2)*0.5),0) の方が短くていいんじゃないですか?
その他の回答 (3)
- norisenbei
- ベストアンサー率13% (10/76)
カッコのとダブルコーテーションの使い方がまずいんではないかと 思います。 "(MAX(ABS(AU2)*1.2,(ABS(AU2)+ABS(BM2))*0.84,ABS(R2)*0.5)))" ダブルコーテーションでくくってあるのでエラーにはなりませんが ここだけ見てもカッコの数違いますから・・・ 複数条件分離があるような式は 1つずつ確認してから組み合わせたほうがいいですよ。
お礼
ありがとうございます。 カッコもっと注意深く見るべきでした。
- n-jun
- ベストアンサー率33% (959/2873)
>,"(MAX(ABS(AU2)*1.2,(ABS(AU2)+ABS(BM2))*0.84,ABS(R2)*0.5)))", ""で囲ってしまうと数式ではなく文字列になってしまうんでは? ,(MAX(ABS(AU2)*1.2,(ABS(AU2)+ABS(BM2))*0.84,ABS(R2)*0.5))), 数式の内容は見てないですが、こうではないのかな。
お礼
ありがとうございました。 ゼロがなかったのを参考にさせていただきました。
- merlionXX
- ベストアンサー率48% (1930/4007)
何が問題?式が問題です。 やりたいことがよくわかりませんが、式の文法的な誤りを修正するとこういう感じになります。 ただ。これがあなたの望む結果かどうかはあなたの条件が書いてないのでこちらではなどうなればうまくいったことになるのかわかりませんね。 =IF(OR(C2="VVV",C2="III"),MAX(ABS(AU2)*1.2,(ABS(AU2)+ABS(BM2))*0.84,ABS(R2)*0.5),IF(C2="SSS",MAX(ABS(AU2),(ABS(AU2)+ABS(BM2))*0.84,ABS(R2)*0.5),0))
お礼
ありがとうございました。 最後のゼロを消すとうまくいきました。 しかし、該当しない場合は、ちゃんとゼロが表示されました。
お礼
ありがとうございます。 おかげで助かりました。