プログラミング

【EXCEL入門】「VLOOKUP」の進化版「XLOOKUP」をわかりやすく解説

-プログラミング
-

XLOOKUPの使い方を図解付きでわかりやすく解説。 EXCEL初心者でも記事の通りにやるだけでXLOOKUP関数を使えるようになります! 

解説

普段からExcelを使っているなら、VLOOKUP関数はおなじみの関数。

名前くらいは知っている方も含めれば、ほとんどの方知っていると答えるような非常にメジャーな関数だと思います。

VLOOKUP関数は表を縦方向(Vertical)に検索し、特定のデータに対応する値を取り出す関数です。

兄弟のような関数で、表を横方向(Horizontal)に検索するHLOOKUP関数もよく知られています。

そして、この人気の高い2つの関数の機能を持った新関数がMicrosoft365時にリリースされました。

そして、この人気の高い2つの関数の機能を兼ね備えつつ、大幅に機能が強化された新関数「XLOOKUP関数」がMicrosoft 365ユーザー向けに提供されました。

今回は「XLOOKUP関数」の特徴と使い方を説明していきます!

XLOOKUP関数とは

VLOOKUP関数とHLOOKUPの機能を兼ね備えつつ、大幅に機能が強化された新関数

<式>

=XLOOKUP(検索値, 検索範囲, 戻り範囲, 見つからない場合, 一致モード, 検索モード)

<引数の説明>

検索値 どの値で検索するか

(必須)

検索範囲 検索をしたい範囲

(必須)

戻り範囲 どの値(範囲)を返すか

(必須)

見つからない場合 検査結果が見つからない場合の代替テキスト

一致モード

0 - 完全一致。 見つからない場合は、#N/A が返されます。 (既定の設定)

-1 - 完全一致。 見つからない場合は、次の小さなアイテムが返されます。

1 - 完全一致。 見つからない場合は、次の大きなアイテムが返されます。

2 - *、?、および 〜 が特別な意味を持つワイルドカードの一致。

検索モード

1 - 先頭の項目から検索を実行します。 (既定の設定)

-1 - 末尾の項目から逆方向に検索を実行します。

2 - 昇順で並べ替えられた検索範囲を使用してバイナリ検索を実行します。 並べ替えられていない場合、無効な結果が返されます。

-2 - 降順で並べ替えられた検索範囲を使用してバイナリ検索を実行します。 並べ替えられていない場合、無効な結果が返されます。

XLOOKUP関数の使い方

使用例1|基本的な使用例

一番基本的な使い方になります。

<例>

氏名」にXLOOKUP関数を使って「社員ID」を検索値として表から社員IDを取得するようにしています。

<解説>

社員IDを元に氏名を取得しています。VLOOKUP関数とやっていることは同じですが、どの値をどこから持ってくると指定をより明示できるようになったため、VLOOKUP関数と比較して、とてもわかりやすくなっています。

  • 青枠:この値を検索する
  • 赤枠:検索をする範囲を指定する
  • 紫枠:戻り値を取得する範囲を選択指定する
  • なし:社員名と社員IDが一致しない場合「なし」と返す
  • 1:完全一致で検索する
  • 1:先頭から検索する

3つ目までは指定が必要です。4つ目以降は任意項目となるので、必須とはなりません。今回は例なので明示的に設定をしています。

使用例2|検索値が左端にない例

今度は、検索値が左端にないパターンです。

VLOOKUP関数では、エラーになりますが、XLOOKUP関数ではエラーとならずに値を取得することができます。

<例>

社員ID」にXLOOKUP関数を使って「氏名」を検索値として表から社員IDを取得するようにしています。

<解説>

VLOOKUP関数で、エラーとなってしまい実現できなかったやり方です。XLOOKUP関数では検索値を左端にする必要がないため、このような使い方ができます。

すでに表やCSVが出来上がっているデータの場合、VLOOKUP関数ではいちいち検索中を一番左に持ってくるために加工をしなければならないことがよくありました。

XLOOKUP関数ではこのように柔軟に設定ができるので加工する余計な手間を省くことができるのは大きなメリットです。

  • 青枠:この値を検索する
  • 赤枠:検索をする範囲を指定する
  • 紫枠:戻り値を取得する範囲を選択指定する
  • なし:社員名と社員IDが一致しない場合「なし」と返す
  • 1:完全一致で検索する
  • 1:先頭から検索する

使用例3|複数のセルに計算結果を返す例

今度は、複数のセルに計算結果を返すパターンです。

XLOOKUP関数は「スピル」に対応しています。

そのため、XLOOKUP関数では指定した範囲の値をまとめて取得することができます。

<例>

氏名」「年齢」「性別」にXLOOKUP関数を使って「社員ID」を検索値として表から社員IDを取得するようにしています。

XLOOKUP関数は「氏名」のみ設定をしています。「年齢」「性別」は「氏名」に設定したXLOOKUP関数でまとめて取得しています。

<解説>

今まではすべてのセルに関数を設定しなければいけませんでしたが、スピルに対応しているXLOOKUP関数では、隣接するセルのデータをまとめて取得できます。

すべてのセルにいちいち関数 を書かずに済むのは大きなメリットです。

また、スピル自体非常に強力な新機能です。

  • 青枠:この値を検索する
  • 赤枠:検索をする範囲を指定する
  • 紫枠:戻り値を取得する範囲を選択指定する
  • なし:社員名と社員IDが一致しない場合「なし」と返す
  • 1:完全一致で検索する
  • 1:先頭から検索する

まとめ

今回は新しくExcelに追加されたXLOOKUP関数をご紹介しました。

VLOOKUP関数で不便に感じていた部分を解消したまさにVLOOKUP関数の進化版と呼ぶに値する関数です。

またスピルへの対応など使いこなせれば非常に強力な関数です。

唯一の弱点は、対応できるExcelのバージョンが限定されている部分です。

特に仕事で使う場合はお客様の使う環境で対応してるかどうかをあらかじめきちんと確認しておかないと、環境によっては エラーとなってしまうなど問題が起きてしまいます。

気をつけるとこだけはきちんと気をつけて使うことで業務効率に大きく貢献できると思うのでぜひ利用してみてください!

≪こちらもオススメ≫

-プログラミング
-