• ベストアンサー

VLOOUPで次に大きい検索値を指定するようにするには?

VLOOKUP関数はマスターテーブルに存在しない検索値を指定した場合、指定された検索値を超えない範囲で最も大きい検索値が指定されたものと判断します。 17cmの鉛筆があって15,20cmの箱があった場合、15cmの箱を選んでしまい納まりません。一つ上の値を選ぶようにするにはどのようにしたらよいでしょうか? もしくは他に使える関数はありますでしょうか?

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

  • ベストアンサー
noname#204879
noname#204879
回答No.4

検索される列範囲に(例えば)list という名前を付けた場合、次式は「一つ上の値を」返して来ます。 =OFFSET(INDIRECT(CELL("address",list)),MATCH(C1,list),0) この手法を応用すれば、お望みのことが実現できるかと。

toshiakisankon
質問者

お礼

問題解決しました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (4)

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

要点 (1)検索表を降順にしておく (2)INDEX関数を使い、その第3引数を-1にする 例データ A1:A12 A列  B列 1 10 2 20 3 20 4 30 5 30 6 50 7 50 8 50 9 50 10 50 11 100 12 100 どこでも良いがD2:E6に 90 100 10 50 5 30 3 20 1 10 といれる。検索表です。降順。 B1に =INDEX($E$1:$E$100,MATCH(A1,$D$1:$D$100,-1)) と入れて、下に式を複写する。 式の中の100は最終行数によって変えてください。 結果 上記の例データのB列。 これでよいと思いますが、多数例でテストしてみてください。

toshiakisankon
質問者

お礼

問題解決しました。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • keirika
  • ベストアンサー率42% (279/658)
回答No.3

先ほどのNO.2の回答のMAXの直後に(を付け足してください

toshiakisankon
質問者

お礼

問題解決しました。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • keirika
  • ベストアンサー率42% (279/658)
回答No.2

検索値がB1に入力されていて、検索範囲がA1:A15であると仮定して =MIN(IF($A$1:$A$15>B1,$A$1:$A$15,MAX$A$1:$A$15)))の式を入力し Ctrl+Shift+Enterで確定します

すると、全ての回答が全文表示されます。
  • LEON2005
  • ベストアンサー率25% (1/4)
回答No.1

=index("検索範囲",match(検索値,"検索列",0),"列番号") でも出来るかと思います。 こっちなら近似値は詮索されなかったように思います。

toshiakisankon
質問者

お礼

問題解決しました。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A