• ベストアンサー

Excel2003if関数の入れ子の制限 7以下

Excel2007の =IF(D5="","",IF(R5>=90,10,IF(R5>=85,9,IF(R5>=80,8,IF(R5>=70,7,IF(R5>=60,6,IF(R5>=50,5,IF(R5>=40,4,IF(R5>=30,3,IF(R5>=20,2,1)))))))))) という式を、Excel2003の形式で保存したいです。 参照させたりして、セルを2つ以上使えばできますでしょうか。 でもどんな形式にすればいいのか、さっぱりピンときません。 それとも同じ結果が得られるもっと簡単な関数があればそれでもかまいません。 よろしくお願いします。

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

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.6

こんなことも、 =IF(R5>=90,10,IF(R5>=85,9,IF(R5>=80,8,IF(R5>=70,7,""))))&IF(R5>=70,"",IF(R5>=60,6,IF(R5>=50,5,IF(R5>=40,4,IF(R5>=30,3,IF(R5>=20,2,1)))))) 元の式に一番近い。

mori-zo
質問者

お礼

ありがとうございます。 そうですね。わかりやすいです。

その他の回答 (5)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! すでに色々回答が出ていて、重複するかと思いますが・・・ ↓の画像のように表を作成しておく方法です。 (この場合、いくら区分が増えても対応できます) 必要なのは、F列とI列だけなのですが、判りやすくするためにG・H列も作ってみました。 A2セルに表示させるとします。 A2セルの数式は =IF(D5="","",INDEX(I2:I11,MATCH(R5,F2:F11,1))) としています。 尚、同じ表を利用するのであれば、 =IF(D5="","",VLOOKUP(R5,F2:I11,4,1)) という数式でも同じ結果が得られると思います。 以上、参考になれば幸いです。m(__)m

mori-zo
質問者

お礼

ありがとうございます。 VLOOKUPは覚えたほうがいいとまわりからも言われていたのですが、どういうときに使うと良いのか分かっておりませんでした。 この機会に活用します。

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.4

10以下も1なら =IF(D5="","",IF(R5>=90,10,IF(R5>=85,9,IF(R5<=10,1,INT(R5/10)))))

mori-zo
質問者

お礼

ありがとうございます。 80なら8、70なら7・・・というのがINT関数で表現されているのですね。 このまま貼り付ければ、対応表を作らなくても良いので、都合がよさそうです。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

◆これでいかがでしょう =IF(D5="","",IF(R5<20,1,IF(R5>=90,10,IF(R5>=85,9,INT(R5/10)))))

mori-zo
質問者

お礼

ありがとうございます。 80なら8、70なら7・・・というのがINT関数で表現されているのですね。 このまま貼り付ければ、対応表を作らなくても良いので、都合がよさそうです。

回答No.2

添付図 ちょっと失敗したのでもう一回。ちなみに LOOKUP関数ではなくてもVLOOKUP関数やMATCH関数でも可能です

mori-zo
質問者

お礼

ありがとうございます。 VLOOKUPは覚えたほうがいいとまわりからも言われていたのですが、どういうときに使うと良いのか分かっておりませんでした。 この機会に活用します。

回答No.1

>参照させたりして、セルを2つ以上使えばできますでしょうか。 できます。 しかし、手際が悪いという個か効率が悪いというか・・・ 普通は対応表を作るのではないでしょうか? =IF(D5="","",IF(R5<20,1,LOOKUP(R5,B2:C10))) 添付図参照 対応表の代わりなら配列定数を代用します =IF(D5="","",IF(R5<20,1,LOOKUP(R5,{20,30,40,50,60,70,80,85,90},{2,3,4,5,6,7,8,9,10}))) など

この投稿のマルチメディアは削除されているためご覧いただけません。

