- ベストアンサー
エクセルのVLOOKUP関数
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
LOOKUP系の関数やMATCH関数などで完全一致型以外の検索を行う場合は、該当するデータを探すときに二分検索を行います。 たとえば5つのデータが並んでいる場合は、その真ん中の3つ目のセルを最初に検索し、この値が検索値より大きいか小さいかによって(文字列の場合は文字コード順の大小になります)、小さければより後のデータの中間のセル(4番目のセル)を検索し、大きければ前のデータ(2番目のセル)を検索し、さらにこれらの値と検索値との大小を判定して移動する方向を決め、該当のセルを求める仕組みになっています。 今回のケースでは3つのデータですので、最初に真ん中のセルの大小を判定することになりますが、前者の2つのケースは真ん中のデータがいずれも検索値よりも大きいパターンになりますので1つ目のデータを検索することになりますが、これも検索値より大きいため、該当データがないことになります。 一方、最後のデータでは、真ん中のデータが検索値よりも小さいので、3つ目のデータを検索することになり、このデータが返されることになるわけです。 このような基準でデータの中から検索値を探してきますので、データを昇順(MATCH関数では降順もあり)に並べておく必要があるわけです(完全一致で検索する場合には並べ替えておく必要はありません)。
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
回答No.1
お礼
理解できました。 ありがとうございました。