• ベストアンサー

エクセルの関数で悩んでいます

たとえばA列に5,10,15,20…と5の倍数を置いて A1=<B1<A2のときC1は1 A2=<B1<A3のときC1は2 というように Ax=<B1<Ax+1のとき、C1にxが表示されるような式を作りたいと思っていますが、どうしたらいいのでしょうか? IF関数を使っていたのですが、上手くいきませんでした わかる方がいましたら、どうぞよろしくお願いします! 説明下手ですみません

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.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関数を考えるのは初心者の証です。

tanchin55
質問者

お礼

とても丁寧に回答してくださり、ありがとうございました! VLOOKUP関数の仕組みがよく分かっていませんでしたが、これを機に使ってみようと思います ありがとうございました!!

その他の回答 (6)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

こんばんは! 色々方法はあると思いますが・・・ 一例として ↓の画像のように表をつくってみました。 C1セルは =IF(B1="","",INDEX(ROW($A$1:$A$20),MATCH(B1,$A$1:$A$20,1))) (とりあえず、A1~A20までデータが入っている場合です) という数式が入っています。 これで希望に近い形にならないでしょうか? 尚、B1の値が5より小さい場合はエラーになります。 他に簡単な方法があると思いますが、 今はこの程度しか思い浮かびませんでした。m(__)m

tanchin55
質問者

お礼

とても丁寧な回答いただき、本当にありがとうございます! なるほど、ちゃんと数値が出ました。IF関数の使いかたにもいろいろあるのですね 本当にありがとうございます!

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.5

>たとえばA列に5,10,15,20…と5の倍数を置いて 他に目的があれば別ですが、質問だけですと、単に =ROUNDUP(B1/5,0) とか =Int(B1/5)+1 の答えになると思いますが、A列も省けます、

tanchin55
質問者

お礼

ちょっと質問が分かりにくかったかもしれません… A列の数値がランダムな場合は、またちがう方法になるんですね 今回はINT関数を使ってみたら解けました。ありがとうございました!

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.4

C1に =INT(B1/5) でいかがでしょう

tanchin55
質問者

お礼

INT関数を使ってみたら、解けました!! すぐ回答をくださり助かりました、本当にありがとうございました

  • akiomyau
  • ベストアンサー率43% (555/1280)
回答No.3

Bの値がA列のどこに該当するかという意味であれば 以下のような式でどうでしょうか。 =INT(B1/5)

tanchin55
質問者

お礼

INT関数を使ってみました! どうやら当方はややこしく考えすぎていたようで… 参考になりました、ありがとうございました

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

A1:A100に5から500の数値があるとして =MATCH(B1,A1:A100,1)

tanchin55
質問者

お礼

MATCH関数でできるんですね、やってみます! すばやい回答ありがとうございました!

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

◆これでいかがでしょう C1=IF(AND(A1<=B1,B1<A2),ROW(A1),"") ★下にコピー

tanchin55
質問者

お礼

すばやい回答をしてくださり、本当にありがとうございます! ぜひ参考にさせていただいて、やってみます ありがとうございました