VLOOKUP関数で「FALSE」と「TRUE」をどう使い分けるか

VLOOKUP関数FALSEとTRUE

使用関数:VLOOKUP

検索方法の「FALSE」は検索値と完全一致の値を抽出して表示、「TRUE」は完全一致が無い時は近似値も検索して表示します。言葉だけだと分かったような分からないような感じで、イマイチ把握できませんよね。この検索方法の違いを明確にします。

引数「検索方法」の指定

VLOOKUP関数には「検索方法」という引数があり、「FALSE=完全一致の値を検索」と「TRUE=近い値も検索」の二者択一で指定します。

「検索方法」を指定するには、「FALSE」は「0」を入力、「TRUE」は「1」を入力するか空欄のままにします。(FALSE、TRUEと入力してもOK)
「FALSE」は「0」を入力、「TRUE」は「1」を入力

通常は「FALSE」指定

VLOOKUP関数は、多くの場合、特定のデータを表から抜き出して、そのまま転記する目的で使われます。そんなシンプルな使い方であれば、迷わず、「FALSE」を選びましょう。

VLOOKUP関数のまとめページでは、「価格表」の「商品コード」から「商品名」を引っぱってくる例を解説しています。
「価格表」から「商品名」を検索して「請求明細」のセルに自動入力
この例の「検索方法」は「FALSE」を指定しています。「商品名」は決定された値で、状況によって変動することも曖昧になることもないという理由だけでなく、文字列を抽出する場合は「TRUE」にするとエラーになります。文字列の曖昧検索をVLOOKUPで行うためには、ワイルドカードを使いますが、その場合でも指定するのは「FALSE」です。
「検索方法」に「FALSE」を指定
です。

「TRUE」を指定する例

さて、問題は「TRUE」の方ですね。
「近似値も検索する」とは、具体的にどういうことでしょう?

この説明のための実例として、下図の「重量合計」を検索値にして「配達料金表」から「配達料」を表示させてみます。
「=VLOOKUP(F12,配達料金表!$A$5:$D$8,2,1)」を配達料のセルに入力します。
数式の組み立て方はVLOOKUPの使い方を参照して下さい。
VLOOKUP関数で「重量合計」を検索値にして「配達料金表」から「配達料」を表示させる
「重量の合計」から「配達料」を自動入力する参照データである「配達料金表」を見て下さい。
「配達料金表」
「重量」の値は「10, 20, 30, 50」になっています。
これは、「10kgまでなら配達料は500円」「30kg以上50kg未満なら1500円」という表示です。
VLOOKUP関数で仮に「FALSE=完全一致検索」を選んだとすると、米2袋で総量が20kgなら問題はありませんが、米4袋で総量40kgだと完全一致の値が無いのでエラーになってしまいます。
そこで、「TRUE=近似値も検索」の出番です。
「近似値も検索」とは、「前行の値以上~次行の値未満」の「~」に含まれる全ての数値も検索対象になるということで、総量40kgの配達料を求めれば、1500円と返してくれるわけです。
下図は実際に商品コードと数量を打ち込んで「重量合計」と「配達料」を自動入力させた結果です。
TRUE指定のVLOOKUP関数で「重量合計」と「配達料」を自動入力させた結果

タイトルとURLをコピーしました