• ベストアンサー

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関数が使えません。 関数では、このような可能でしょうか? 可能であれば教えてください。 不可能であり、他の方法があるなら、教えてください。 お願いします。

noname#248169
noname#248169

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

  • ベストアンサー
  • 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

  • Excelの関数『IF』にて・・・

    EXCELにて、関数IFを使って一覧表から 自動入力をしたいと考えています。 例えば、以下のようにしてセル『C1』の数字に 応じて、自動を試みたい時 =IF($C$1>80,"=A1",IF($C$1>70,"=B1","=C1")) =A1,=B1,=C1 の場所を文字列としてしか読み取ってくれません =A1,=B1,=C1では無く=A1,=B1,=C1のセルに入力されてる 数式(他のセルの値)を、表示したいんですが どのようにすれば可能でしょうか? 何度やっても「=A1」と、そのまま文字列として出て来ちゃいます。

  • Excelのif関数を使ったのですがうまくいきません。

    Excelのif関数を使ったのですがうまくいきません。   | A | B | C | D | E ----------------------- 1 | A | A | A | A | 5 2 | B | A | A | B | 4 3 | C | C | A | C | 2 のようにA1~D4のセルに入力されたA,B,C の組み合わせによって E5のセルに1~5の数字を入れていきたいのですがAAAA~CCCCの組み合わせが 15通りあってif関数では入れ子ができません。 AAABもAABAも同じと判断させて1~5の数字を自動的に入力させたいのですが 何かいい方法はないでしょうか。 教えてください。

  • IF関数についておしえてください。

    お世話になります。 作成している表の中で、利用しようとおもっている関数について教えてください。 A1セルに下記のようなIF関数を作成しました。 =IF(AND(B2>=1,C2<=0),"○",IF(AND(C2>=1,B2<=0),"○",IF(AND(B2>=1,C2>=1),"○",IF(AND(B2<=1,C2<=1),"")))) B2セルは別シートからVLOOKUPを利用して検索してきて、数字を表示させているセルのため、 該当しない場合”#N/A”と 表示されるところがありました。それで、”=IF(ISERROR”を利用して、#N/Aと表示される場合、空白で表示される数式にしたところ、今度はA1セルが条件にあっていないのに”○”と表示されるようになりました。≪”B2=空白(”#N/A”),C2<=1の場合にあたるのだと思います。≫ *B2セルを”空白”ではなく”0”で表示させるようにしても同様に”○”となりました。 A1セルに、  B2>=1,C2<=0の場合”○”  C2>=1,B2<=0の場合”○”  B2>=1,C2>=1の場合”○”  B2<=1,C2<=1の場合"空白" で表示できる方法をご存じの方、ご教示お願いいたします。 簡単なことなのかもしれませんが、エクセル関数初心者のため、大変困っております。 うまく、不明な点を説明できていませんでしたら、申し訳ございません。何卒 よろしくお願いいたします。

  • Excel 長すぎるif関数

    こんにちは。Excelを使って、条件によって表す表示を変える場合、 例えばa1のセルには0~100までの任意の数字を入れるとして、b1のセルにa1の数字に応じていろいろな表示をしたい場合(具体的には100ならAを表示、90~99ならB、70~89ならC、55~69ならD・・・といったように)、if関数を使うと思いますが、 =if(a1=100,"A"1,if(a1>=90,"B",if(a1>=70,"C",if・・・・)))というように長々と続きますね。条件が少ないうちはいいのですが、条件が多くなると、大変複雑な式になり、入力もしづらいし、頭も使うし、閉じる括弧の数もわからなくなるし、作成に時間もかかりますよね。2つ以上の条件が重なる(例えばA1が90~99の範囲でかつa2がAならb1にB1と表示するなど)など複雑になってくるともうお手上げです。 これらを短時間で要領よく作成する方法はないでしょうか?次の観点で教えてください。 1 if以外の良い関数はあるか?または良い機能はあるか?それとも複雑であってもif関数が妥当なのか? 2 (if関数が妥当であるとして)複雑なif文の作成を簡単にできる方法があるか?あるいはそんなソフトがあるか? 3 やっぱりそういうのはVBAとかで作った方がいいのか?(できれば使いたくないのですが。)

  • わからないIF関数について教えて下さい

    IF関数で下のような表を作成したいのでどなたか相談に乗って下さい。 「C」のセルに、「1:晴れ 」の場合は、「1」を表示、 それ以外は「0」を表示させるIF関数を作成したいのですが、 うまくいきません。ちなみに、 =IF($A1="1:晴れ",1,0) と入力しましたが、「1:晴れ 」とAのセルに入力されてるのに 「1」と表示されませんでした。ちなみに「A」のセルは入力規則でリストが 入っています。   A     B     C    1 1:晴れ 1/20    1 2 2:雨   1/21   0  3 3:曇り  1/22   0 4 4:雪   1/23   0 5 1:晴れ  1/24   1 全然わからなくて困っています。 どなたか助けて下さい。 宜しくお願いします。

  • 先ほど質問したものです。 VLOOKとIF関数の合体バージョンは可能ですか?

    先ほど、 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と入力したいです。 と質問し、 ↓ A列の数値を 1 11 21 31 : 191 のように入力しなおします。 D列の関数は  =VLOOKUP(C1,$A$1:$B$20,2) とお答えをいただいた者です。 更に、計算させたいことが出来てしまいました。 1~10の数字が入力された場合に表示させる文字が「A」から400に。11~20の数字が入力された場合に表示させる文字が300になりました。 1  1~10  400 2 11~20  300 3 21~30  C 4 31~40  D C1セルに、25と入力された場合はD1セルにCと表示。 これは教えていただきましたが、 もし、5と入力した場合、D1のセルには400と表示されますが、表示される項目が1~10の中の数字だった場合、5%を掛けたいのですが、出来ますでしょうか? 教えていただいた関数=VLOOKUP(C1,$A$1:$B$20,2)で、400と表示されますが、1~10までの数字を入力した場合のみ、400×5%で「20」と表示させたいのです。 よろしくお願いします。

  • EXCELのIF関数?

    質問させてください。 3つの数字がありAとB、AとC、BとCの強弱をそれぞれみていて、Aが一番大きいとします。 このとき、EXCELの関数を使いセルに一番強いAが表示されるようにしたいのです。 この3つの数字は毎秒変わっているのでAじゃないときももちろんあるので、そのとき一番強いものが 常に表示されるようにしたいのですが、 最初IF関数で式を書こうと思ったのですが、うまくいきません。 どなたかご教示ください。よろしくお願いいたします。

  • IF関数の組み合わせ

    If関数の質問です。 A2セルにAと入力すると、B2セルに10 A2セルにBと入力すると、B2セルに5 A2セルにCと入力すると、B2セルに0 A2セルに何も入力しないと、B2にも何も表示されない これを関数で処理したいのですが、うまくできません。 エクセル関数を勉強中の身で、なかなか自力では作れず・・・ ご回答よろしくお願いいたします。

  • エクセル関数について(IF関数)

    エクセルの関数について教えて下さい。 セルに1と入力した場合Aと出てきて、2と入力した場合B、3と入力した場合Cとなるような計算式を入れたいのですが、どのような式を入れればよろしいのでしょうか? 別のシートから呼び出す(?)というような方法でもいいのですが、どんな式を入れればよいのか、全く分かりません。 自分で調べてみた結果、IF関数を用いるということは解りました。 『IF(A1="1","A",IF(A1="2","B",IF(A1="3","C")))』 上記のような式を入れてみて、実際に実践してみたところ、結果としては入力した数字が表示されるだけで、計算式は消えてしまいました。 どうしたらいいのか解りません。 素人故に恥ずかしい質問ですが、お知恵を貸して下さい。 よろしくお願いします。

  • IF関数の選択肢を増やす方法について

     例・・・A1セルに4、B4セルに3、C5セルに2が入力されると                                    D1セルに5が表示。      A1セルに3、B4セルに2、C5セルにAかBが入力されると                                    D1セルに6が表示。                         ・                         ・                         ・                        続く。 D1セルに、 =IF(AND(A1=4,B4=3,C5=2),5,IF(AND(A1=3,B4=2,OR(C5="A",C5="B")),6,・・・・  のような感じで増やしていたのですが、IFが7つで限界?のようなのですが、 何か方法はありますか?もしあれば教えてください・・・。 エクセル2003です。よろしくお願いします。

専門家に質問してみよう