
VLOOKUP関数を用いた検索で「あれば〇」を「なければ×」という「あるかないかを〇×で判定する方法」を解説します。
目次
完成イメージ

右表「資格手当一覧」に該当する取得資格を持つ社員に対して、左表「社員別資格手当」の「資格手当有無」に〇×を振るイメージです。
わかりにくかったらすみません、、、コメント頂ければと思います。
VLOOKUPであるかないかを〇×判定する方法
ISERROR関数を使用する場合

=IF(ISERROR(VLOOKUP(C3,$F$3:$G$4,2,FALSE)),"×","〇")
ISERROR関数は数式が以下のエラーとなる場合にTRUE(真)を、そうでない場合はFALSE(偽)を返す関数です。
- #DIV/0!
- #N/A
- #NAME?
- #NULL!
- #NUM!
- #REF!
- #VALUE!
VLOOKUP関数を使用した場合、検索範囲に該当するセルが見つからない場合は「#/N/A」というエラーになり、その他検索範囲を不適切に指定した場合は「#REF!」が返る場合もあります。
上記エラーが発生した場合は、VLOOKUP関数による検索が行えずエラーとする目的でVLOOKUP関数の数式をISERROR関数関数で囲います。
更にIF文で囲っている為、ISERROR関数内のVLOOKUP関数がエラー(=TRUE(真)であれば、"〇"となり、そうでなければ"×"が設定されることになります。

〇×だけでなく、エラーとなった場合は固定値を指定するという使い方も出来ます。上記例では「資格手当一覧」より取得できなければ手当ゼロとして、ISERROR関数による結果がTRUE(真)の場合は固定で「0」とし、FALSE(偽)が返ってきた場合は改めてVLOOKUP関数で検索をかけにいくようにしています。
=IF(ISERROR(VLOOKUP(C5,$F$3:$G$4,2,FALSE)),0,VLOOKUP(C5,$F$3:$G$4,2,FALSE))
ISNA関数を使用する場合

=IF(ISNA(VLOOKUP(C3,$F$3:$G$4,2,FALSE)),"×","〇")
先のISERROR関数では複数の数式エラーを対象に「エラーとなった場合はTRUE(真)を返す」としていましたが、ISNA関数は「#N/Aエラーの場合にTRUE(真)を返す」ものです。
数式自体が正しい(検索範囲の指定や数式構文に問題がない)ことは確認できた上で、検索範囲に合致するものがあった場合は"〇"とし、そうでない場合は"×"とすることを目的とする場合はISNA関数で十分です。
補足ですが、逆に「#N/A以外のエラーの場合にTRUE(真)を返す」事を目的とした関数として「ISERR関数」というものがあります。目的に応じて使い分けるのが良いでしょう。
他の人と共有する系の資料やレビューを要する資料であれば関数名から内容がわかりやすい「ISERROR関数」を使うのが無難かもしれません。