• 締切済み

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)))))))))))) また後学のため、なぜエラーになるのか教えていただければ幸いです。 どうぞよろしくお願いいたします。

みんなの回答

  • 11zep
  • ベストアンサー率36% (48/133)
回答No.5

No1です。 Excel2007では")"を1つはずせばエラーが出ませんでした。 他の方の書き込みをみてExcel2003で試したところエラーになりました。 バージョンの違いで今回のエラーの出方が違うようです。 失礼しました。

全文を見る
すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

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)
回答No.3

>")"をひとつはずしてみたのですが、同じエラーがでてしまい。。 他に何か考えられる可能性ありましたら、教えていただけないでしょうか。 提示された数式でエラーが出るのは、すでに回答があるように最後のカッコが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% (6665/9449)
回答No.2

if文は8個までしかネスト出来ません。 ざっと見たところ、12個あるので多すぎます。 規則性のあるところを計算式に置換する手があります。 =IF(C23< 100000000,0, IF(C23< 200000000,0.01, IF(C23>=1100000000,0.02, 0.01+(C23/100000000000-0.002) ))) ※実際には1行で書いてください あるいは、こういう物はテーブルを作っておき、vlookupを使うものでしょう。 (画像参照)

全文を見る
すると、全ての回答が全文表示されます。
  • 11zep
  • ベストアンサー率36% (48/133)
回答No.1

最後の")"が1つ多いのでエラーになっています。 理由は、")"で閉じないと文法エラーになるから?ですかね?

sun3happy
質問者

補足

