• ベストアンサー

エクセル 計算式を教えて下さい

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

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.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) の方が短くていいんじゃないですか?

beakichi
質問者

お礼

ありがとうございます。 おかげで助かりました。

その他の回答 (3)

回答No.3

カッコのとダブルコーテーションの使い方がまずいんではないかと 思います。 "(MAX(ABS(AU2)*1.2,(ABS(AU2)+ABS(BM2))*0.84,ABS(R2)*0.5)))" ダブルコーテーションでくくってあるのでエラーにはなりませんが ここだけ見てもカッコの数違いますから・・・ 複数条件分離があるような式は 1つずつ確認してから組み合わせたほうがいいですよ。

beakichi
質問者

お礼

ありがとうございます。 カッコもっと注意深く見るべきでした。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

>,"(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))), 数式の内容は見てないですが、こうではないのかな。

beakichi
質問者

お礼

ありがとうございました。 ゼロがなかったのを参考にさせていただきました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

何が問題?式が問題です。 やりたいことがよくわかりませんが、式の文法的な誤りを修正するとこういう感じになります。 ただ。これがあなたの望む結果かどうかはあなたの条件が書いてないのでこちらではなどうなればうまくいったことになるのかわかりませんね。 =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))

beakichi
質問者

お礼

ありがとうございました。 最後のゼロを消すとうまくいきました。 しかし、該当しない場合は、ちゃんとゼロが表示されました。

関連するQ&A