VLOOKUPでFALSEとTRUEを使い分ける
VLOOKUP関数は、Excelで指定した範囲内から特定の値を検索し、その値に対応するデータを取得するExcelの関数です。VLOOKUP関数はExcelでは非常によく利用される関数ですが、引数のFALSEやTRUEの使い方をよく知らないという人が少なくありません。
実際にFALSEやTRUEは数値で代用できるため、数値として覚えている方が少なくないのも理由としては考えられます。また、FALSEとTRUEを使い分けるのが苦手だという方もいます。
そこで、この記事では、この2つの違いや具体的な使い分け方を図解します。VLOOKUPが苦手で強くなりたい方はぜひ参考にしてください。
【参考】:リモートワーク コラム_VLOOKUP関数の使い方を徹底解説 | Microsoft for business 【参考】:VLOOKUP|Microsoft Support
FALSEとTRUEの違いについて
VLOOKUP関数の4番目の引数である「検索の型」には基本的にFALSEとTRUEの2種類があり、どのように検索するかを決定します。両者の違いは、次の通りです。
◼︎FALSE(完全一致) 指定した検索値と完全に一致するデータを検索します。またFALSEは数字の「ゼロ」を用いても同じ扱いになりますので、FALSEと数字のゼロに違いはありません。
◼︎TRUE(近似一致) 指定した検索値よりも小さいデータの中から、検索値に最も近い値を返します。ただし、検索範囲の先頭列はデータが昇順に並んでいる必要があります。また、「検索の型」は省略してもエラー等にはならず、代わりにTRUEが自動設定されますので、間違いを防ぐためにも省略はしないように習慣づけましょう。
VLOOKUP関数の基本構造
初めにVLOOKUP関数の基本をおさらいしておきましょう。VLOOKUP関数は、Excelなどの表計算で特定の値に紐づくデータを探し出す関数です。言ってみれば、電話帳で名前から電話番号を探すようなイメージです。VLOOKUP関数の基本的な構文は以下の通りです。
=VLOOKUP(1.検索値,2.範囲,3.列番号,[4.検索の型])
VLOOKUP関数の引数
VLOOKUPの引数は先頭から、「1.検索値」「2.範囲」「3.列番号」「4.検索」の4つです。引数は順序が決まっており、順序を変えることはできません。また引数の役割をよく理解し、正しく使用することが大切です。
1.検索値 検索値は、検索の鍵となる値を指定します。数値、文字列、日付など、任意のデータ型を指定できますが、範囲内の最初の列に存在する必要があります。検索値を複数にしたい場合は「D3&E3」のように、複数のセルを「&」でつなぐだけで複数条件になります。
2.範囲 検索範囲をセル範囲で指定します。絶対参照を使うと、数式を他のセルに移動しても検索の範囲はずれません。また、範囲の先頭列に検索値が見つからないと「#N/Aエラー」となります。検索範囲は別シートに設定しても問題ないため、後々の管理を考えると別シートに設定した方がいいでしょう。
3.列番号 取得したいデータの列番号を指定します。列番号は必ず整数であり、最大で256までです。
4.検索の型 FALSEかTRUEのいずれかを指定しますが、数値でも代用が可能です。完全一致は「FALSE」もしくは数字のゼロとし、近似一致の場合は「TRUE」か「1」を記述します。近似値検索では、戻り値は「検索値よりも小さい値の中で最も大きな値」が返されます。
VLOOKUP関数の式
次の例では商品一覧表から品名で該当商品を探し、該当する商品の単価を求めています。検索範囲は、他のセルに式をコピーしてもずれないよう絶対参照※になっています。
(※絶対参照とは、Excelなどで式が入力されたセルの位置に関わらず、特定のセルの位置を固定して参照する方法です。列のアルファベットと行の数字の前にそれぞれ「$(ドルマーク)」を付加することで絶対参照となります。)
ここでの検索値はD3に入力された「梨」です。検索範囲はA3からB7までとしています。また、式をコピーして他のセルで利用した時に、検索範囲がずれないよう、各セル番号に$を追加して絶対参照にしました。
品名と対になる単価は2列目にありますので、列番号は「2」を指定します。検索の型は完全一致としたいので「FALSE」と記述しています。
FALSEを使った完全一致検索
VLOOKUP関数でよく利用される完全一致検索では、検索の型に「FALSE」を用い、検索値と完全に一致するデータのみを抽出します。そのため完全一致検索と称します。ここではその事例を2つ紹介します。
事例1「商品コードから名を検索する」
下のExceシートでは、A列とB列に商品コードと商品名が対応付けられた商品一覧表があります。D列に商品コードを入力するとE列に自動的に商品名が表示される式を作成してみましょう。
これは、D3セルに入力された商品コードをA3:B7の範囲から探し、一致する行のB列(品名)の値を返すという式です。
事例2「社員番号から氏名を検索する」
社員番号と氏名が対になっている社員一覧表を、D列の社員番号で検索し、E列に社員名が自動的に表示される式を作成してみましょう。
この式が実行されると、D列に入力された社員番号で社員一覧表を検索し、マッチした場合に氏名がE列に表示されます。
FALSE:完全一致検索のポイント
完全一致検索は、特定の値から正確な情報を引き出す際に非常に有効で、ユニークな値でデータを管理している場合に便利です。「検索の型」は省略できますが、その場合にはTRUE(近似一致)として扱われますので、注意が必要です。
またFALSEでは、検索範囲の最初の列に、検索値と同じデータ型で重複のないデータが入力されている必要があります。
他、検索値が見つからない場合には#N/Aエラーが表示されますので、この#N/Aエラーの扱いについてあらかじめそのまま表示させるのか、他の表示とするのか決めておいた方がいいでしょう。
TRUEを使った近似一致検索
VLOOKUP関数では、4番目の引数に「TRUE」を指定することで近似一致検索になり、検索値と一致する値がなければ、検索値よりも小さいデータの中から最大値のデータを返してくれます。
事例1「成績データから評価を割り当てる」
生徒の点数とそれに対応する評価が評価表として用意されています。D列に入力された生徒の点数から、対応する評価がE列に自動的に表示される式を作成してみましょう。
注意: TRUEで「近似一致検索」を行う場合、検索範囲の最初の列は必ず昇順に並んでいる必要があります。降順に並んでいてもエラーにはなりませんので、あらかじめ昇順になっていることを確認しておきましょう。
事例2「製品の価格帯を自動的に設定する」
以下のExcelシートには、製品価格と価格帯が対応付けられた表があります。製品価格を入力すると、対応する価格帯が自動的に表示されるように式を考えてみましょう。
これは、D3セルに入力された価格をA3:B7の範囲から探し、検索値よりも小さいデータの中から最大の値を持つ行のデータ(評価)の値を返すという式です。このように幅のある価格帯を取得する際にもTRUEは有効です。
FALSE:近似一致検索のポイント
VLOOKUP関数のTRUEを使った近似一致検索は、範囲内のデータから、ある値に最も近い値を探したい場合に非常に便利です。しかし、データの並び順や範囲の設定に注意する必要があります。
近似一致検索は数値データに対して特に有効ですが、文字列データには明確な大小関係がなく、近似一致検索は困難なため、避けた方がいいでしょう。
FALSEとTRUEを使い分ける際に注意すべきこと
FALSEとTRUEにはそれぞれ特性があり、使用状況によってメリット・デメリットが異なりますので、それらを正しく理解した上で適切に使い分けることが大切です。
FALSEとTRUEのメリット・デメリット
FALSEとTRUEを正しく使い分けるためには、まずそれぞれの機能に加え、メリットとデメリットを正しく理解しておく必要があります。以下、メリットとデメリットを比較表にしたので参考にしてください。
検索の型を選ぶポイント
検索の型としてTRUEとFALSEのどちらを選択すれば良いのか迷うことがあります。その場合は、以下の基準で選択しましょう。それでも不安なら、それぞれ試してみて結果を確認することをおすすめします。
▪️検索値とデータを必ず一致させたい時には、FALSEを選択する ▪️大まかな範囲での近似値が許容される場合や、範囲が昇順に並んでいる場合はTRUEを選択する
#N/Aエラーの回避方法
FALSEの完全一致検索では、検索値が見つからない場合に必ず#N/Aエラーが発生します。このエラーを回避したい時は、IFERROR関数を利用してエラーを回避し、さらに代わりの値やメッセージを表示することができます。
'=IFERROR(VLOOKUP(D3,(D3,$A$3:$B$7,2,FALSE),"データが見つかりません")
VLOOKUP関数を活用しよう
この記事ではVLOOKUP関数を使う際に指定するFALSEとTRUEの違い、それぞれの使い方を事例を交えて解説しました。FALSEとTRUEは用途や目的が全く異なるため、注意をしながら使い分けをしましょう。
必要な顧客データの抽出、商品在庫の管理、請求書作成の自動化など、VLOOKUP関数は実務の多くの場面で活用できて業務の効率化を図れますので、積極的な利用をおすすめします。
マイナビエージェントに無料登録して
転職サポートを受ける
その他のVLOOKUP関連記事
その他、VLOOKUPに関連する内容は、下記の記事でもご紹介しています。ぜひ参考にご覧ください。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから