- ベストアンサー
エクセルの関数で悩んでいます
たとえばA列に5,10,15,20…と5の倍数を置いて A1=<B1<A2のときC1は1 A2=<B1<A3のときC1は2 というように Ax=<B1<Ax+1のとき、C1にxが表示されるような式を作りたいと思っていますが、どうしたらいいのでしょうか? IF関数を使っていたのですが、上手くいきませんでした わかる方がいましたら、どうぞよろしくお願いします! 説明下手ですみません
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
この課題にぴったりの関数が有る。VLOOKUP関数だ。 普通この質問コーナーで答えに使うVLOOKUP関数は、第4引数が FALSE型だか, 本件はTRUE型。問題・場合によっては威力を発揮する関数だ。 色んな不規則な料金表など引ける場合が有る。将来役立つだろう。 すばらしいところは>A列に5,10,15,20…と5の倍数を置いて、のように規則性がないデータ区分でもよいことだ。 ここでは規則性のある区分なので、計算で出したほうが分かりやすいなんてなるかもしれないが、とりあえず5の倍数例で 例E-F列 0 1 5 2 10 3 15 4 20 5 25 6 30 7 35 8 40 9 ・・・ ーー A列A1に =VLOOKUP(B1,$E1:$F$30,2,TRUE) と入れる。 B1の数字を色々変えて、結果を見てください。 以上・以下・未満の点があり、上記の表では1づれる答えが返るときは、E列の表の刻みを1だけ加減して表を作ってください. 表の各行の見方の要領は 0 ==>(は) 1 か ら 5 と見てください。 ーー エクセルの課題で、検索的な課題に、IF関数を考えるのは初心者の証です。
その他の回答 (6)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 色々方法はあると思いますが・・・ 一例として ↓の画像のように表をつくってみました。 C1セルは =IF(B1="","",INDEX(ROW($A$1:$A$20),MATCH(B1,$A$1:$A$20,1))) (とりあえず、A1~A20までデータが入っている場合です) という数式が入っています。 これで希望に近い形にならないでしょうか? 尚、B1の値が5より小さい場合はエラーになります。 他に簡単な方法があると思いますが、 今はこの程度しか思い浮かびませんでした。m(__)m
お礼
とても丁寧な回答いただき、本当にありがとうございます! なるほど、ちゃんと数値が出ました。IF関数の使いかたにもいろいろあるのですね 本当にありがとうございます!
- hallo-2007
- ベストアンサー率41% (888/2115)
>たとえばA列に5,10,15,20…と5の倍数を置いて 他に目的があれば別ですが、質問だけですと、単に =ROUNDUP(B1/5,0) とか =Int(B1/5)+1 の答えになると思いますが、A列も省けます、
お礼
ちょっと質問が分かりにくかったかもしれません… A列の数値がランダムな場合は、またちがう方法になるんですね 今回はINT関数を使ってみたら解けました。ありがとうございました!
- kmetu
- ベストアンサー率41% (562/1346)
C1に =INT(B1/5) でいかがでしょう
お礼
INT関数を使ってみたら、解けました!! すぐ回答をくださり助かりました、本当にありがとうございました
- akiomyau
- ベストアンサー率43% (555/1280)
Bの値がA列のどこに該当するかという意味であれば 以下のような式でどうでしょうか。 =INT(B1/5)
お礼
INT関数を使ってみました! どうやら当方はややこしく考えすぎていたようで… 参考になりました、ありがとうございました
- mshr1962
- ベストアンサー率39% (7417/18945)
A1:A100に5から500の数値があるとして =MATCH(B1,A1:A100,1)
お礼
MATCH関数でできるんですね、やってみます! すばやい回答ありがとうございました!
- maron--5
- ベストアンサー率36% (321/877)
お礼
とても丁寧に回答してくださり、ありがとうございました! VLOOKUP関数の仕組みがよく分かっていませんでしたが、これを機に使ってみようと思います ありがとうございました!!