• ベストアンサー

EXCELのLOOKUP関数に似た関数

EXCELのLOOKUP関数でベクトル形式の場合、 「検査値が見つからない場合、検査範囲内で検査値以下の最大値が、一致する値として使用されます」 のですが、これと似たケースで 「検査値が見つからない場合、検査範囲内で検査値以上の最小値が、一致する値として使用されます」 のように値を返して欲しいのです。 方法をご存知の方、お力をお貸し願います。

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

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

INDEX関数とMATCH関数の組み合わせでは? =INDEX(範囲,行,列) 上記の行か列、又は両方にMATCH関数(照合の型 -1[降順])を使用する。 =INDEX(範囲,MATCH(検査値,範囲の左端の列,-1),列)

roro02
質問者

お礼

ご回答ありがとうございます。 試してみたいと思います。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 >「検査値が見つからない場合、検査範囲内で検査値以下の最大値が、一致する値として使用されます」 書かれておりませんが、たぶん、お話の前提では、検査値が、昇順に並んでいるという意味ではないでしょうか?値を並べ替えないままで、逆のケースを求めるというようなもので、以前、ここの掲示板でも出ていた質問です。 その時の内容は忘れましたが、このような式ではいかがでしょうか? A1:A20 が、検査範囲 C1が、検索値 =INDEX(A1:A20,MATCH(C1,A1:A20,1)+(COUNTIF(A1:A20,C1)=0)*1,1) .

roro02
質問者

お礼

>書かれておりませんが、たぶん、お話の前提では、検査値が、昇順に並んでいるという意味ではないでしょうか? その通りです。説明が不足しておりまして失礼いたしました。 いただいた式を試してみたいと思います。 ご回答ありがとうございました。

関連するQ&A