VLOOKUPの第4引数TRUEとFALSEの違いを図解で解説。完全一致・近似一致の動作の違いと、0/1/FALSEを省略するとどうなるかまで実務サンプル付きで紹介します。
目次
この記事でわかること
- TRUEとFALSEの動作の違い(完全一致・近似一致)
- なぜTRUEが「静かな罠」になるのか
- 第4引数を省略するとTRUEと同じ動作になる理由
- 近似一致(TRUE)が本当に役立つ実務シーン(評価ランク・送料テーブル)
- 0・1での指定とFALSE・TRUEの対応関係
VLOOKUPのTRUEとFALSEの違いを1分で理解する
VLOOKUPの第4引数(検索方法)は、どのように一致を判定するかを指定します。
| 指定 | 動作 | 使う場面 |
| FALSE(または0) | 完全一致:検索値と完全に同じ値だけを探す | 商品ID・社員番号など、完全に一致するものを探すとき |
| TRUE(または1)または省略 | 近似一致:完全一致がなければ「それ以下で最も近い値」を返す | 点数→評価ランク・金額→送料など、範囲で区切るとき |
通常の検索では必ずFALSEを使ってください。 (※)TRUEは特定の用途以外では意図しない結果を返します。その「特定の用途」については後述で確認してください。
(※出典:Microsoft サポート「VLOOKUP 関数」)
なぜVLOOKUPのTRUEは罠になるのか
TRUEの説明に入る前に、なぜこれが問題になるのかを先に理解しておいたほうが後の説明が腹落ちします。
TRUEを指定すると(または第4引数を省略すると)、VLOOKUPは「完全一致がなければ、それ以下で最も近い値を返す」という動作をします。一見便利に聞こえますが、これは商品IDや社員番号のように完全一致で探すべきデータに使うと誤った値を返すという意味でもあります。
たとえばマスタに「A001」「A003」があって、「A002」を検索したとき。TRUEなら「A002より小さい最も近い値」として「A001」のデータを返しますが、FALSEなら#N/Aを返して「見つからなかった」と正直に知らせてくれます。
「存在しないデータなのに、存在するかのように見える結果が返ってくる」これがTRUEの罠。エラーが出ないぶん、ミスに気づけないのが一番怖いところです。
VLOOKUPのFALSE(完全一致)の使い方と動作

=VLOOKUP(C3, F:I, 2, FALSE)
FALSE を指定すると、検索値と1文字も違わず完全に一致するデータだけを探します。
- 「A001」は「A001」にしかヒットしない
- 一致するデータがなければ #N/A を返す
これが基本の使い方です。 商品ID・社員番号・郵便番号など、明確に一致するコードや名称を検索するときは常にFALSEを使います。
VLOOKUPのTRUE(近似一致)の使い方と動作
=VLOOKUP(C3, F:I, 2, TRUE)
TRUE を指定すると、完全に一致するデータがなかった場合に「検索値以下で最も近い値」を返します。
たとえば検索値が 75 で、マスタに 70 と 80 がある場合、TRUEでは 70(75以下で最も近い値)の行を返します。
この動作は「商品IDの完全一致検索」には完全に不向きです。TRUEが本領を発揮するのは後述の「範囲で区分する」ケースに限られます。
近似一致の実務活用例:評価ランク表・送料テーブル
TRUEが役立つのは「数値の範囲に応じて区分を当てはめる」ケースです。「境界値を定義しておいて、それを超えたら次のランクへ」という仕組みを作るのに向いています。
例①:テスト点数→評価ランク
| 点数(境界値) | 評価 |
| 0 | D |
| 60 | C |
| 70 | B |
| 85 | A |
=VLOOKUP(B3, $E$2:$F$5, 2, TRUE)
→ 75点 → 70以下で最も近い「70」の行 → 評価「B」が返る


