• ベストアンサー

EXCELの数式について教えて下さい

=IF(ISBLANK(H2)," ",IF(H2>1000,3000+6*700+6*(H2-1000),IF(H2>300,3000+7*(H2-300),"3000"))*65%) 上記の数式は正しくありませんか? H2セルに何らかの数値が入っている場合は「IF(H2>1000,3000+6....」以降の計算を行い、その結果が 隣のセル(I2)に出て、空白の場合隣のセルに空白で返す、ということをさせたいのですが、この数式ですとどうしても「#VALUE!」が返ってきてしまいます。 何か良い方法はないでしょうか?

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

  • ベストアンサー
  • baka
  • ベストアンサー率83% (15/18)
回答No.2

H2 の値が文字列の場合に起こり得ます。 " " (半角スペース1文字) であっても同様です。 空白は "" です。式中の " " も "" に 修正されたほうがよろしいでしょう。 なお、空白および文字列両者とも対応させるには 次の式を適用されるとよいでしょう。 =IF(ISNUMBER(H2),IF(H2>1000,3000+6*700+6*(H2-1000),IF(H2>300,3000+7*(H2-300),"3000"))*65%,"")

Youyou
質問者

お礼

ありがとうございました。 目のうろこがとれたようでした。

その他の回答 (1)

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

えっと、手元の環境(Excel2000)でやってみましたが、正しく計算されます。 というわけですので、数式の方には問題は無いと思われます。 しいて言えば、"3000"の部分なんですが、ひょっとしたらExcelのバージョンや設定によっては、"文字列"×数値の計算ができないのかも ってことで、"3000"→3000, 65%→0.65 とすると、動くかもしれません。

関連するQ&A