数式が長すぎる?

このQ&Aのポイント
  • エクセルのIF関数の式を作成しましたが、エラーになります。
  • 式が長すぎるからでしょうか?
  • 解決方法を教えて下さい。
回答を見る
  • ベストアンサー

数式が長すぎる?

エクセルのIF関数の式を作成しましたが、エラーになります。 式が長すぎるからでしょうか? 解決方法を教えて下さい。 =IF(AND($AL2<=159),"061",IF(AND($AL2<=166,$AL2>=160),"062",IF(AND($AL2<=173,$AL2>=167),"0A3",IF(AND($AL2<=180,$AL2>=174),"0A4",IF(AND($AL2<=187,$AL2>=181),"0B5",IF(AND($AL2<=194,$AL2>=188),"0B6",IF(AND($AL2<=201,$AL2>=195),"007",IF(AND($AL2<=208,$AL2>=202),"008",IF(AND($AL2<=215,$AL2>=209),"0D9",IF(AND($AL2<=222,$AL2>=216),"0D10",IF(AND($AL2<=229,$AL2>=223),"0311",IF(AND($AL2<=236,$AL2>=230),"0F12",IF(AND($AL2<=243,$AL2>=237),"0F13",IF(AND($AL2<=250,$AL2>=244),"0114",IF(AND($AL2<=257,$AL2>=251),"0115",IF(AND($AL2<=264,$AL2>=258),"0E16",IF(AND($AL2<=271,$AL2>=265),"0E17",IF(AND($AL2<=278,$AL2>=272),"0218",IF(AND($AL2<=285,$AL2>=279),"0219",IF(AND($AL2<=292,$AL2>=286),"0520",IF(AND($AL2<=299,$AL2>=293),"0521",IF(AND($AL2<=306,$AL2>=300),"0722",IF(AND($AL2>=307),"0723")))))))))))))))))))))))

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

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

こんばんは! 典型的なVlookup関数のTRUE型で対応できます。 ↓の画像のように別Sheet(今回はSheet2)に表を作成しておきます。 (薄い緑色の列だけでOKなのですが、解りやすくするために「未満」の列も表示しています。) Sheet1のB2セルに =IF(B2="","",VLOOKUP(B2,Sheet2!$A$1:$C$24,3,1)) という数式を入れオートフィルで下へコピーすると 画像のような感じになります。 ※ Sheet2に区分け部は適当にやっていますので、実際のデータに合わせてみてください。 参考になりますかね?m(_ _)m

fightman11
質問者

お礼

ありがとうございました。 画像まで付けて頂き、非常に分かり易かったです。 解決しました。

