- 締切済み
エクセルの数式で困ってます。
教えて頂いた数式で作ってみたのですが、何か間違っているようでAやBなどの表記がでません。 =IF(C4="","",IF(C4-70<=0,A,IF(C4-135<=0,B, IF(C4-198<=0,C, IF(C4-247<=0,D, IF(C4-306<=0,E, IF(C4-359<=0,F, IF(C4-411<=0,G,IF(C4-461<=1,H,"")))))))) 0~70までをA、72~135までをB、137~198までをC・・・・などと表記したいのですが、宜しくお願いいたします。
- みんなの回答 (10)
- 専門家の回答
みんなの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
いろいろな方法がありますね。 次のようなことでもよいでしょう。 A1セルから下方のセルに順に0,71,136,199,248,307,360,412,462といったようにご希望のデータに+1した数を入力します。 その上でC4セルに数値を入力したときのローマ字表示をD4セルに表示させるとしたら次のような式になります。 =CHAR(64+MATCH(C4,A$1:A$10)) また、A1から下方にデータを入力しない式だけの形でしたら次のような式にします。 =CHAR(64+MATCH(C4,{0,71,136,199,248,307,360,412,462},1))
- Nouble
- ベストアンサー率18% (330/1783)
敢えてわざと=IF(and(… という形にしてみました =IF(AND(C4>=0,C4<=70),"A","")&IF(AND(C4>=72,C4<=135),"B","")&IF(AND(C4>=137,C4<=198),"C","")&IF(AND(C4>=200,C4<=247),"D","")&IF(AND(C4>=249,C4<=306),"E","")&IF(AND(C4>=308,C4<=359),"F","")&IF(AND(C4>=361,C4<=411),"G","")&IF(AND(C4>=413,C4<=462),"H","") なお 71・136・199・148・307・360・412と462以上では何も表示されません
ダブルクォーテーションが抜けているようです。 =IF(C4="","",IF(C4-70<=0,"A",IF(C4-135<=0,"B"・・・ のようにしてください。
- DOUGLAS_
- ベストアンサー率74% (397/534)
=MID("ABC",MATCH(A1,{0,71,136,199}),1)
お礼
A1をc4にしたら出来ました。ありがとうございました。
補足
Aは表記されるのですが、BとCが出てきません・・・
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一例です。 IF関数をネストすると数式が長くなりますので、 ↓の画像のように表を作っておく方法もあります。 境界の数値をどちらに入れるか?によって表の配置も変わってきます。 左側の表は ○以上~△未満 で区切っています。 右側の表は ○より大きく~△以下 という表になります。 C列に入れる数値によりこの表を元に結果を表示させます。 D4セルの数式は =IF(C4="","",VLOOKUP(C4,$G$2:$I$10,3,1)) E4セルの数式は =IF(C4="","",INDEX($M$2:$M$10,MATCH(C4,$L$2:$L$10,-1))) いずれもこの数式をオートフィルで下へコピーすると 画像のような感じになります。 これでお判りだとおもいますが、 C列の値が同じでも境界部の数値をどちらに入れるか?によって結果は大きく変わってきます。 以上、長々と書きましたが 参考になれば幸いです。m(__)m
- not_spirit
- ベストアンサー率34% (901/2592)
作ってみました。 =IF(C4="","",IF(C4-70<=0,"A",IF(C4-135<=0,"B",IF(C4-198<=0,"C",IF(C4-247<=0,"D",IF(C4-306<=0,"E",IF(C4-359<=0,"F",IF(C4-411<=0,"G","H")))))))) でよろしいのでは?
お礼
ありがとうございます。完璧です! 助かりましたです^^
補足
あとI、Jなどもう少し増やしたいときは何か方法がありますか?宜しくお願いいたします。
- jirafu2003
- ベストアンサー率16% (70/429)
いくつまで表記させたいかわかりませんが、 =iF(c4="","",if(c4>=150,"A"),IF(c4>=100,"B"),if(c4>=50,"C"),if(c4>=0,"D",E) でいかがですか。たぶんこれで150,100,50,0というように表記できます。
- bari_saku
- ベストアンサー率17% (1827/10268)
エクセルのバージョンは何ですか? もし2003以下なら、ネストが限界を超えているからだと思います。 http://www.relief.jp/itnote/archives/001147.php あと試してませんが、Aとしたいなら"A"にしないと認識しなくないですか?
- not_spirit
- ベストアンサー率34% (901/2592)
補足で。 =IF(A4=1,"A",0)
- not_spirit
- ベストアンサー率34% (901/2592)
"A"のように、"(文字列)"を囲まないといけないのでは?
お礼
ありがとうございます。I、Jなどもう少し増やしたいときは何か方法がありますか?宜しくお願いいたします。