三部会計グループ Sanbe Accounting Group ©︎ 2025 Back Office Solution Inc.

【脱VLOOKUP】Excel作業が劇的に変わる!~XLOOKUP関数のススメ~

こんにちは!今回のコラムを担当させていただくTUNAです!
今回は、意外と知られていない便利なExcel関数『XLOOKUP』をご紹介させて頂きます。

よく就活等で「Excel使える」ってどこから?と聞くと『VLOOKUP』関数の名前が挙げられることが多いです。
それくらい業務での利用頻度が高く、非常に便利なVLOOKUP関数ですが、
 「列を挿入したら数式がズレてエラーになった…」
 「検索したい値より左側の列は探せないのが不便…」
 「#N/Aエラーが表示されるたびにIFERROR関数を組み合わせるのが面倒…」
といった、ちょっとした”かゆいところに手が届かない”経験をしたことがあると思います。

そんなVLOOKUP関数のお悩みを一挙に解決してくれるのが、
今回ご紹介する『XLOOKUP(エックスルックアップ)』関数です!
XLOOKUP関数は、VLOOKUP関数の後継ともいえる新しい関数で、業務効率を格段にアップさせてくれます。
この機会にぜひXLOOKUP関数をマスターして、日々のExcel業務をより快適なものにしましょう!

 


目次

 

そもそも「VLOOKUP」関数って・・・?

「そもそもVLOOKUP関数っていまいちわかってないんだよな」という方もいるかもしれません。
VLOOKUP関数は、「指定した範囲の中から、特定のデータに対応する値を探してきてくれる関数」です。

具体例で見てみましょう!
C2セルに入力した社員番号に応じて、その下のC3セルに社員名を表示したいとします。
その場合はC3セルに「=VLOOKUP(C2,B5:C12,2,FALSE)」と入力することで実現ができます。

指定した範囲(B5:C12)の中から、特定のデータ(C2)を検索すると6行目がヒットします。
その6行目のデータの中から、指定した値(2列目)を探してきてくれる、ということですね!
ちなみに最後の「FALSE」は完全一致するデータを検索するよ、という意味です。
基本的には何も考えずFALSEにしてしまって問題ありません。

 

「XLOOKUPはここが違う!」5つの便利ポイント

そんな便利なVLOOKUP関数ですが、前述の通り少し融通の利かない部分もあります。
XLOOKUPはそのような課題点を解決できる非常に便利な関数なので、
早速、VLOOKUP関数と比較しながら便利なポイントを見ていきましょう!

<関数の記載の仕方>
 =XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])

 

① 列番号の指定が不要!(列の増減に強い)

VLOOKUP関数を使ったことがある方なら、一度は経験したことがあるのではないでしょうか。
「参照元の表に後から1列追加したら、VLOOKUPの結果が全部ズレてしまった…」

VLOOKUP関数では、「=VLOOKUP(検索値, 範囲, ”列番号”, 検索の型)」 のように、
範囲の中で何番目の列からデータを持ってくるかを「列番号」で指定する必要がありました。
そのため、後から列を挿入したり削除したりすると、この「列番号」をすべて修正する必要があり、
非常に手間がかかっていました。

例)
「売上」を参照したいので2列目を参照する数式
「=VLOOKUP($A2,売上データ!$A$2:$C$8,2,FALSE)」を作ったが・・・

A列とB列の間に新しく列を挿入してしまうと「売上」は3列目になってしまう。
しかし数式は自動的には変わらず、2列目を参照したままになるので「予算」の値を引っ張ってきてしまう。

そんな悩みを解決するのがXLOOKUP関数です!
XLOOKUP関数は、「=XLOOKUP(検索値, ”検索範囲”, ”戻り範囲”)」 のように、「どの列を探すか(検索範囲)」と「どの列のデータを表示するか(戻り範囲)」をそれぞれ個別に範囲指定します。
列番号ではなく範囲指定なので、列が追加・削除されても流動的に数式が書き換わり、いちいち数式を修正する必要がありません。

例)
「=XLOOKUP($A2,売上データ!$A:$A,売上データ!$B:$B,””,FALSE)」
→検索範囲はA列を、戻り範囲(売上)はB列を参照。
A列とB列の間に1列追加されると自動的に下記のように書き換わる。
「=XLOOKUP($A2,売上データ!$A:$A,売上データ!$C:$C,””,FALSE)」

これだけでも、メンテナンスの手間が大幅に削減できますね!
 