関連するQ&A

  • エクセルのIF関数で数式をつなげたいのですが…

    エクセルのIF関数で A B C D E F 4月5月6月7月8月9月         田中 たとえばF列に名前が入っていれば、その列の月を表示させたいのですが、 =IF(A3<>"","4月","")+IF(B3<>"","5月","")+IF(…+IF(F3<>"""9月","") というような式を入れると#VALUE!と出てきてしまいます! 何か良い方法はないでしょうか? よろしくお願いいたします。

  • エクセル関数=IF(AND())で質問します。

     初めまして、よろしくお願いします。 エクセルで     A    B    C    D    E    F 1   1   10   5   3    4  2            ・ 3            ・ このような表にB1、C1、D1三つの値の内一つでもE1より2倍以上の値がある場合にA1の値を抜き出す関数をF1に入力したいのですが、関数式 =IF(AND((B1)>=E1*2),A1,"") までは解るのですが、B1のみではなく、B1からD1までの範囲をどのようにすればいいのか解りません。  解る方、よろしくお願いします。

  • Excel 他の関数処理で文字列(数)を少なくする方法

    Excel    A  B  C  D  E  F 1      1  2  3  4  5 2  あ  0  0  0  100 100 3  い  20  0  0  200 20 4  う  0  30  0  300 30 5  え  0  0  40  400 40 6  お  20 30  0  500 25 7  か  0  25 35  600 30 8  き  30 0  40  700 35 9  く  20 25 35  800 27 A2 ~ A9 は テスト名称 B2 ~ F9 は 数字 1,2,3 が 0 の場合は 4 の 数字を F2 に 出力 1 or 2 or 3 に 数字が ある場合 平均(小数点以下四捨五入) A2 あ F2=100 A3 い F3=20 A6 お F6=(20+30)/2 A9 く F7=(20+25+35)/3 F2 = ROUND(IF(AND(B2=0,C2=0,D2=0),E2,IF(AND(B2=0,C2=0),D2,IF(AND(B2=0,D2=0),C2,IF(AND(C2=0,D2=0),B2,IF(B2=0,(C2+D2)/2,IF(C2=0,(B2+D2)/2,IF(D2=0,(B2+C2)/2,(B2+C2+D2)/3))))))),0) 以下 F3 ~ F9 まで 同じ 関数処理 他の関数で文字列(数)を短くできますか?

  • 一つの数式内に複数の関数!!

    よろしくお願いします。 関数式で一つの式内に複数の式を入れる場合の入力方法ですが、以前のEXCEL95では関数ウイザードがあって その中の文字列を入力する所のボックスの前に≪fx≫の関数ボタンがあって簡単に入力できました。 でも現在Excel2002ではそのボタンが見当たりません。直接入力するしかないのでしょうか? 是非教えてください。 =IF(A4>89,"A",IF(A4>79,"B", IF(A4>69,"C",IF(A4>59,"D","F")))) 上のような式を入力したいのですが。。。。

  • 上位バージョンで使用できない関数

    お世話になります。エクセルでIF、OR、ISERROR、VLOOKUP関数を組み合わせて検索ファイルを作成し、使用しています。作成環境はエクセル2003で、使用環境もエクセル2007までは動作実績がありました。 このエクセル関数について、エクセル2010、エクセル2013でも使用できるのかは確認できていませんが、実際使用できるのでしょうか?お教えくださいお願いします。 作成した式 =IF(OR(B5="",E5=""),0,IF(ISERROR(VLOOKUP(E5,参照シート!$A$1:$F$8,B5+1,0)),0,VLOOKUP(E5,参照シート!$A$1:$F$8,B5+1,0)))

  • #VALUE! エラーについて

    Excel97使用ですが入力文字数が多いため2つのセルに分割して記載し、(例えばA1とA2) =A1+A2 とした場合タイトルのエラーが表示されます、1つのセルに収まるものはエラー表示はありません、尚、f4 に数字を入力したら正常に計算されます、エラーが表示されないようにする方法を教えて下さい、 =if(f4=0,"",if(and(c15=0,d15=0,e15=0),(c6+d6+f6)/(c5+d5+e5+f5), if(and(c15<>0,d15=0,e15=0),(c22*c23+d6+e6+f6)/(c23+d5+e5+f5), if(and(・・・・・・・・・・・・・

  • エクセルでの関数の書き方

    セルA1からF1があります。 A1がC1かD1で同じでかつ B1がC1かD1で同じ場合に、 D1の値をF1にセットしたいのですが、 どのように書けばよろしいでしょうか? EX. A1が1でB1が2の場合は C1がD1が1,2または2,1の場合のみ E1の値をF1にセットします。 COBOLで書くとこんな感じになると思います IF (A1=C1 OR A1=D1) AND (B1=C1 OR B1=D1) THEN MOVE D1 TO F1 END-IF. IF関数かAND関数を使用するような気がしますが、 思いつきません。 よろしくお願いいたします。 エクセル2000です。

  • エクセル間数式について

    生年月日の範囲があり、その範囲内に該当するものに"◎"をしたいのですが、エクセル関数で表示できる式をご教示願います。 例えば、1行目S16.4.2~S18.4.1、2行目 S18.4.2~S20.4.1、3行目S20.4.2~S22.4.1----等あり、 関数式 =IF(and(Aセル>=Bセル,Aセル>=Cセル),"◎","")を作成したのですが、うまくいかないのです。Aは各誕生日を入力するセル位置です。 よろしくお願いします。

  • Excel2003の数式設定について教えて下さい。

    Excel2003の数式設定について教えて下さい。 【C1セル】には 数式「=IF(A1="","",A1)」 【D1セル】には 数式「=IF(B1="","",B1)」 【E1セル】には 数式「=IF(AND(ISBLANK(C1),ISBLANK(D1)),"",(IF((C1+D1)=0,"---",C1+D1)))」 と設定した状態で、 【A1セル】に 数値「100」と入力し、 【B1セル】に 数値「200」と入力した場合、 【E1セル】は 「300」と出力されますが、 【A1セル】、もしくは【B1セル】を 空欄にした場合、 【E1セル】は エラーとなり、「#VALUE」と出力されてしまいます。 小生としては、【C1セル】【D1セル】の両セルとも表示上は空欄の為、 ISBLANK関数でTRUEと判定し、【E1セル】は空欄になってほしいのですが、 【C1セル】や【D1セル】には数式が設定されている為、 ISBLANK関数でTRUEと判定されずに、「IF((C1+D1)=0」の演算でエラーとなっている様です。 小生が実現したいこと、 「【C1セル】と【D1セル】の数式の実行結果が空欄以外の時のみ、  【E1セル】の数式を実行する。」 の方法をご存知の方、教えて下さい。お願い致します。

  • エクセルの関数を教えてください。

    B1+C1+D1+E1をF1に=IF(COUNT(A1:A4),SUM(A1:A4),"") このような式をいれています。(数字が入る前にF1に0が入らないようにする為に、この間gooで質問して教えてもらいました)これはこの式で解決したのですが、その後=A1+F1をG1に入れた所エラーになってしまいました。F1に関数が入っているからエラーになってしまうのでしょうか?G1にも数字が入る前は0が入らない様にしたいのですが可能でしょうか?詳しい方ご指導宜しくお願いします。

専門家に質問してみよう