- ベストアンサー
数式が長すぎる?
エクセルの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")))))))))))))))))))))))
- fightman11
- お礼率61% (109/176)
- オフィス系ソフト
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 典型的なVlookup関数のTRUE型で対応できます。 ↓の画像のように別Sheet(今回はSheet2)に表を作成しておきます。 (薄い緑色の列だけでOKなのですが、解りやすくするために「未満」の列も表示しています。) Sheet1のB2セルに =IF(B2="","",VLOOKUP(B2,Sheet2!$A$1:$C$24,3,1)) という数式を入れオートフィルで下へコピーすると 画像のような感じになります。 ※ Sheet2に区分け部は適当にやっていますので、実際のデータに合わせてみてください。 参考になりますかね?m(_ _)m
関連する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!と出てきてしまいます! 何か良い方法はないでしょうか? よろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- エクセル関数=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セル】の数式を実行する。」 の方法をご存知の方、教えて下さい。お願い致します。
- ベストアンサー
- その他MS Office製品
- エクセルの関数を教えてください。
B1+C1+D1+E1をF1に=IF(COUNT(A1:A4),SUM(A1:A4),"") このような式をいれています。(数字が入る前にF1に0が入らないようにする為に、この間gooで質問して教えてもらいました)これはこの式で解決したのですが、その後=A1+F1をG1に入れた所エラーになってしまいました。F1に関数が入っているからエラーになってしまうのでしょうか?G1にも数字が入る前は0が入らない様にしたいのですが可能でしょうか?詳しい方ご指導宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございました。 画像まで付けて頂き、非常に分かり易かったです。 解決しました。