こんにちは。お世話になります。ご回答ありがとうございます。 ")"をひとつはずしてみたのですが、同じエラーがでてしまい。。 他に何か考えられる可能性ありましたら、教えていただけないでしょうか。 どうぞよろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルIF関数(「#DIV/0!」表示)について

    エクセルを使っていて、「#DIV/0! 」 と表示される部分があり解決方法を調べてみたところ、 「DIV」は「divisor:除数(割る数)」の略であり、数字は「ゼロ(0)」では割れないために出たエラーだと知りました。 (参考URL:http://www.724685.com/weekly/qa090819.htm) 上のサイトには、「除数がゼロ、つまり計算結果が「#DIV/0!」のときは、別の表示に(たとえば空欄に)する条件式(IF文)を使えばいい」とあったのでIF関数式をあてはめたところ、一部分は「#DIV/0! 」表示でなく「0」表示にすることができました。 ただ、その IF関数を入力したセル(セルC1と仮定)を参照して新たな関数式を作ったとき、値を出すセルがまた「#DIV/0! 」となってしまいます。 最初に入力した式→ =IF(A1=0,"0",B1/A1) 次に入力した式→ =IF(C1=0,"0",100/C1/100*1000/10000) C1のセルを手入力で「0」と入力すると「#DIV/0! 」 表示にはなりませんでした。 これは、式を入力したセルを新たな計算式には反映できないということなのでしょうか? 「0」と手入力すると最初の式も消えてしまい、なおかつ手間なので何か解決方法はありませんでしょうか。 つたない説明ですが、どなたかアドバイス頂ければ嬉しいです。

  • エクセルのIF式

    エクセルのIF式について教えてください。 =IF(A1=B1=C1,"OK","ERROR") という式で、A1、B1、C1に同じ値が入っていても「ERROR」が表示されます。 IF式の条件の部分には「=」を3つ以上入れていけないという法則か何かあるのでしょうか。 できれば参考URLと共に教えていただけると助かります。

  • IF式で結果が表示されないのですが

    sheet1のE86:AN86まで左から4月、5月・・・12月、1月・3月、とデータを入れていき、合計が入っていて、データがはいってないと0となっています。 sheet2のC2には下記の式(1)が入っていて、4月から11月までデータが入っていれば、0が3以下ではなく4ですので16-4で12月が表示され、4月から12月までデータが入っていれば0は3つなので4-3=1となり、1月が表示されます。 (1)=JIS(IF(COUNTIF(sheet1!E86:AN86,"=0")<=3,4-COUNTIF(sheet1!E86:AN86,"=0"),16-COUNTIF(sheet1!E86:AN86,"=0"))) sheet2のその下の方にデータが入ってくるセルには下記の式が入っています。 (2)=IFERROR(IF(C$2<=3,VLOOKUP(H8,sheet1!C6:AN6,(C$2-5)*3+41,FALSE),VLOOKUP(H8,sheet1!C6:AN6,(C$2-5)*3+5,FALSE)),"") (1)が4月から12月までは(2)に表示するのですが(4月から11月までのデータ分) (1)が1月からは(2)が表示されません。 (1)に1と入力すれば(2)は表示されますがIF式で1になると(2)は表示されないのです。 ややこしくてすみませんが、宜しくお願いします。

  • エクセルのIF関数について

    エクセルの数式でIFを使って、下記のような複数の条件の時に、それぞれの計算結果を算出する式を作りましたが、単純に条件を並べただけで(IFとAND使用)、式が長くなってしまいます。これを短く出来る式の方法はありますでしょうか?(他の関数を使用する方法など)また、エクセルの関数の数式を応用編まで詳しく調べられるサイトをご存知でしたら教えてください。 (条件の例)R1への式入力 (1)A1がに"A"か"B"かを入力 (2)A1がAで、B2の値がC3以下の時、R1には8、C3より大きい場合は、B2-C3の値を表示 (3)A1がBで、B2の値がC3以下の時、R1には5、C3より大きい場合は、(B2-C3)/2の値を表示 といった条件を満たすものが作成したいです。 ちなみに私が作成した式は、 =IF(AND(A1=A,B2<=C3),8),IF(AND(A1=A,B2>C3),B2-C3,・・・・)って感じです。こんな方法しか無いでしょうか?

  • IFの関数について教えてください

    エクセルでIFの関数についてですが、倫理式に時間を入れたいのですがどのように入力をすればよいでしょうか?=IF(b2<8:00"○""×")のようにしたいのですが・・・・宜しくお願いします。

  • エクセル IF関数で質問です。

    エクセル IF関数で質問です。 教えてください。下記の式はどういう意味ですか? =IF(I38=0,"",SUM(C38:I38)/$B$38) なかなかIF関数が覚えられません。簡単に理解できる方法はありませんか? IFを入力するときにみなさんはどうイメージしてますか? アドバイスください。

  • 時間を入力しないと結果を表示させない

    エクセル2003で作成中です。 時間を入力すると、「昼間」「夜間」と表示させるようにしましたが、時間を入力していないのに「夜間」と表示されてしまいます。計算は、 =IF(AND(C1〈1,C1〉=0),IF(AND(C1〉=7.5/24,C1〈17.5/24),"昼間","夜間"), "") の式が入っており、W1に結果を表示させ、W1の式をW2からW50までコピーした所、C2に時間を入力していないのにW2からW50まで「夜間」と表示されてしまいます。ちなみに、 =IF(C1= " "," ",・・・)を数式の最後に追加しましたが時間が空白の行の結果は「夜間」と表示されてしまいます。 時間を入力した場合だけ「夜間」「昼間」というような答えを表示させ、入力していない場合は何も表示しないようにしたいです。 ここまでたどり着くまで色々教えていただいてやっとのところです。 なんとかお助けください。 宜しくお願いします!

  • =IF((L75>1.9)*AND(L75<=2),1,0)の*はないといけないのでしょうか?

    L75が1.91のとき、L75が1.9以上かつ2以下のとき、真なら1を、偽なら0を出す式を書きました。 =IF((L75>1.9)AND(L75<=2),1,0) こう入力するとエラーが出て*をつけるよう聞いてきます。 すなわち、エクセルの修正後は =IF((L75>1.9)*AND(L75<=2),1,0) 結果は1(真)になりました。 というものです。 ところで、*は必要ですか?ないといけないのでしょうか? そして、*があっても同じ結果となるのでしょうか? *は掛け算しかわからず、よろしくお願いします。

  • エクセル関数について(IF関数)

    エクセルの関数について教えて下さい。 セルに1と入力した場合Aと出てきて、2と入力した場合B、3と入力した場合Cとなるような計算式を入れたいのですが、どのような式を入れればよろしいのでしょうか? 別のシートから呼び出す(?)というような方法でもいいのですが、どんな式を入れればよいのか、全く分かりません。 自分で調べてみた結果、IF関数を用いるということは解りました。 『IF(A1="1","A",IF(A1="2","B",IF(A1="3","C")))』 上記のような式を入れてみて、実際に実践してみたところ、結果としては入力した数字が表示されるだけで、計算式は消えてしまいました。 どうしたらいいのか解りません。 素人故に恥ずかしい質問ですが、お知恵を貸して下さい。 よろしくお願いします。

  • エクセルでIF関数で表示した集計方法

    エクセルで条件式=IF(AND(C7<>"",D7=""),"1","")と言うものをK7に表示しています。 このK7を抽出して集計しようとフィルタをかけて下の方に =SUBTOTAL(9,K5:K30) と入れましたが 計算してくれません。 if関数で入力した数値を集計する方法はありますでしょうか? ご教授よろしくお願いします。

地方の財政赤字問題とは?
このQ&Aのポイント
  • 大阪や京都といった地方の財政赤字が問題視されています。国の財政赤字と同じく、地方の財政赤字も国民の資産の増加を表しているのでは?
  • 国の財政赤字は問題ではないと言われていますが、なぜ地方の財政赤字は問題なのでしょうか?地方の財政赤字も国民の借金ではなく、資産を表していると考えるべきです。
  • 地方の財政赤字が問題視されている不思議。国の財政赤字が問題ではないのに、なぜ地方の財政赤字は問題視されるのでしょうか?地方の財政赤字も国民の資産の増加を意味していると言えます。
回答を見る

専門家に質問してみよう