• ベストアンサー

IF関数でしたい事と、似たような計算

エクセル2002です。 表の中に   A     B   C  D 1  1~10  A 2 11~20  B 3 21~30  C 4 31~40  D    : と入力されています。 表示させたい内容は ★「C1セルには数字を入れます。その数字が8ならば、8は1~10の中の数字なので、D1のセルにAと表示される。15ならばBと入力したいです。 使う関数は、IF関数‥‥と迷ったのですが、1~20、21~30‥‥199~200まであるので、IF関数が使えません。 関数では、このような可能でしょうか? 可能であれば教えてください。 不可能であり、他の方法があるなら、教えてください。 お願いします。

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

  • ベストアンサー
  • tresbien
  • ベストアンサー率51% (51/99)
回答No.5

一部訂正 D列の関数は  =VLOOKUP(C1,$A$1:$B$20,2)

noname#248169
質問者

お礼

無事出来ました。 1を 入れるのを忘れていました。 大変助かりました。 ありがとうございました

noname#248169
質問者

補足

入力しましたが、#N/A になってしまいます。 数字も直したのですが‥‥他にも何かしなきゃいけない事はあるのでしょうか?

その他の回答 (6)

回答No.7

A列の区切りはすべて10刻みなんでしょうか? それなら、こういう方法もあります。 D1セルに、 =INDEX($B$1:$B$20,INT((C1-1)/10)+1,1)

noname#248169
質問者

お礼

10刻みなら、この関数でもよさそうです。 いろいろ場合によって使い分けてみます。 ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.6

安直ですが以下の方法は如何でしょうか。 (例)差分が10単位の場合、入力された値を相対数にして該当するセルを参照します。 =IF(C1<>"",OFFSET($B$1,(C10-1)/10,0),"") 尚、「0」入力時は考慮していません。

noname#248169
質問者

お礼

そうですね。10単位の時は、これでもよさそうです。 参考になります。 ありがとうございました

  • ryk1234
  • ベストアンサー率40% (46/113)
回答No.4

多少元表をいじる形になってしまいますが… A B C D E 1 1 10 A 8 2 11 20 B 3 21 30 C と範囲をA,Bに入力 E1に以下の数式 =VLOOKUP(D1,$A$1:$C$3,3)

noname#248169
質問者

お礼

ありがとうございます。 参考にします。

  • tresbien
  • ベストアンサー率51% (51/99)
回答No.3

A列の数値を 1 11 21 31 : 191 のように入力しなおします。 D列の関数は  =VLOOKUP(C9,$A$1:$B$20,2) 詳しくはヘルプを参照してください。

noname#248169
質問者

補足

回答ありがとうございます。 =VLOOKUP(C9,$A$1:$B$20,2) この「C9」は何処から来たのでしょうか?教えてください。

  • 7_7_7
  • ベストアンサー率24% (115/469)
回答No.2

マクロ(VBA)を使えば簡単です。

noname#248169
質問者

お礼

マクロですか。 ありがとうございます

  • honey_001
  • ベストアンサー率35% (19/53)
回答No.1

If関数でも可能じゃないですか? If(C1>=1,If(C1<=10,C1,B1),B1)こんな感じかな? 上記は適当に書いたので記号やらがぬけてるかもしれませんw If関数は最大7回(セル1つに対し)まで使えますよ。 あとはvlookupを使用し、上記以外のセルに1からずっと入力して、参照判定する方法もありますね。 このほうはめんどくさいですね。

noname#248169
質問者

お礼

私も、関数と思ったのですが <=10 <=20 <=30 <=40 <=50 <=60 <=70で既に7個。 残りはまだまだ。<=200まで作れたら良いのですが‥‥できるのでしょうか?

関連するQ&A