• ベストアンサー

エクセル lookup関数 等について

lookup関数 等は、検査値を特定の範囲から探す際、 その特定の範囲内でデータを昇順に並べておく必要が ありますが、昇順に並べなくても良い方法はありますか?

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

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

>昇順に並べなくても良い方法はありますか?  ⇒これを決めるのはご質問者です。   検索は完全一致型検索、近似値型検索があり、LOOKUP関数は近似値型になるので   検索値の最大値以下を抽出する為、昇順に並べないと機能しません。   完全一致型ならば、VLOOKUP第4引数のFALSE指定、MATCH第3引数の0になり、一般   的には文字列の検索に使用され、並びに左右されません。   ご質問の「データを昇順に並べておく必要」とあるが全くの誤認識で、データの仕様が   重要である事をご理解下さい。

20411
質問者

お礼

ご回答ありがとうございました。 VLOOKUPについてよくわかりました。

その他の回答 (3)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

LOOKUP関数は昇順に並べ替えておかないと使えません。 VLOOKUP(検索値,範囲,列,FALSE) HLOOKUP(検索値,範囲,行,FALSE) は並べ替えておかなくても使えます。ただしデータが大量にあると急激に遅く重くなります。 VLOOKUP(検索値,範囲,列) VLOOKUP(検索値,範囲,列,TRUE) は並べ替えておかないと使えません。 INDEX(範囲,MATCH(検索値,検索列,0)) は並べ替えておかなくても使えます。ただしデータが大量にあると急激に重くなります。 INDEX(範囲,MATCH(検索値,検索列,1)) は昇順に並べ替えておく必要があります。 INDEX(範囲,MATCH(検索値,検索列,-1)) は降順に並べ替えておく必要があります。

20411
質問者

お礼

ご回答ありがとうございました。 参考になりました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! >昇順に並べなくても良い方法はありますか? とありますが、他の方法としては降順に並べておく場合があります。 ※ 当然のことながらバラバラでの配置はエラー原因となります。 VLOOKUP関数の「検索の型」が「TRUE」型を使用する場合のコトですよね? その場合は必ず昇順にしておく必要があります。 降順で同様の検索方法を使いたい場合は INDEX関数とMatch関数の塀用で可能ですが、 ↓の画像のように境界部分に微妙な違いがありますので、気を付けなければなりません。 画像でB2セルには =VLOOKUP(A2,$E$2:$G$5,3,1) または =INDEX($G$2:$G$5,MATCH(A2,$E$2:$E$5,1)) という数式でも同じ結果が得られます。 表が降順表示の場合はC2セルに表示していますが =INDEX($K$2:$K$5,MATCH(A2,$J$2:$J$5,-1)) という数式を入れています。 この程度ですが、参考になりますかね?m(_ _)m

20411
質問者

お礼

ご回答ありがとうございます。 INDEXとMATCHの組み合わせは初めて知りました。

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

この質問には2つの問題がある。よく勉強して。 (1)VLOOKUP関数といてtも、第4引数でTRUE型とFALSE型があり、両者は役割が違う。 どちらとも質問に書いてないのは不完全。 (2)どちらかというとここのこーなーでに質問には、>探す、といっている語感から、FALSE型が多く、その場合は昇(降順に並べておく必要は無い。TRUE型はその役割からして、整理しておかないといけない。

20411
質問者

お礼

ご回答ありがとうございます。 VLOOKUPについて勉強になりました。

関連するQ&A