
ExcelのVLOOKUP関数は、「大文字と小文字」、「全角と半角」を区別しません。「Apple・apple・apple」を区別して抽出したい場合、他の関数を組み合わせる必要があります。この記事では、VLOOKUP関では難しい、厳密な検索をする方法を解説します。
はじめに

VLOOKUP関数は、検索キーと一致する行を返すとき、「大文字と小文字」、「全角と半角」を区別しません。
たとえば、A列のテキストの中から「pdf」という文字列を探した場合、「PDF・pdf・pDf」のどれがA列にあっても、最初に見つかったものに対応する値を返します。
例:=VLOOKUP("pdf",A2:B5,2,FALSE)
VLOOKUP関数の引数:(検索キー, 範囲, 指数, [並べ替え済み])
VLOOKUP:厳密な検索
Excel 2019以前の場合

大文字・小文字・半角・全角を区別して検索したい場合は、VLOOKUP関数の代わりに、INDEX、MATCH、EXACT関数を組み合わます。
たとえば、A列のテキストの中から「pdf」と完全に一致する文字列を探し、その行の容量(B列)を抽出したい場合は、次の数式を使います。
例:{=INDEX(B2:B5, MATCH(TRUE, EXACT(A2:A5, "pdf"), 0))}
EXACT関数の引数:(文字列1, 文字列2)
INDEX関数の引数:(参照, [行番号], [列番号])
MATCH関数の引数:(検査値, 検査範囲, [検索の種類])
この数式では、EXACT関数で2つの文字列が同一であるかを検証し、その結果を{FALSE;TRUE; FALSE;FALSE}のような配列で、MATCH関数の検索範囲として渡します。
MATCH関数は検査範囲からTRUEの位置(2)をINDEX関数に渡し、INDEX関数が範囲から2番目の値を抽出します。
また、EXACT関数のように配列を返す関数を別の関数の引数として使う場合、[Ctrl] + [Shift] + [Enter]で確定させ、数式の先頭と最後に{}を追加します。
Excel 2021以降の場合

大文字・小文字・半角・全角を区別して検索したい場合は、VLOOKUP関数の代わりに、XLOOKUP関数とEXACT関数を組み合わます。
たとえば、A列のテキストの中から「pdf」と完全に一致する文字列を探し、その行の容量(B列)を抽出したい場合は、次の数式を使います。
例:=XLOOKUP(TRUE,EXACT(A2:A5,"pdf"),B2:B5)
EXACT関数の引数:(文字列1, 文字列2)
XLOOKUP関数の引数:(検索キー, 検索範囲, 結果の範囲, [見つからない場合の値], [一致モード], [検索モード])
この数式では、EXACT関数で2つの文字列が同一であるかを検証し、その結果を{FALSE;TRUE; FALSE;FALSE}のような配列で、XLOOKUP関数の検索範囲として渡します。
XLOOKUP関数は検索範囲からTRUEを探し、対応する値を結果の範囲から返します。