VLOOKUP関数を使ってはいけない。よりシンプルなXLOOKUP関数を使う。

Excel の関数で最も好きなのは VLOOKUP です。
Excelの新関数 XLOOKUPは、その VLOOKUP よりオススメできます。
最も好きになる可能性大です。

Screenshot_1

 

 

VLOOKUP 関数の魅力

VLOOKUP 関数は、たとえば次のようなリスト(12 千葉県 13 東京都 14 神奈川県)があるときに、セル D2へ、13と入れれば、セルE2(数式を入れるセル)に東京都、

image

14と入れれば、リストどおり、神奈川県と表示できます。

image

準備したリストの組み合わせに従ってデータを表示できるのです。

この場合は次のような VLOOKUP 関数を入れます。
「14」をA列から探し、もし見つかれば A から B の範囲の2列目を表示するという意味です。
最後のFalseは、「完全に一致」したものを探すということを意味しています。

image

VLOOKUP関数は、その他こういった使い方もできます。

・取引内容と勘定科目のリストを使って、取引内容ごとに科目を表示する

image

・会計ソフトの推移表データをExcelの推移表に連動
(売上高をA列から探し、AからB列のうちの2列目を表示)

image

・顧客マスターデータを請求書に表示
(3をAからF列の範囲から探し、3つ目を表示)

image

「Excel関数で1つしか使ったらいけない」といわれたら間違いなくこの VLOOKUP 関数を選びます。
それぐらい好きな関数です。

その VLOOKUP 関数を凌駕する魅力を持った関数が誕生しました 。
XLOOKUP関数です。

XLOOKUP関数の使い方

XLOOKUP関数は、記事執筆時現在では Office Insiderというという新機能をテストできる環境に登録していないと使うことができません。
(無料で登録できます→Join | Office Insiders)

Screenshot_2
正式版では、2019年内には使えるようになるとのことです。

もしXLOOKUP関数を使いたい場合には、 登録後、Excelの[ファイル]→[アカウント]で Office Insiderを有効にしましょう。
新しい機能を使える代わりに、Excelの動作が不安定になる可能性がありますので、そこは自己責任です。

XLOOKUP関数は 、VLOOKUP 関数と同じようなことができます。
XLOOKUP関数を使うと、このような数式です。
セルD2をA列から探し、見つかったらB列のものを表示(セルA4にあるので、セルB4を表示)しています。image

VLOOKUP関数だと、このような数式ですので、比較すると、XLOOKUP関数のほうがシンプルです。
新しい関数だけあって、改善され、よりシンプルにかつわかりやすいようにつくられています。
たとえば、「14」を探したいなら、その「14」がある列、A列を選択し、表示したい「神奈川県」がある列を選択するだけです。

image

セルA2からA4、セルB2からB4と、範囲で選択することもできますが、列で選択したほうがミスも減ります。

image

範囲で選択する場合、範囲の選択を間違える(セルB2からB4の指定が、セルB2からセルB7の指定になっている)と、このようなエラーが出るので気をつけましょう。
image

そして XLOOKUP関数では、VLOOKUP関数で指定した「False」、完全一致の指定を省略できます。

XLOOKUP関数で、完全一致のものを検索するなら、数式の4つ目に「0」を入れるわけですが、省略した場合は0=完全一致とみなされるのです。


VLOOKUP 関数では、完全一致=FALSEと設定することが、9割ほどなのですが(人により異なるでしょうが)、初期設定がTRUE(近似一致)なので、これを省略することはできません。

だからこそVLOOKUP関数では、FALSEを入れていたわけですが、XLOOKUP関数では、省略できます。

私は今後 XLOOKUP関数を使うつもりです。
今のところ XLOOKUP関数のデメリットは見当たりませんので。

9月11日発売予定のこの本も、ExcelでXLOOKUP関数が使えるようになっていれば、「VLOOKUP 関数は使ってはいけない。XLOOKUP関数を使う。」という項目を入れていたでしょう。
(XLOOKUP関数がOffice Insiderで使えるようになったのも8月末なので。本は8月中旬に完成しています)

取引内容と科目の事例もXLOOKUP関数だとこうなります。

image

推移表の事例

image

請求書の事例

image

 

XLOOKUP関数が、VLOOKUP関数、HLOOKUP関数より、おすすめできる理由

VLOOKUP関数よりおすすめできる理由は、シンプルかつ間違いが少ないからです。
そしてVLOOKUP 関数では次のような弱点がありました。

先ほどの事例で次のように、リストが並んでいると、VLOOKUP 関数では使えないのです。
VLOOKUP関数では、「14」をB列から探す場合、AからB列と指定しても、そのB列が範囲の最も左になければいけません。

image

これなら探せます。
image

この場合は、リストを並べ替えるか、他の関数を使うしかないのです。
とはいえ、VLOOKUP関数でもリストをきちんとつくっておけば問題はないといえば、なかったのですが。

XLOOKUP関数だと、「14」を探す範囲をセルB2からB4、表示する範囲をセルA2からA4と指定すればよく、最も左であるという条件は必要ありません。

image

VLOOKUP関数では、リストの中に列を挿入してしまうと 、うまく動きません。

image

当初2列目を表示としているのに、リストに列を挿入(B列)してしまうと、表示したいC列は3列目になってしまうからです。

image

XLOOKUP関数だと、この状態で、列を挿入しても、

image

B列の指定がC列に変わり、問題なく表示できます。

ただ、これもリストに列を挿入するということをやらなければ済む話ではありますが。
便利になっていく一方で気を付けなければいけないことへの意識が薄れるのは、よしあしでもあります。

また、使用頻度はそれほど高くありませんが、HLOOKUP関数というものもあります。
VLOOKUP 関数は、Vertical=垂直=縦方向に探し、HLOOKUP関数は、Horizontal=水平=横方向に探すというものです。

たとえば、次の事例では「14」を1行目から2行目の範囲から探し、2行目を表示しています。

image

XLOOKUP 関数があれば、このHLOOKUP関数を使う場合にも使えるのです。
「14」を1行目から探し、2行目を表示しています。
これもメリットといえるでしょう。

image

XLOOKUP関数が使えるようになれば、ぜひ使ってみましょう。
(そのときに再度記事にします)
Office Insiderに登録してでも、いち早く使うメリットはあります。

 



■編集後記

昨日は、朝、退院。
帰宅してからは、荷物の整理をしつつ、家族で散歩。
ひさびさにビール(半分)も飲みました。
ブログがなかなか終わらず。
なんとかアップできました。
入院中、ブログを続けていて、退院日に途切れるってのもネタとしては面白かったかもですが。

 

「1日1新」

退院
家族でダイバーシティ 回転ずし 海王

 

■娘(2歳)日記
退院したわけですが、「パパ、病院行くの?」「どこ行くの?」とずっといることがまだしっくりきていないようです。