VLOOKUP関数よりも便利「XLOOKUP関数
検索値に対応する値を取り出す「VLOOKUP関数」はビジネスに必須とも言われます。その後継「XLOOKUP」はご存じですか? Microsoft 365や2021で利用可能です。
XLOOKUP関数は、検索値は検索対象の 左端 になくてもOK、抽出対象の列番号を指定する必要もありません。しかも「スピル」に対応しているので、数式のコピー&ペーストの手間も省けます。
XLOOKUP関数への切り替えに抵抗があるかも知れませんが、VLOOKUP関数よりも扱いは簡単。
XLOOKUP関数の基本
構文を見てみましょう。引数は6ありますが、最初の[検索値][検索範囲][戻り範囲]の3つを指定すれば動作します。4つめの引数[見つからない場合]は検索値が見つからない場合に表示するメッセージなどを指定できます。
[一致モード]は[検索値]との一致の判定基準です。「0」または省略で「完全一致」です。完全一致での検索がほとんどだと思いますので、省略と覚えてしまっていいでしょう。
また、一般的な用途で[検索モード]を気にする必要はありません。「1」または省略で先頭から末尾に向かって検索します。
構文もVLOOKUP関数よりも簡略化されています。[検索値]と[検索範囲]は引数名そのままの意味です。対応する値を取り出す[戻り範囲]はセル範囲で指定するのでわかりやすいと思います。簡単な例で動作を確認しましょう。社員番号から対応する氏名を取り出してみます。
VLOOKUP関数で記述するなら「=VLOOKUP(E2,A2:C21,2,FALSE)」です。XLOOKUP関数なら「FALSE」も不要、列番号を数えて指定する必要もありません。
ただし[検索範囲]と[戻り範囲]の高さに注意。この例で例えば[検索範囲]を「A2:A21」、[戻り範囲]を「B2:B22」などと指定しまうと、#VALUE!エラーになってしまいます。列全体を指定して回避する手もあります。
[検索値]よりも左側を検索可能
[検索値]を検索する値を検索対象とする表の 左端 に配置しておかなればならないのが、VLOOKUP関数の弱点でした。[検索範囲]と[戻り範囲]を個別に指定するXLOOKUP関数では、そのような気遣いは無用です。例えば、氏名から社員番号を取り出してみましょう。
「該当なし」のメッセージを表示
[検索値]が見つからない場合の処理も簡単。VLOOKUP関数では、IF関数などと組み合わせていましたが、XLOOKUP関数では、4つめの引数[見つからない場合]に指定するだけです。表にない社員番号を検索して「該当なし」メッセージを表示してみます。










