VLOOKUP

書式 =VLOOKUP(検索値、範囲、列番号、検索の型)

例えば、商品番号をもとに商品リストから商品名や商品単価を取り出すような検索に用いる関数です。

検索値(商品番号)が範囲(商品リスト)の1列目にある商品番号と同じものを見つけて、そのレコードの情報から指定した列番号(必要なデータが格納されている列)に
格納されているデータを取り出します。

検索の際に上端から下方向に一致するレコードを探しに行くので、垂直の(Vertical)検索(LOOKUP)=VLOOKUPと命名されています。

検索範囲の表はリスト形式にしておき、1列目に検索値と同じ種類のデータを配置しておく必要があります。
※ リスト:列ごとにデータの種類を区別して格納するように設計された表

検索の型には、

  • 完全一致(FALSE)
  • 段階一致(TRUE・検索値以下の一番大きな値を見つける)

の二通りの検索方法があります。

HLOOKUP

書式 = HLOOKUP(検索値,範囲,行番号,検索の型)

検索する仕組みはVLOOKUP関数と同じです。
ただし検索に使う範囲(商品リスト)の構造が異なる為、先頭列に見出しがあり、行ごとにデータの種類を区別して格納する形式の表を使用します。
したがって検索値は1行目にあるデータと同じものを探しに行きます。
(VLOOKUPでは1列目を探す)

また、VLOOKUP関数では“列番号”となっている第3引数が“行番号”となります。

左端から右方向に一致するデータを探しに行くので、水平の(Horizontal)検索(LOOKUP)=HLOOKUPと命名されています。

他の引数はVLOOKUPと同じ考え方で大丈夫です。

INDEX

書式 = INDEX(配列,行番号,列番号)
マトリックス形式の表から、指定した行番号と列番号の交差した位置にあるデータを取り出す関数です。

第1引数の“配列”は“範囲”と同義ととらえても大丈夫です。

MATCH

書式 = MATCH(検査値,検査範囲,照合の型)
行方向、あるいは列方向に並んでいるデータ配列(検査範囲)から、指定した値(検査値)が何番目に位置しているかを返す関数です。

単独で使用することはあまりなく、INDEX関数の行番号・列番号に使用する値を求める際に利用することが多い関数です。

照合の型には、

  • 完全一致(引数:0)
  • 検索値以下の最大値を求める(引数:1)
  • 検索値以上の最小値を求める(引数:-1)

という3種類の照合方法があります。