- 締切済み
IF構文で、「正しくありません」が表示されます
エクセル初心者です。 考えて、下記のような式を入力したのですが、どうしても「入力した式が正しくありません」と表示されて、入力できません。。 どこが間違っているのか、もう1時間ほど悩んでいるのですが、全く思いつきません。。。 どこが間違っているのか、どのように修正すればよいのか、ご指摘いただけないでしょうか。 =IF(C23<100000000,0,IF(C23<200000000,0.01,IF(C23<300000000,0.011,IF(C23<400000000,0.012,IF(C23<500000000,0.013,IF(C23<600000000,0.014,if(C23<700000000,0.015,if(C23<800000000,0.016,IF(C23<900000000,0.017,IF(C23<1000000000,0.018,IF(C23<1100000000,0.019,0.02)))))))))))) また後学のため、なぜエラーになるのか教えていただければ幸いです。 どうぞよろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- 11zep
- ベストアンサー率36% (48/133)
No1です。 Excel2007では")"を1つはずせばエラーが出ませんでした。 他の方の書き込みをみてExcel2003で試したところエラーになりました。 バージョンの違いで今回のエラーの出方が違うようです。 失礼しました。
- mu2011
- ベストアンサー率38% (1910/4994)
IF関数のネストは8個までなのでエラーです。 一例です。 =LOOKUP(INT(C23/10^8),{0,1,2,3,4,5,6,7,8,9,10,11},{0,0.01,0.011,0.012,0.013,0.014,0.015,0.016,0.017,0.018,0.019,0.02})
- MackyNo1
- ベストアンサー率53% (1521/2850)
>")"をひとつはずしてみたのですが、同じエラーがでてしまい。。 他に何か考えられる可能性ありましたら、教えていただけないでしょうか。 提示された数式でエラーが出るのは、すでに回答があるように最後のカッコが1つ多いためですが、最後のカッコを外してもエラーが出るなら、ご使用のエクセルのバージョンが2007よりも前のバージョンではないでしょうか? この場合は、数式のネストの制限にかかりますので(7レベルまで)数式に工夫が必要となります。 今回のケースでしたらLOOKUP関数で配列定数を使用した以下のような数式にするのがお勧めです。 =LOOKUP(C23,{0,100000000,200000000,300000000,400000000,500000000,600000000,700000000,800000000,900000000,1000000000,1100000000},{0,0.01,0.011,0.012,0.013,0.014,0.015,0.016,0.017,0.018,0.019,0.02})
- asciiz
- ベストアンサー率70% (6803/9674)
- 11zep
- ベストアンサー率36% (48/133)
最後の")"が1つ多いのでエラーになっています。 理由は、")"で閉じないと文法エラーになるから?ですかね?
補足
こんにちは。お世話になります。ご回答ありがとうございます。 ")"をひとつはずしてみたのですが、同じエラーがでてしまい。。 他に何か考えられる可能性ありましたら、教えていただけないでしょうか。 どうぞよろしくお願いいたします。