左方向と下方向から検索する
右から左、最後から最初まで、任意の方向に検索します。
「左方向と下方向から検索する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
方向の自由度
VLOOKUPの大きな制限の1つは、検索列の右にある値しか返せなかったことです。XLOOKUPにはこの制限がありません。
検索配列と戻り配列を別々に指定するため、検索結果は検索する列の左、右、上、下のどこにあってもかまいません。
=XLOOKUP(D2, B2:B20, A2:A20)左方向を検索する
B列にIDがあり、名前がその左のA列にあるとします。VLOOKUPでは、列を並べ替えない限りこれを実行できませんでした。
XLOOKUPなら、B列を検索してA列を返すだけです。検索列の左側にある値も問題なく返せます。
=XLOOKUP(D2, B2:B20, A2:A20)5番目の引数:search_mode
XLOOKUPには、検索する方向を制御する5番目の引数、search_modeがあります。
1- 最初から最後まで検索(デフォルト)-1- 最後から最初まで検索2- 昇順データを対象に二分探索-2- 降順データを対象に二分探索
=XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode)デフォルトの検索方向
デフォルトでは、XLOOKUPは上から下へ検索し、最初に見つかった最初の一致を返します。
リスト内に同じ値が複数回現れる場合、このデフォルト設定では最も早いものが返されます。ほとんどの場合はこれで問題ありませんが、最も新しいエントリが必要になることもあります。
=XLOOKUP(D2, A2:A20, B2:B20)下から検索する
-1をsearch_modeに設定すると、下から上へ検索できます。するとXLOOKUPは、最後に一致した値を返します。
if_not_foundとmatch_modeはsearch_modeより前にあるため、空であっても、前の引数をプレースホルダーとして指定する必要があります。
=XLOOKUP(D2, A2:A20, B2:B20, "Not found", 0, -1)最後の一致が重要な理由
各行に注文のステータス更新を記録したログを想像してください。上にある行ほど古いものとします。
上から下へ検索すると、注文の最初のステータスが返されます。-1を指定して下から上へ検索すると、最新のステータスが返されます。同じデータでも、検索方向によって答えは大きく異なります。
=XLOOKUP(D2, OrderID, Status, "No record", 0, -1)プレースホルダーを埋める
引数は位置で決まるため、前の引数を指定せずに6番目の引数へ進むことはできません。
=XLOOKUP(D2, A2:A20, B2:B20, "Not found", 0, -1)では、"Not found"がif_not_found、0がmatch_mode(完全一致)です。これらが引数の位置を埋めるため、-1がsearch_modeに入ります。
=XLOOKUP(D2, A2:A20, B2:B20, "Not found", 0, -1)match_modeの概要
5番目の引数の隣にあるmatch_modeは、一致方法を制御します。
0- 完全一致(デフォルト)-1- 完全一致または次に小さい値1- 完全一致または次に大きい値2- *と?を使ったワイルドカード一致
左方向や下方向の検索では、通常0のままにします。
=XLOOKUP(D2, A2:A20, B2:B20, "Not found", 0, -1)下から検索する実例
価格変更シートに、価格が更新されるたびに各商品の情報が記録されているとします。現在の価格を取得するには、その商品の最後のエントリが必要です。
-1を指定して下から検索すると、並べ替えや補助列を追加せずに、最新の価格を返せます。
=XLOOKUP("Laptop", A2:A500, B2:B500, "No price", 0, -1)高速化のための二分探索
2と-2の検索モードでは、より高速な二分探索を使用します。ただし、検索配列が並べ替えられている必要があり、2では昇順、-2では降順にします。
非常に大きな並べ替え済みリストでは、かなり高速になります。データが正しく並べ替えられていない場合、二分探索は誤った結果を返す可能性があるため、注意して使用してください。
=XLOOKUP(D2, A2:A100000, B2:B100000, "Not found", 0, 2)検索方向を活用する
XLOOKUPで、どこを、どちらの方向に検索するかを制御できるようになりました。
- 左側にある値も自由に返せます
- 最初の一致には
1(デフォルト) - 最後の一致には
-1 - 並べ替え済みデータの高速な二分探索には
2または-2
search_modeの前に、if_not_foundとmatch_modeの位置を埋めることを忘れないでください。
=XLOOKUP(D2, A2:A20, B2:B20, "Not found", 0, -1)理解度チェック
search_mode引数についての理解度を確認しましょう。
まとめ:任意の方向に検索する
XLOOKUPで方向を指定して検索する方法を学びました。
- 戻り配列は検索配列の左側にも置けます
- search_mode(6番目の引数)で検索方向を設定します
-1で最後の一致を検索でき、最新レコードの検索に適しています2と-2で、並べ替え済みデータを高速に二分探索できます
次は、1つのXLOOKUPで行全体または列全体を返す方法を学びます。
=XLOOKUP(D2, A2:A20, B2:B20, "Not found", 0, -1)AI チューターと学ぶ Excel — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「左方向と下方向から検索する」レッスンは無料ですか?
はい。「左方向と下方向から検索する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「左方向と下方向から検索する」で何を学びますか?
右から左、最後から最初まで、任意の方向に検索します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「左方向と下方向から検索する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- XLOOKUPの構文
- if_not_foundで見つからない場合に対応する
- 左方向と下方向から検索する
- 行全体または列全体を返す