② 検索キーの左側も検索できる!(範囲の柔軟性)

VLOOKUP関数の隠れた制約、それは「検索値は、指定した範囲の一番左の列になければならない」という点です。
例えば、「社員番号で検索して、氏名を表示する」ことはできても、その逆の「氏名で検索して、左の列にある社員番号を表示する」ことはできませんでした。
このために、わざわざ表の列を入れ替えたり、作業列を作ったり…といった工夫が必要でした。

XLOOKUP関数なら、そんな手間は一切不要です!
先ほど説明したように、XLOOKUP関数は「検索範囲」と「戻り範囲」を自由に指定できます。
そのため、検索したい値が戻り値の右側にあっても、左側にあっても問題ありません。表のレイアウトに縛られずに、柔軟な検索ができるのは大きなメリットです!
 

③ エラー時の値を指定できる!(IFERROR関数が不要に)

VLOOKUP関数で検索した値が見つからなかった場合、「#N/A」 というエラーが表示されます。
これを避けるために、=IFERROR(VLOOKUP(…), “該当なし”) のように、IFERROR関数を組み合わせて使っていた方も多いと思います。
関数が長くなってしまい、少し複雑に見えますよね。

XLOOKUP関数なら、関数単体でエラー処理が完結します!
XLOOKUP関数には、「=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合])」 という4番目の引数があります。
ここに「”該当なし”」や「”データ無し”」のように、見つからなかった場合に表示したい値を指定するだけでOKです!
数式がスッキリして、とても分かりやすくなりますね。
 

④ HLOOKUPの代用としても使える!(縦横無尽の検索)

Excelには、VLOOKUP(Vertical:垂直)によく似た関数として、
HLOOKUP(Horizontal:水平)という関数があります。
VLOOKUPが縦方向の表で使われるのに対し、HLOOKUPは横方向の表でデータを検索する際に使用します。
ただ、状況に応じてVLOOKUPとHLOOKUPを使い分けるのは、少し面倒に感じることもありました。

XLOOKUP関数は、このHLOOKUP関数の役割も担ってくれます!
XLOOKUPは、検索範囲と戻り範囲が「縦方向」でも「横方向」でも、どちらでも指定可能です。
つまり、これからは「表の向きが縦か横か…」と悩む必要はありません。
データ検索はXLOOKUP関数に任せてしまえばOKです!
 

⑤ 複数条件での検索も可能!(より高度なデータ抽出)

「部署名『営業部』、かつ役職『部長』の社員の氏名を検索したい」
このように、複数の条件に一致するデータを抽出したい場合、VLOOKUP関数ではピボットテーブルを使ったり、作業列で条件を結合したりと、複雑な操作が必要でした。

XLOOKUP関数を使えば、こんな複数条件での検索もシンプルに行えます!
(※この部分は少し発展的な内容なので、こんなこともできる、という紹介に留めます)
XLOOKUPでは、& を使って検索値と検索範囲を連結させることで、複数条件の検索に対応できます。
=XLOOKUP(“営業部”&”部長”, 部署の列&役職の列, 氏名の列)
こんな風に数式を書くことで、条件にピッタリ合うデータを探し出すことができます。
少し応用的な使い方ですが、覚えておくとデータ分析の幅がぐっと広がります!
 

まとめ

以上、XLOOKUP関数の便利なポイントをご紹介しました。
VLOOKUP関数と比べて、多くの点で進化していることがわかります。

XLOOKUP関数は、Microsoft 365やExcel 2021以降のバージョンで利用できる関数です。
もしお使いのExcelで利用できるなら、これからのデータ検索はXLOOKUP関数を
メインで使っていくことを強くお勧めします!
まずは日々の業務の中で、VLOOKUP関数を使っている場面をXLOOKUP関数に
置き換えることから試してみてはいかがでしょうか。
 

弊社では、Excelの活用方法に関する研修や、PCを始めとしたIT関連のお悩みを解決する
『IT顧問』というサービスを行っております。
 「社員のExcelスキルを底上げしたい」
 「普段PCを使う中で気軽に相談できる相手が欲しい」
 「トラブルがあった際にすぐに対応してほしい」
といったIT関連のお悩み事がある場合は、ぜひ弊社にお問い合わせください。

こんなことでもよいのかな、というレベルでも全く構いませんので、
まずはこちらからご相談頂ければと思います!

最後まで読んでいただきありがとうございました。
それでは次回もよろしくお願いいたします!