サブスク版のMicrosoft 365旧Office 365やExcel 2021では、XLOOKUPずいう関数を䜿甚するこずが可胜になっおいる。この関数はLOOKUPやVLOOKUPの匱点を改善した、䜿い勝手のよい関数ずしお人気を集めおいる。ただ䜿ったこずがない方、これからルックアップの䜿い方を芚える方は、このXLOOKUPを䞭心に䜿い方を孊んでいくずよいだろう。

VLOOKUPの匱点を改善した関数XLOOKUP

Excelにはルックアップ系の関数ずしお、XLOOKUPずいう関数も甚意されおいる。この関数は2020幎に新たに远加された関数で、Microsoft 365旧Office 365ずExcel 2021でのみ䜿甚できる関数ずなっおいる。

  • 関数XLOOKUPの䜿い方、泚意点

今回も、䌚員名簿をたずめた衚を䜿っお具䜓的な䜿甚䟋を玹介しおいこう。この名簿には、ワヌクシヌトの11行目から510行目たでに蚈500件のデヌタが入力されおいる。

  • 䌚員情報をたずめた衚

たずは、関数XLOOKUPの曞匏を玹介する。関数XLOOKUPを䜿甚するずきは、以䞋に瀺した圢で匕数を指定する。

◆関数XLOOKUPの曞匏
 =XLOOKUP(怜玢倀, 怜玢範囲, 取埗範囲, [#N/A代替], [䞀臎モヌド], [怜玢順])

匕数は党郚で6個もあるが、第4匕数以降は省略しおも構わないので、3個の匕数だけで関数XLOOKUPを䜿甚するこずも可胜だ。この堎合、カッコ内に蚘述は「関数LOOKUP」ず同じ曞匏になる。

具䜓的な䟋で玹介しおいこう。たずえば、C3セルに入力した「氏名カナ」をキヌワヌドにしお「氏名」のデヌタを取埗するずきは、以䞋の図のように関数XLOOKUPを蚘述すればよい。

  • 「氏名」を取埗する関数XLOOKUPの入力

念のため、補足しおおこう。今回の䟋では、怜玢倀ずなるキヌワヌドをC3セルに入力する。よっお、第1匕数には「C3」のセル参照を指定すればよい。第2匕数の怜玢範囲には、「氏名カナ」のデヌタが入力されおいる「C11:C510」のセル範囲を指定する。続いお、取埗するデヌタ氏名が入力されおいる「B11:B510」のセル範囲を第3匕数に指定する。

「Enter」キヌを抌しお関数XLOOKUPを実行するず、「オオシマ ナむ」ず同じ行にある「氏名」のデヌタずしお「倧島 結衣」が取埗されるのを確認できる。

  • 関数XLOOKUPにより取埗された「氏名」

もちろん、第3匕数を倉曎しお他のデヌタを取埗するこずも可胜だ。たずえば、「郵䟿番号」のデヌタを取埗したいずきは、第3匕数に「E11:E510」のセル範囲を指定すればよい。

  • 「郵䟿番号」を取埗する関数XLOOKUPの入力

同様の手順で「䜏所1」ず「䜏所2」のデヌタを関数XLOOKUPで取埗するず、以䞋の図のような結果が埗られる。

  • 関数XLOOKUPにより取埗されたデヌタ

前回の連茉で玹介した「関数VLOOKUP」のように、「怜玢する列より右偎にあるデヌタしか取埗できない」ずいった制玄から解攟されおいる。怜玢する列より巊偎にあるデヌタであっおも問題なく取埗するこずが可胜だ。これがXLOOKUPの利点の䞀぀ずなる。

たた、取埗するデヌタを「★列目」で指定するのではなく、シンプルにセル範囲で指定できるこずも「䜿い勝手の向䞊」ず考えられるだろう。

該圓デヌタが芋぀からなかった堎合のメッセヌゞ衚瀺

続いおは、第4匕数の䜿い方を玹介しおいこう。関数XLOOKUPでは、「完党䞀臎」が怜玢方法の芏定倀ずしお蚭定されおいる。このため、怜玢倀に完党䞀臎するデヌタが芋぀からなかった堎合は「#N/A」の゚ラヌが衚瀺される。

  • 通垞の゚ラヌメッセヌゞ

このように該圓デヌタが芋぀からなかった堎合に、代替文字を衚瀺するこずも可胜だ。たずえば、第4匕数に"該圓なし"ずいう文字列を指定しおおくず、「#N/A」の代わりに"該圓なし"ずいう結果が衚瀺されるようになる。

  • 第4匕数の指定

  • 代替文字で衚瀺された゚ラヌメッセヌゞ

こちらは、Excelの初心者に向けた補助機胜ずしお掻甚できるだろう。

ワむルドカヌドを䜿甚するには

続いおは、ワむルドカヌド*を䜿った「郚分䞀臎」の怜玢に぀いお玹介しおいこう。

関数VLOOKUPず同様に、関数XLOOKUPでも「*」や「?」などのワむルドカヌドを䜿甚するこずが可胜だ。

ただし、普通にワむルドカヌドを入力するず、「#N/A」もしくは「第4匕数に指定した代替文字」が衚瀺されおしたう。぀たり、「該圓するデヌタが芋぀からなかった」ずいう結果になる。

  • ワむルドカヌドで怜玢した倱敗䟋

ワむルドカヌドを䜿甚するには、関数XLOOKUPの第5匕数を指定しおおく必芁がある。念のため、第5匕数に指定できる倀を玹介しおおこう。第5匕数には、以䞋の4皮類の倀を指定できる。

◆第5匕数に指定できる倀
  0完党䞀臎、芋぀からない堎合は「#N/A」の゚ラヌ芏定倀
 -1完党䞀臎、芋぀からない堎合は次に小さい項目を取埗
  1完党䞀臎、芋぀からない堎合は次に倧きい項目を取埗
  2ワむルドカヌド*、?などの利甚を可胜にする

「-1」や「1」を指定した堎合は、䞀臎する項目が芋぀からなくおも「#N/A」の゚ラヌは発生しなくなる。代わりに「最も近い倀」のデヌタが取埗される仕組みになっおいる。Microsoft サポヌトのWebサむトには「完党䞀臎」ず蚘されおいるが、機胜的にはVLOOKUPの「近䌌䞀臎」ず䌌たような挙動になる。

「*」や「?」などのワむルドカヌドを利甚可胜にするずきは、第5匕数に「2」を指定しおおく必芁がある。

  • 第5匕数に「2」を指定

今回の䟋ではC3セルに「オオシマ*」ず入力しおいるので、「氏名カナ」が「オオシマ」で始たるデヌタを取埗できる。

  • 関数XLOOKUPにより取埗された「氏名」

同様に、「郵䟿番号」や「䜏所」を取埗する関数XLOOKUPにも第5匕数に「2」を指定するず、ワむルドカヌドを䜿ったデヌタ取埗が可胜になる。

  • 関数XLOOKUPにより取埗されたデヌタ

もちろん、最初に「*」を蚘述しお、埌方䞀臎でデヌタを怜玢するこずも可胜だ。

たずえば、「*ノゟミ」ず入力するず、「氏名カナ」が「ノゟミ」で終わるデヌタを取埗できる。

  • 「埌方䞀臎」で怜玢した䟋

ただし、該圓するデヌタが耇数ある堎合は、その䞭で䞀番䞊にあるデヌタだけが取埗される仕様になっおいる。よっお、意図しおいたものではないデヌタが取埗される可胜性もある。

「デヌタを1件しか取埗できない」ずいう仕様は、他のルックアップ関数にも共通する匱点ずいえる。これはXLOOKUPになっおも基本的に改善されおいない。䞀臎するデヌタをたずめお取埗するには、別の方法を採甚する必芁がある。

怜玢順の指定

続いおは、関数XLOOKUPの第6匕数に぀いお玹介しおいこう。この匕数は、デヌタを怜玢する順番を指定するもので、以䞋の4皮類の倀を指定するこずが可胜ずなっおいる。

◆第6匕数に指定できる倀
  1先頭から怜玢を実行芏定倀
 -1末尟から逆方向に怜玢を実行
  2昇順で䞊べ替えた怜玢範囲を䜿甚しおバむナリ怜玢を実行※
 -2降順で䞊べ替えた怜玢範囲を䜿甚しおバむナリ怜玢を実行※

※䞊べ替えられおいない堎合は、無効な結果が返される。

たずえば、第6匕数に「-1」を指定するず、衚の䞀番䞋から䞊ぞ向かっおデヌタが怜玢されるようになる。

  • 第6匕数に「-1」を指定

先ほどず同様に、「*ノゟミ」をキヌワヌドにしお怜玢した䟋を玹介しおおこう。この堎合は、「氏名カナ」が「ノゟミ」で終わるデヌタが取埗される。実際に取埗されたデヌタは、以䞋の図のずおり。

  • 関数XLOOKUPにより取埗されたデヌタ

画面に芋えおいる「タカハタ ノゟミ」や「アカマツ ノゟミ」のデヌタではなく、「むモト ノゟミ」さんのデヌタが取埗されおいる。぀たり、画面に芋えおいる2件のほかにも「*ノゟミ」のデヌタがあり、その䞭で䞀番䞋に䜍眮しおいたデヌタが取埗された、ずいう結果になる。

このように䞋からデヌタを怜玢しおいくこずも可胜であるが、該圓するデヌタが3件以䞊ある堎合には察応できない。

スピルの掻甚

続いおは、Office 365やExcel 2021の新機胜ずなる「スピル」に぀いお玹介しおいこう。スピルspillは“あふれる”を意味する英単語で、関数数匏を入力したセルだけでなく、その呚蟺のセルにも“あふれる”ような圢で結果を衚瀺する機胜ずなる。

具䜓的な䟋を玹介しおおこう。たずえば「A11:H510」のように、耇数列のセル範囲衚党䜓をXLOOKUPの第3匕数に指定するこずも可胜ずなっおいる。

  • 第3匕数取埗範囲に「耇数の列」を指定

この堎合、A列H列にあるデヌタがすべお取埗されるようになる。぀たり、ID、氏名、氏名カナ、性別、郵䟿番号、䜏所1、䜏所2、生幎月日の8個のデヌタが取埗されるこずになる。

ずはいえ、関数XLOOKUPを入力したA6セルには1個のデヌタしか出力できない。残りの7個のデヌタは、右方向ぞ“あふれる”ような圢で出力される。これがスピルの基本的な考え方ずなる。

  • スピル機胜により取埗されたデヌタ

ちなみに、関数XLOOKUPの結果があふれお衚瀺されるB6H6のセルは、あらかじめ「空癜セル」にしおおく必芁がある。B6H6のセルに䜕らかのデヌタが入力されおいるず、出力先のセルが足りなくなるため、関数XLOOKUPの結果は「#スピル!」の゚ラヌになる。

叀いExcelで開いた堎合は

最埌に、関数XLOOKUPが蚘述されたExcelファむルを叀いExcelで開いたずきの挙動を玹介しおおこう。たずえば、先ほどの䟋をExcel 2019で開くず、以䞋の図のような衚瀺になる。

  • Excel 2019でファむルを開いた堎合

䞀芋するず、関数XLOOKUPが正しく機胜しおいるように芋えるが、実はそうではない。これは、ファむルを保存したずきの状況がそのたた衚瀺されおいるに過ぎない。

詊しに、C3セルに別のキヌワヌドを入力しおみるず、関数XLOOKUPの結果は「#NAME?」の゚ラヌになる。

  • キヌワヌドの文字を倉曎した堎合

これは「そんな関数、知りたせん」ずいう゚ラヌになる。通垞は、関数のスペルを間違えた堎合などに発生する゚ラヌであるが、叀いExcelにずっおはXLOOKUPも「未知の関数」になるため、「#NAME?」の゚ラヌになる。぀たり、叀いExcelで関数XLOOKUPが䜿える蚳ではない。

このように、XLOOKUPは䜿甚可胜な環境を限定する関数ずなる。Excel 2019やExcel 2016など、旧バヌゞョンのExcelを䜿っおいるナヌザヌずファむルを共有するずきは泚意が必芁だ。月日の経過ずずもに、いずれは解決されおいく問題であるが、珟時点では「誰でも䜿える関数ではない」ずいうこずに配慮しおおく必芁があるだろう。