Microsoft、Excel関数「XLOOKUP」を発表、「VLOOKUP」の後継:VLOOKUPの制約を克服
Microsoftは、新しいExcel関数「XLOOKUP」を発表し、β版を提供開始した。「VLOOKUP」や「HLOOKUP」の後継となる関数だ。併せて「XMATCH」関数も発表した。
Microsoftは2019年8月28日(米国時間)、「VLOOKUP」関数の後継となる新しいExcel関数「XLOOKUP」を発表し、「Office Insider」プログラムの参加者にβ版の提供を開始した。今後数カ月間、最適化を行うという。
VLOOKUPの歴史は長い。1985年にリリースされた「Excel 1 for Macintosh」に含まれている関数であり、Microsoftによれば現在でも「SUM」「AVERAGE」に次いで3番目によく使われているという。
XLOOKUPは垂直(Vertical)方向に検索(Look Up)するVLOOKUPと、水平(Horizontal)方向に検索(Look Up)する「HLOOKUP」を兼ねた働きを持つ。つまり垂直と水平の両方向に検索する関数だ。
最も簡単な検索形式では、3つの引数を取り、その場合、最もよく使われる完全一致検索を実行できる。このとき、必要な引数の個数がVLOOKUPより1つ少ない。
XLOOKUP(検索値, 検索範囲, 戻り値の配列)
- 検索値:何を検索するか
- 検索範囲:どの範囲を検索するか
- 戻り値の配列:何を返すか(VLOOKUPとは異なり、複数の項目を含む配列を返すことができる)
XLOOKUPで高度な検索を行うには
XLOOKUPで高度な検索を行うには、第4引数(一致モード)と第5引数(検索モード)を使う。構文は次のようになる。
XLOOKUP(検索値, 検索範囲, 戻り値の配列, [一致モード], [検索モード])
一致モードでは、どのように一致するのかを指定できる。オプションは次の通り。
- 0:完全一致(デフォルト)
- -1:完全一致または検索値の次に小さい項目
- 1:完全一致または検索値の次に大きい項目
- 2:ワイルドカード一致。「?」は、任意の1文字と一致し、「*」は、任意の数の文字と一致する
検索モードでは、検索の種類と方向を指定できる。オプションは次の通り。
- 1:昇順に検索する
- -1:降順に検索する
- 2:昇順に並べ替えられたデータを二分探索する
- -2:降順に並べ替えられたデータを二分探索する
なぜXLOOKUPを発表したのか
Microsoftは、今回の発表について次のように説明している。
「VLOOKUPは広く使われてきたが、次のようなよく知られた制約がある。XLOOKUPはこれらの制約を克服した」
- デフォルトが完全一致ではなく“近似”一致である(第4引数を明示的に「FALSE」に設定する必要がある)
- 列の挿入/削除をサポートしていない(第3引数の数値をユーザーが適切に増減する必要がある)
- 検索対象列が検索範囲の一番左であるため、さらに左の列の値を返すことができない(元データをユーザーが並べ替える必要がある)
- 降順に検索できない(ユーザーが元データの並び順を逆にしなければならない)
- 次に大きな項目を検索できない
- 必要以上に多くのセルを参照する
MicrosoftはVLOOKUPとHLOOKUPを、Excelで引き続きサポートする。だが、これらの代わりにXLOOKUPを使うことを強く推奨している。XLOOKUPはより使いやすく、先述したような制約がないからだ。
XMATCH関数を併せて発表
MicrosoftはXLOOKUPとともに、「MATCH」関数の後継となる「XMATCH」関数も発表した。β版提供と一般公開のスケジュールはXLOOKUPと同じ。
XMATCHは、以下のようにXLOOKUPと同様の引数を取り、一致した項目のインデックスを返す。
XMATCH(検索値, 検索範囲, [一致モード], [検索モード])
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
ExcelなしでExcelファイルを操作するには?(純正SDK編)[.NET 3.5、C#/VB]
Open XML SDKを使用して、Excelファイル(.xlsxファイル)をC#やVisual Basicから作成したり、それに対して書き込み/読み込みを行う方法を説明する。Excelで、複数行・複数列をまとめて挿入する方法
Excelで行や列の途中にデータを追加したい場合、行挿入/列挿入を行う必要がある。複数の行や列を挿入する場合、1行/1列ずつ挿入していたのでは面倒だ。そこで、素早く複数行/列を挿入する方法を紹介する。これなら使えるExcel VLOOKUP関数
ExcelのVLOOKUP関数は、複数の表から一致するデータを検索して、表を上手に結合してくれる便利な機能だ。ただ利用には、ちょっとした手順を踏む必要があり、ついつい忘れがちだ。本Tech TIPSでは基本的なVLOOKUP関数の使い方の要点をまとめる。