関連するQ&A

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

    A1セルが「空」か「A」なら「空」 そうでなければ「ああああ」という結果を期待してB1セルに =IF(A1="","",IF(A1="A"="","ああああ")) という式で入れました。 ところが結果は「FALSE」となります。 なぜでしょうか? ちなみに期待した結果はIFとORの組み合わせで得られましたが、なぜIFのネストがFALSEになったのが気になって寝られません。助けてください。

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

    こんにちはエクセルIF関数の入れ子について 労働力1000以上     ***     500以上1000未満  **     500未満        * と表示しようと思い、セルに =IF(D4>=IF(D4>=500,"**","*")=1000,"***")  ※D4は労働力の数値 と入力したらFALSEが表示されました。 入れ子をしなければ表示が正常にされるのですが 入れ子をするとFALSEになります。 原因がわからないので教えてください。

  • IF関数とVLOOKUP関数を使って以上以下を検索させるには?

    EXCEL2000使用しております。IF関数を使って数式を作っております。 値が10以上15以下なら特定のテーブルからVLOOKUPで数字を抽出、 そうでなければ別のセルを参照し計算する数式を作りたいのですが、 ifの後、○以上○以下を一度に表示するにはどうしたらよいかわかりません。 どうかよろしくお願いいたします。

  • Excel関数IFの循環参照について

    お世話になります。 IF関数で、c1のセルに =IF(a1>=90,b1-1,(IF(a1>=80,b1-2,b1-3))) という式を作りました。 b1の値によって、c1は -1 等になりますが、c1の最低値は 0 にしたいのです。 e1 に、この結果を表示し、c1 は e1 を参照すれば可能ですが、外の方法は無いでしょうか?

  • IF関数 どうか教えてください。

    IF関数の式を教えてください。 関数に関しては素人でまったくわかりません。 0は0、1~3は1、4以上は2にしたいのです   IF(セル番号<=3,1,2) 上記の式を考えたのですが0も1となります 0を0とするにはどうしたらいいのでしょうか? ごぞんじの方よろしくお願いします。

  • EXCEL2002で、IF関数を使用した場合

     例えば、F1=D1/B3 の値(計算結果)が、1.00855 となった場合、  このF1セルに、IF関数を使用して、(D1/B3)>1 以上(⇒実際、1.00855がこれに当てはまる)なら、-1を引いて、本来、1.00855 と表示されるところを、0.00855としたうえで、%表示に変え、最終的には0.855%と表示させたい。  また、"逆も然り"で、逆に、(D1/B3)<1 以下として、0.9876なら、この0.9876の値を、1から引いて、そのまま、0.0124と表示させ、「セルの書式設定」により、%表示で、1.24%と表示させようと考えています。  いわゆる、良くあるタイプの、セル同士を"分数比較"して、"対比の関係"を"%表示"したい。ということなのですが、ヘルプを良く見て、ウィザードによりIF関数を使用するのですが、他の"情報・論理関数"を使用しても、何度もエラーが出てしまい、出来ません。  ISNUMBERなど、IS関数の様々なタイプを使用してみても、ダメです。私のような場合に、最も適した関数を使用して、関数式を導き出してもらえないでしょうか?

  • if関数とAND関数の使い方

    エクセルのif関数とANDをつかって複数条件を設定したいのですが、上手く行かずに困っています。 D13のセルの値が以下の場合 29以下なら”1” 30以上34以下なら”2” 35以上39以下なら”3" 40以上44以下なら"4" 45以上なら"5" そこで、次のように式を作ってみたのですが、 「この関数に対して多すぎる引用が入力されています。」とエラーがでてしまいます。 どなたか、お詳しい方、教えていただけたら幸いです。 お願い致します。 =IF(IF(D13<=45,"5"),AND(D13>=40,D13<=44),"4",IF(AND(D13>=35,D13<39),"3",IF(AND(D13>=30,D13<34),"2",IF(D13>=29,"1")))))

  • Excel関数について

    if関数をいれて、参照元が空白なら空白とし、 参照元に数値が入っていれば前年度比を出すようにしたいです。 参照元が空白であるのに、数値が返ってくるため、 ご質問させていただきます🙇🏻‍♀️ まず、シートの構成は以下の通りとなっています。 ・年度ごとに分けた売上集計表と前年度比を出したいシートがあります。 ①シート名:2022年度 ②シート名:2021年度 ③シート名:前年度比 ・フォーマットは全て同じの為、前年度比を出すための参照したいセルはそれぞれシートは別ですが、同じセルとなります。 また、前年度比を出したいセルも同じセルです。 ・前年度比を出すためのシートは、年度を可変とするため、シート名をR1セルとR2セルへ入れるようにしています。 R1セル:前年度のシート名を入力 R2セル:今年度のシート名を入力 そこで、シート①のD6セルに売上を入力したら、 シート③のD6セルへ前年度比を表示させたく、 以下の数式を入力しましたが、参照元が空白であるのに、 数値が返ってきてしまいました。 =if("'"&$R$2&"'!D"&ROW(D6)="","",INDIRECT("'"& R$2&"'!D"&ROW(D6)-INDIRECT("'"& R$1&"'!D"&ROW(D6)),"") 数式の誤っている点や対処策等ご教示いただければ幸いです! よろしくお願いいたします。

  • IF関数のネスト

    IF関数のネストについての質問です。 例えば、D1のセルに日付が入力してあり、 A4のセルの日付の月がD1の月と同じならば、 「今月」違うなら「エラー」と表示させたいのですが、 数式は解るのです。↓ =IF(MONTH($D$1)=MONTH(A4),"今月","エラー") ですが入力のしかたが解らないのです。 まず、fxの関数の挿入からIFを選択、論理式の部分に、 fxの左にある下矢印からMONTHを選択、 シリアル値はD1を絶対参照。 このあとがどうしていいのか解らないのです。 どなたか教えてください。 宜しくお願いします。

  • if関数の入れ子の制限で助けていただきたい。

     ゴルフのスコアー表を作っています。各々のメンバーのスコアーを算出し、ランキングを作成したのですが、順位がばらばらになってのランキングされます。そこで1位○●さん2位○△さん・・・最下位○×さんと並べ替えるのにIF関数を使いました。が、入れ子の数がオーバーしてしまい、並べかえられませ。スコアー表は50名分までエントリーできるようにしてあり、A列が会員ナンバーB列が氏名・・・J列が順位。 L列に1位からの並べかえた数字を入れてあり、それを参照するIF関数を=IF(J3=1,B3,if(j4=1,b4,if(j5=1,b5,if(j6=1,b6,if(j7=1,b7,if(j8=1,b8,if(j9=1,b9,if(j10=1,b10,if(j11=1,b11,if(j12=1,b12,if(j13=1,b13,"")・・・・・””)))))))))))))) としようと思ったのですが、どうやら入れ子は7つまでが限界らしいので困り果てました。 どうぞ、お助け下さい。 現在エクセル2000使用。 IPHONEのDocmento To Goで最終的に使いたいと思ってます。

専門家に質問してみよう