
VLOOKUP関数、使っていますか?
おそらく、SUMやIFなどと同じくらいポピュラーな関数なので、日々の業務で活用しまくっている人も多いと思います。
しかし、2020年1月30日から、Microsoft 365ユーザー限定で、VLOOKUPの上位関数であるXLOOKUP関数がリリースされました。(2021年3月現在、まだパッケージ/ダウンロード版のExcel 2019/2016やそれ以前のバージョンでは使用できません。いずれそれらのExcelでも使用できるようにアップデートされるものと見込まれます。)
もし現在あなたがMicrosoft 365のExcelをお使いなら、このXLOOKUPは【絶対に覚えておくべき新関数】です。
この記事では、VLOOKUPとの違いを明らかにした上で、XLOOKUPの活用方法を詳しくご説明します。ぜひ新関数を業務に取り入れて、作業効率もUP↑UP↑ を目指してください。
VLOOKUP関数って何?
「おさらい」として、Microsoftサポートに掲載されているVLOOKUPの構文をご紹介します。
=VLOOKUP(検索する値、検索する場所、返す値を含む範囲内の列番号、近似値または完全一致 (1/TRUE、または 0/FALSE) を返します)。
使い方の例として、取扱全商品リストの中から、一部商品を抽出して注文を出すための【注文書】を作ってみましょう。

B6セルには、=VLOOKUP(A6,$A$14:$H$61,2,0) という式が入っています。これで、A6の注文番号を検索値として、全商品リストの中から、2列目の該当商品名を抽出します。第4引数が0(完全一致)なので、全商品リストの中にない注文番号が選択されると、エラーが返されます。
C:F列にはそれぞれ、同じVLOOKUP関数の第3引数を3,4,5,6と打ち変えたものを入れており、抽出する情報を変化させています。
XLOOKUP関数って何? VLOOKUP関数との違いは?
さて、もしあなたがこの注文書を使うお客さんだとしたら、どう思いますか? おそらく「使いづらい注文書だなぁ」という感想を持つのではないかと思います。なぜなら、商品を注文するには「商品名」と「個数」が重要なのであって、お客さんにとってはどうでも良い「注文番号」が「検索する値」になっているため、注文の際にその都度、注文番号を調べなければならないのです。
新関数XLOOKUPを使うと、この不便さは一気に解消できます。
VLOOKUPと同様に、MicrosoftサポートにXLOOKUPの構文は以下のように紹介されています。
=XLOOKUP(検索する値、検索する配列または範囲、返す配列または範囲、[見つからない場合]、[一致モード]、[検索モード])
一見するとVLOOKUPよりも複雑そうですが、後半3つの引数は省略することが可能です。
XLOOKUPがVLOOKUPと異なる最大の点は、「検索する値」が左端になくても良い(任意の列を検索値に設定できる)ということです。
先の注文書を、XLOOKUPを用いて作りかえてみることにします。

まず、注文書は注文商品を選ぶことが一番重要なので、C列:商品名はあらかじめリストから選択できるようにしましょう。

検索結果をPCローカル環境に、EXLOOKUPは、VLOOKUPと異なり、第1引数である[検索値]が表の左端である必要はありません。そこで、「注文番号」「ジャンル」「JANコード」など付随する情報は、C列:商品名を[検索値]としたXLOOKUP関数を使って全商品カタログから取り出せるように、式を入れ替えます。

Microsoft 365のExcelなら「スピル」も使えます
さらに、パッケージ/ダウンロードExcelユーザーにとって羨ましいOffce 365の機能に「スピル」があります。spill;「こぼす」「流す」の意味で、数式を入力したセルから結果があふれ、隣接したセルにも出力される機能のことを指します。

注文書では、D6のセルに、=XLOOKUP(C6,C14:C61,D14:F61)と入れました。そうすることで、JANコードの右隣の「販売価格(税抜)」と「ご注文単位」は、同じ行から自動的に引用されます。
まとめ
Microsoft 365のExcelユーザーならVLOOKUPの替わりにXLOOKUPを!パッケージ/ダウンロード版ユーザーは、新関数搭載をマイクロソフトに強く希望しよう!
VLOOKUPの進化型であるXLOOKUP関数、いかがでしたでしょうか?
XLOOKUPには、Excelを商用データベースとして活用するための便利機能が、満載されています。(この記事では詳細は省きますが、エラー表示 #N/A を表示させない機能や、エラー表示の替わりに文字列(例;”該当データが有りません”)などを返す機能なども備わっています。)
もし、いまあなたがお使いのものがMicrosoft 365版Excelであるならば、VLOOLUP関数で作っている書類は全てXLOOKUP関数に置き換えておきましょう。将来の更新、拡張性が大きく変わってきます。
残念ながらパッケージ/ダウンロード版Excelをお使いの方は、ソフトウエア・アップデートなどで新関数が使えるようになる日を待ちましょう。ただ待つばかりでなく、カスタマーサポートにリクエストとして働きかけていくのもよいかもしれませんね。


