「XLOOKUP」が「VLOOKUP」の後継関数として登場したようですが、何が便利になったのでしょう?
「XLOOKUP」は「VLOOKUP」よりも検索の範囲指定が柔軟で、検索結果の項目を複数指定すれば複数セルに表示可能です。
「XLOOKUP」は Office 2021 以降に導入された関数で、表や範囲から行ごとの情報検索ができます。
Office 2021 より前のバージョンで Excel を使う相手とはファイルを共有できませんが、最新の Microsoft 365 利用者同士なら大丈夫です。
この「XLOOKUP」で以前からある関数「VLOOKUP」と同じことが可能です。
- エクセル(Excel)の「VLOOKUP関数」とは(2017/5/17)
ですが「XLOOKUP」は「VLOOKUP」でできなかった『柔軟な範囲指定や検索結果の項目を複数指定すれば複数のセルに表示』が可能となっています。
「XLOOKUP関数」の書式(構文)と定義は以下の通り。
=XLOOKUP(検索値, 検索範囲, 戻り配列, [見つからない場合], [一致モード], [検索モード])
範囲または配列で一致の検索を行い、2つ目の範囲または配列から対応する項目を返します。既定では、完全一致が使用されます。
書式の [見つからない場合] [一致モード] [検索モード] は省略可能で、「XLOOKUP関数」を使う場合、多くは「完全一致」で「先頭の項目から検索」するので、今回は省略可能な項目は省略した書式で説明します。
=XLOOKUP(検索値, 検索範囲, 戻り配列)
たとえば「名前」と「部署」の一覧表に「番号」が割り振られており、「番号」から「名前」と「部署」を検索する表を考えてみましょう。
A B C D E F G
1 番号 名前 部署 検索番号 名前 部署
2 1 青木一郎 営業部
3 2 池田二郎 人事部
4 3 三枝三郎 経理部
ここで「E2」に「検索番号」を入力すると、「F2」「G2」に「番号」に対応した「名前」「部署」を表示したい、とします。
つまり「E2」に「2」と入力すれば、「F2」に「池田二郎」、「G2」に「人事部」と表示させたいのです。
これを「XLOOKUP」を使うと「F2」に以下の式を入力します。
=XLOOKUP(E2,A2:A4,B2:C4)
書式「 XLOOKUP(検索値, 検索範囲, 戻り配列)」を使って説明すると
- 「検索値」は「検索番号」を入力する「E2」
- 「検索範囲」は「A2:A4」で検索する「番号」の範囲を指定
- 「戻り配列」は「B2:C4」で「名前」と「部署」の範囲を指定
→ 「F2」に「名前」、「G2」に「部署」が表示される。
となります。
もし「戻り配列」を「B2:C4」でなく「B2:B4」としたら「F2」に「名前」だけが表示されます。
=XLOOKUP(E2,A2:A4,B2:B4)
このように「F2」というひとつのセルに、ひとつの式を入力しただけで「E2」に「検索番号」を入力すると「F2」の「名前」だけでなく「G2」の「部署」も同時に表示できます。
このように隣接した複数セルに結果を表示できる機能が「VLOOKUP」にはなかった「スピル機能」です。
「スピル」という機能と、その「スピル機能を使った関数」が同時に追加された、というわけです。
◆◇◆
同じ例で「VLOOKUP」を使うと、2つのセルに 2つの式が必要になります。
F2 =VLOOKUP(E2,A2:C4,2)
G2 =VLOOKUP(E2,A2:C4,3)
「F2」の「VLOOKUP」式を書式
=VLOOKUP(検索値,検索値を含む範囲,範囲内の列番号,[検索方法])
と使って説明すると
- 「検索値」は「検索番号」を入力する「E2」
- 「検索値を含む範囲」は「A2:C4」で番号、名前、部署の範囲を指定
- 「範囲内の列番号」は「2」で範囲内 2番目の「B列(名前)」を指定
- 「完全一致」で検索するので「検索方法」は省略
ということです。
このように「検索値を含む範囲」を「A2:C4」と指定すると「検索番号」のあるセルは左端の「A列」にないと検索できません。
そのため、同じ表だと「名前」で検索して「番号」を表示させたくても「VLOOKUP」ではできません。
表の「A列」と「B列」を入れ替えるなら可能ですが、入れ替えなくても「XLOOKUP」を使えば
=XLOOKUP(E2,B2:B4,A2:A4)
というように「検索範囲」を「戻り配列」より右側の列に指定可能です。
理解を深めるための「パソコン用語解説」
記事の情報は公開時あるいは更新時のもので、最新情報はリンク先など情報元の公式ページでご確認ください。