• ベストアンサー

入力された数値を、表から検索して表示させる方法

こちらのサイトで検索しましたが、見つける事ができずに投稿させていただきました。よろしくお願いいたします。 運賃についての表があります。      A        B 1   0~10    9,350円 2  10~20   10,000円 3  20~30   10,750円 4  30~40   11,500円 5  40~50   12,100円 6  50~60   12,750円 7  60~70   13,050円 8  70~80   13,800円 9  80~90   14,500円  10  11 ( 15.6  ) (      ) それで、あるセル例えば「A11」に、キロ数15.6と入力した場合、 先の表A1~B9から検索して、「B11」に10,000円と表示させるには どのようにしたら良いのでしょうか? 通常、こうした検索はVLOOKUPを使う場合が多いと思いますが、 今回の場合10~20までというように、範囲内の数値を表から検索して表示させたいのですが・・ 下手な文章で申し訳ございません、どなたかよろしくお願いいたします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 まず、数値範囲を1つのセルに、 「10~20」 のように記入するのは止めて、 「10」「~」「20」 をばらばらに入れましょう。 つまり、   A  B  C   D   0 ~ 10  9,350円  10 ~ 20 10,000円  ・・・・・・・・・・ という風にします。 次に、境界の値はどうなるのでしょうか? 例えば「10~20」は、 (1)10以上20未満(10を含み、20は含まない) (2)10より大きく20以下(10は含まず、20を含む) のどちらでしょうか? もし(1)なら、VLOOKUPで、 =VLOOKUP(A11,$A$1:$D$9,4) と出来ます。 (2)の方なら、 =INDEX($D:$D,COUNTIF($A$1:$A$9,"<"&A11)) という風にすれば出来ます。 なお、どちらの場合でも表はA列の昇順に並んでいる必要があります。

emmaa
質問者

お礼

早速のご返答ありがとうございました。参考になりました。

その他の回答 (2)

  • tascany
  • ベストアンサー率48% (15/31)
回答No.3

「10~20」が、「10超20以下」の意味だとすれば、たとえば、 =VLOOKUP(JIS(ROUNDUP(A11,-1)-10)&"~"&JIS(ROUNDUP(A11,-1)),A1:B10,2) 同「10以上20未満」の意味だとすれば、たとえば、 =VLOOKUP(JIS(ROUNDDOWN(A11,-1))&"~"&JIS(ROUNDDOWN(A11,-1)+10),A1:B10,2) なお、「10~20」等の数値の部分が半角なら、JIS関数(引数の文字列を全角に変換してくれる)は不要です。つまり、 =VLOOKUP(ROUNDUP(A11,-1)-10&"~"&ROUNDUP(A11,-1),A1:B10,2) などとすればいいです。

emmaa
質問者

お礼

ご返答ありがとうございました。非常にわかり易くご説明いただき、本当に勉強になります。今後も今日頂いた知識を生かして仕事に励みたいと思います。今回は「すぐに返答を」で投稿させていただきましたので、ポイントを付けることが出来なく心苦しいですが、誠にありがとうございました。

回答No.2

こんにちは。 VLOOKUP関数 でできます。 ただし、運賃表のA列には "0~10"なら"10"、"10~20"なら"20"というように、 範囲を指定するのではなく、その範囲の最大の値だけを入力してください。 運賃表を修正した上で、B11セルに↓のように数式を入れてください。 -------------------------------- =VLOOKUP(A11,$A$1:$B$10,2,TRUE) -------------------------------- 最後を TRUE にすれば検索値が見つからないとき、 検索値未満の最も近い値を探してくれます。 また、A11が空白のときはB11に"#N/A"というエラーが出ますが、 このエラーを表示させたくなければ、IFを使って↓のようにしてください。 --------------------------------------------- =IF(A11="","",VLOOKUP(A11,$A$1:$B$10,2,TRUE)) ---------------------------------------------

参考URL:
http://homepage1.nifty.com/kenzo30/ex_kisotyu/ex_ks_tyukyu9_9_4.htm#検索/行列関数(VLOOKUP関数)
emmaa
質問者

お礼

早速のご返答ありがとうございました。お蔭様をもちまして無事解決いたしました。誠にありがとうございました。

関連するQ&A