
労務のためのExcelTIPS~はじめてのXLOOKUP~
労務Advent Calendar 2022、本日は24日目です。あと2日。
今回は、労務の労務による労務(以外ももちろんオフィスワークに携わるみなさん)のための記事をお送りします。
過去のExcelTIPSでは、人事労務業務でよく利用する機能についてご紹介しました。そして今回は、Excelのバージョンアップに伴い旧来の関数たちを超える新しい関数がやってきました。
その名はXLOOKUP
LOOKUPにXがつく新しい関数です。XMATCHなんて関数も同じタイミングで追加されたりしていますが、今回はVLOOKUP、INDEX/MATCHの発展形としてXLOOKUP についてお送りします。
XLOOKUP はMicrosoft365とExcel2021でのみ利用可能
最初からいきなり残念なお知らせになってしまいますが、新しいExcelでのみ使える関数です。サブスク版365のExcelとEcxel2021(Office2021)が対象です。
ビジネスの現場だとまたまだ2016や2019あたりが主力だと思います。そうなると使う機会を見つけるのも難しいところですが、Excel Onlineで利用することができるのでそちらで試してみてはいかがでしょうか。
VLOOKUP+HLOOKUP+IFERROR=XLOOKUP?
XLOOKUPはどのような動きをする関数かというと、行と列、HとVのLOOKUPをひとつの関数で実現できるのがXLOOKUPです。と、超ざっくりですが……
(実は他にもいろいろ応用があるのですがまたの機会に)
そして、XLOOKUPでうれしいのがオプションの引数で[見つからない場合]を指定すると”該当なし”なんてことをすることができるのです!(指定しない場合のエラー値は#N/A)
いつもは=IFERROR(VLOOKUP((~~),”該当なし”)なんてエラートラップをしていたものが、関数1つで足りることになりました。XLOOKUPが使える環境にあるなら使わないという選択肢はない!使うという選択肢のみだぞ。
XLOOKUPの書式~引数は多いけど必須は3つ~
=XLOOKUP(検索値, 検索範囲, 戻り配列, [見つからない場合], [一致モード], [検索モード])
必須の引数は、検索値、検索範囲、戻り配列(ここでは抽出範囲と記載)の3つ
※[]はオプションで任意で設定可能
※[一致モード]は、省略又は「0」で完全一致
まずはVLOOKUPと同じことをしてみましょう。

これをXLOOKUP関数に変更します。

VLOOKUPでは、検索する範囲と抽出する範囲をまとめて選択していました。XLOOKUPでは検索値の次に検索範囲、その次に抽出範囲を選択します。match関数の使い方と似ていますね。
検索範囲と抽出範囲が別々に指定できるということは・・・
もちろん検索範囲の左にある範囲も指定することができます。index/matchを使わないとできなかったことが関数ひとつであっという間にできてしまいます。


エラートラップを作ろう
必須3つの引数のみの指定だと、見つからない場合は#N/Aエラーとなります。見つからない時は"該当なし"と表示させてみましょう。

4つ目の引数に見つからない場合の文言"該当なし"を追加します。

「該当なし」が表示された!

全部まとめてスピルしよう!
XLOOKUP関数は検索範囲と抽出範囲に配列が使えます。
今まで社員番号で検索して対応する値を拾うときは、各列にVLOOKUP関数を入力しました。XLOOKUPでは1列に入力した関数(数式)で複数列の値を抽出することができます。これなにげにすごくね?
この上の表を作るときは通常、氏名~質問2のセルまで1個ずつ関数を入れていましたが……

氏名の列にXLOOKUPを入力して終わり!あとは下のセルにコピーするだけ。

関数が入っていない配列のセルにカーソルを置くと、どの関数がもとになっているか数式欄で見ることができます。

実は初めて使ったXLOOKUP
今回の記事を書くにあたりXLOOKUPを初めて使ってみました。会社ではExcelのバージョンが異なるため利用できなかったのですが、自分の端末のOfficeは365だったことを今日思い出したので色々試してみました。
Excelが対応さえしていればXLOOKUP1個で足りるから間違いも少なくなるし、挙動も軽くなるはずなのでぜひOfficeに予算を回してください……
今年もあと少し。
年末調整も峠を越え1月には給報・法定調書が待っています。
少ないお休み期間ですがリフレッシュして新年を迎えましょう。
ではまた来年。
公式のチュートリアル
詳しく知りたい方は公式をご覧ください。
追記:Google SpredSheetでも使えるよ!
使い方はExcelの関数と同じです。
GoogleWorkspaceを導入しているなら今すぐ使えるぞ!
(なにっ、LAMBDAも使えるだと……)