例②:受注金額→送料テーブル
| 金額(境界値) | 送料 |
| 0 | 800 |
| 3000 | 500 |
| 10000 | 0 |
=VLOOKUP(D3, $G$2:$H$4, 2, TRUE)
→ 5,000円の注文 → 3,000以下で最も近い「3,000」 → 送料「500円」
VLOOKUPでTRUEを指定するときの注意点(昇順ソートが必須)
TRUEを使う場合、検索範囲(マスタの左端列)を必ず昇順(小さい順)に並べておく必要があります。
昇順になっていないと正しい結果が返りません。これはVLOOKUPのTRUE検索がバイナリサーチ(二分探索)アルゴリズムで動作するためです。(※)並び順が崩れた状態でTRUEを使うと、デタラメな値が返ってきます。
(※出典:Microsoft サポート「VLOOKUP 関数」)
昇順ソートの手順
- 検索列のセルをひとつクリック
- 「データ」タブ → 「昇順」ボタンをクリック
0・1での指定とFALSE・TRUEの関係
Excelでは FALSE = 0、TRUE = 1 として扱われます。そのため以下はすべて同じ動作です。
| 記述 | 動作 |
| FALSE | 完全一致 |
| 0 | 完全一致(FALSEと同じ) |
| TRUE | 近似一致 |
| 1 | 近似一致(TRUEと同じ) |
| 省略 | 近似一致(TRUEと同じ) |
「省略すると近似一致になる」ことは見落としやすいポイント。第4引数を書き忘れると意図せずTRUEモードで動作し、誤った値が静かに返ってきます。前述した「TRUEの罠」がまさにここで起きるのです。慣れていても書き忘れることがあるため、常にFALSEを明示する習慣をつけておくことをおすすめします。
よくある質問(FAQ)
Q. 第4引数を省略しても大丈夫ですか?
A. 省略するとTRUE(近似一致)として動作します。「省略=デフォルト=完全一致」と誤解している方が多いですが、実際は逆です。必ずFALSEを明示してください。
Q. XLOOKUPにもTRUE/FALSEの指定はありますか?
A. XLOOKUPでは「一致モード」として第5引数で指定します。0 が完全一致(デフォルト)、-1 が以下近似、1 が以上近似、2 がワイルドカードです。デフォルトが完全一致なので省略しても誤動作しない。この点がVLOOKUPより大きく改善されています。
Q. 近似一致で「以上で最も近い値」を返せますか?
A. VLOOKUPのTRUEでは「以下で最も近い値」しか返せません。「以上で最も近い値」を返したい場合はXLOOKUP(一致モード 1)を使うのが最もシンプルです。
⇩ XLOOKUP関数の詳しい解説はこちら ⇩
【脱VLOOKUP】XLOOKUP関数の使い方を図解!列数え不要・エラー処理もこれ1本で完結
【脱VLOOKUP】XLOOKUP関数の使い方を解説!列数え不要・エラー処理もこれ1本で完結
この記事でわかること XLOOKUPの基本の使い方(コピペOKの数式付き) 受注管理表を使った実務シミュレーション #N/Aエラーをなくす方法 スピル・複数条件…
まとめ
VLOOKUPのTRUEとFALSEの違いを整理します。
- 通常の検索には必ずFALSE(または0)を使う
- FALSEは完全一致。一致がなければ#N/Aを返す
- TRUEは近似一致。省略してもTRUEと同じ動作になるため要注意
- TRUEが活躍するのは「評価ランク表・送料テーブル」など境界値で区分する場面だけ
- TRUEを使う場合はマスタを昇順ソートしておくことが必須
「第4引数は毎回FALSEを書く」これを習慣にするだけで、TRUEによる静かな誤動作を完全に防げるので、ぜひ試してみてください。
あわせて読みたい
VLOOKUPで値があるのにヒットしない見つからない原因と対処法【図解】
この記事でわかること 「値はあるのにヒットしない」が起きる”認知のズレ”の正体 数値・文字列の型違い/全角半角混在/不可視スペース/日付型の不一致の見分け方と修…
VLOOKUPで#N/Aエラーが出る原因と直し方【図解】|消す方法・表示を変える方法まで
この記事でわかること #N/Aエラーが出る4つの原因(全角・半角/スペース/型の不一致/データなし) 原因別の修正方法(ASC・TRIM・VALUE関数など) …
VLOOKUPの使い方とは?基本構文・よくあるエラーまで完全ガイド
この記事でわかること VLOOKUPの基本構文(コピペOK) 別シート参照・複数条件の使い方 #N/A・#REF!などエラーの原因と直し方 VLOOKUPでは限…
文/Habiny







DIME MAGAZINE















