K-fix Learning & Playing

06 VLOOKUP関数


検索関数でよく利用されている関数がVLOOKUP関数です。VLOOKUP関数は、Excelの表で、ある値を検索して、その値と同じ行にある別の値を返す関数です。
VLOOKUPとは、「Vertical Lookup」の略で、縦方向に検索するという意味です。書式は以下のようになります。

「検索値」: 表の左端(第2引数で指定した範囲の左端)の列で検索したい値を指定します。
「範囲」: 検索したい表の範囲を指定します。また、必ず左端の列に検索値が含まれるように指定します。
「列番号」: 検索値と同じ行にある、返したい値が入っている列の番号を指定します。列番号は、範囲の左端の列を1として数えます。
「検索方法」: 検索値が範囲の中で完全に一致するか、近似的に一致するかを指定します。0またはFALSEを指定すると「完全一致」、1またはTRUEを指定すると「近似一致」を意味します。検索方法を省略すると、1またはTRUEと同じになります。

VLOOKUP関数を使用している場合、検索値の値が見つからなかった時は「#N/A」のエラーが表示されます。これは、”ノーアサイン(No Assign)”の表示で「該当なし」という意味です。
検索値で指定したセルが空白セルだったり、そのセルの値に該当するものが表になかったことになります。数式としては間違いないけど、エラー表示はしたくない時は、IF関数やIFERROR関数などを利用します。

従来はIF関数でエラー回避の数式を作っていましたが、IFERROR関数が採用されてからは簡潔にエラー回避ができるようになりました。書式は以下になります。

引数の「値」には、エラーの可能性のある数式を指定します。「エラーの場合」には、値がエラーの時に表示するメッセージなどを指定します。
例えば、「=IFERROR(VLOOKUP(B1,C2:D10,3,0),"?")」の数式であれば、VLOOKUP関数の結果がエラーの時に「?」の文字列がセルに表示されます。
IFERROR関数が利用できないバージョンであれば、「=IF(B1="","?",VLOOKUP(B1,C2:D10,3,0))」となります。IF関数の方が分かりやすいという方もいますが、検索値の値の種類が異なるとエラーが表示されるので、万全ではないです。