• ベストアンサー

エクセルで表に当てはめて数値を返す方法を教えてください

 A   B    C      D 10   3    7      3 20   4    8      3 30   5    12     4           25     4 といった表があるとします。列A、Bは自分で入力します。列Cは計算で算出します。 このとき、Cの値をAに当てはめて、(例えば0以上-10未満なら3、10以上-20未満なら4)対応するBの値をDに出力するにはどうすればいいか教えてください。  VLOOKUPを使えばできるようなことを読みましたがよく分かりません。できるだけ、詳しくお願いします。

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

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

A B 0 3  0以上の結果 10 4 10以上の結果 20 5 20以上の結果 30 6 30以上の結果 として =VLOOKUP(C1,$A$1:$B$4,2,TRUE) でお望みの様になります。

kanken
質問者

お礼

ご回答有難うございます 例にあげた表に誤りがあったにもかかわらず、完璧に思いどうりになりました。

その他の回答 (4)

  • slot7
  • ベストアンサー率21% (18/83)
回答No.5

ANo2です。ANo4さんの言う通りですね。

kanken
質問者

お礼

重ね重ね有難うございます

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

VLOOKUP関数では、数値範囲検索が難しかったので、以下の方法は如何でしょうか。 C1セルに=OFFSET($B$1,COUNTIF($A$1:$A$3,"<="&C1),0)を設定し、下方向にコピーして下さい。 C列の数値でA列を計数した結果を相対値として、B列の値を参照します。 但し、A列の数値が昇順である事が前提です。

kanken
質問者

お礼

ご回答有難うございます VLOOKUPを使って解決できました

  • slot7
  • ベストアンサー率21% (18/83)
回答No.2

質問の表ではCの値がAに対応していないので、工夫が必要です。 Vlookup関数は、入力された値を元に表から参照するので、Cで入力した7がAにないとエラーを起こしますが、 検索の型によっては、一致するデータがないときは、検索するデータより小さい参照値の中で一番大きい値を返します。 まず、     A   B 1  10  3 2  20  4 3  30  5 という参照の表を作成し、Cに3を入れたときに、表から参照するためにAのどの値に対応するかを求めて(例でいけば、Dに10をいれ)、この値を元に参照する。   C  D  E 1 3  10 =Vlookup(Cのセル番号,A1:B3,2,false) A1:B3の次の2は、参照する表の左から2列目という意味です。 ture:一致する値がない場合、参照値よりも小さい値の中で、最も大きな値を返します。ない場合はエラー。 false:一致する値のみ返します。ない場合はエラー。 見づらければ、D列は非表示にでもしておけば良いでしょう。

kanken
質問者

お礼

ご回答有難うございます。 VLOOKUPを使って解決できました VLOOKUPの使い方がよく分かりました。

  • higupapa
  • ベストアンサー率39% (48/121)
回答No.1

IF関数では足りませんか? D1セルに=IF(C1<10,3,4)でD1に3と出ますよね。 この式を下にコピーすれば(相対参照のまま)D2は3、D3は4、D4も4と出ますよ。

kanken
質問者

お礼

ご回答有難うございます VLOOKUPを使って解決できました

関連するQ&A

専門家に質問してみよう