• ベストアンサー

エクセルに詳しい人お願い!!

エクセルで列方向に1~20までの数字が100行入力されているといます。その右の列に、1~5までは「1」、6~10までは「2」、、、15~20までは「20」と入力する数式や要領がよく正確な方法を教えて下さい。大変困っています。よろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

C1:D2に 0 1 6 2 といれて、C列、D列を各々列のオートフィルで 11 3 16 4 21 5 まで作ります。区画区切り数値+1の区割りにします。 (質問の「15~20までは「20」と入力する」と言う質問とは変えてます) B1に=VLOOKUP(A1,$C$1:$D$21,2,TRUE) といれて、下方向に複写します。 IF関数による既回答の方か簡便ですが、区分けが規則的で なくなった場合も、表を変えるだけで対応できます。 こう言う自由度を考えることも大切です。 今までもIF関数の回答で早々締めきった人やVLOOKUP関数に なじみが持てないのか、評価はもう一つですが、敢えて上げます。 未入力行のB列エラーを出さないためには =IF(A1="","",VLOOKUP(A1,$C$1:$D$21,2,TRUE))

その他の回答 (4)

  • 7874419
  • ベストアンサー率12% (18/139)
回答No.4

=IF(A1<=5,1,IF(A1<=10,2,IF(A1<=20,20,""))) こっちのほうがいいかな? 条件以外の数値の場合空白になります

  • 7874419
  • ベストアンサー率12% (18/139)
回答No.3

追伸 この式を以下のセルへドラッグすればOKです

  • 7874419
  • ベストアンサー率12% (18/139)
回答No.2

=IF(A1<=5,1,IF(A1<=10,2,IF(A1<=20,20))) これでどうでしょうか? このような関数式を入れ子(ネスト)といいます

  • deecyan
  • ベストアンサー率38% (89/233)
回答No.1

>15~20までは「20」 ??? 15~20までは「4」の間違いでは? A 列に1~20が入ってるとして B1 に =INT((A1+4)/5) とする式を書き あとは下にコピーペーストする INT関数は切り捨てなので A列に入っているものに 4を足して割り 答えを小数点以下で切り捨てる

doudesyou
質問者

補足

失礼しました。15~20は「4」です。あせっていたので、書き間違えてしまいました。 よろしくお願いします。