行全体または列全体を返す
1つのXLOOKUPから複数の結果をスピルさせます。
「行全体または列全体を返す」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
答えを1つ以上返す
これまで、XLOOKUPは1つの値を返していました。しかし、データの行全体または列全体を一度に返すこともできます。
数式が複数の値を返すと、それらの値は隣接するセルに自動的にスピルします。これにより、1つのXLOOKUPで小さなレコード全体を埋められます。
=XLOOKUP(D2, A2:A20, B2:E20)戻り配列を広げる
ポイントは、戻り配列を複数の列にまたがる範囲にすることです。B2:B20だけを返す代わりに、B2:E20を返します。
XLOOKUPは一致する行を見つけ、その行にある戻り配列のすべての列を返します。1つの数式で4つの結果が得られます。
=XLOOKUP(D2, A2:A20, B2:E20)スピルの表示
たとえばF2という1つのセルに数式を入力し、Enterキーを押します。値はF2、G2、H2、I2にわたって表示されます。
スピル範囲は薄い青色の枠で囲まれます。編集するのは左上のセルだけで、残りのセルはスピルによって埋められるため、直接変更できません。
=XLOOKUP(D2, A2:A20, B2:E20)実例
従業員テーブルで、A列にID、B列からE列に名前、部署、役職、給与が入っているとします。
D2にIDを入力すると、1つのXLOOKUPでレコード全体が返されます。IDを変更すれば行全体がすぐに更新され、1つの数式だけで小さな検索ツールになります。
=XLOOKUP(D2, A2:A100, B2:E100, "Not found")代わりに列を返す
同じ考え方は縦方向にも使えます。見出しの行を検索すれば、結果の列全体を返せます。
ここでは、XLOOKUPが見出し行B1:E1からD2のラベルを検索し、一致する見出しの下にあるB2:E50の列全体へスピルします。
=XLOOKUP(D2, B1:E1, B2:E50)ハッシュ記号でスピル範囲を参照する
数式がスピルしたら、セルの後ろにハッシュ記号を付けることで、スピル範囲全体を参照できます。たとえばF2#のように指定します。
これは強力な機能です。スピルした行の幅が変わっても、スピルした行を合計するSUMは正しく動作します。F2#は常に「F2からスピルした範囲全体」を意味するためです。
=SUM(F2#)ほかの関数と組み合わせる
結果は配列なので、範囲を受け取れる関数に直接渡せます。
たとえば、検索結果をSUMで囲めば、補助セルを使わずに、1つの数式だけで返された月別の数値の行を合計できます。
=SUM(XLOOKUP(D2, A2:A20, B2:M20))スピルするための空間を確保する
スピルする数式には、値を埋めるための空のセルが必要です。スピルする範囲にすでにデータが入ったセルが1つでもあると、XLOOKUPは#SPILL!エラーを返します。
対処方法は簡単です。邪魔になっているセルをクリアするか、空いている場所へ数式を移動してください。スピル範囲は完全に空でなければなりません。
=XLOOKUP(D2, A2:A20, B2:E20)見出しも更新する
見栄えのよい検索カードを作るには、フィールドの見出しもスピルさせられます。
データ行を返すXLOOKUPを1つ配置し、その上で見出し範囲を参照します。スピル範囲の幅が広がったり狭くなったりしても、ラベルは返された列と正しく対応します。
=XLOOKUP(D2, A2:A100, B2:E100, "No match")2方向検索の予告
1つのXLOOKUPを別のXLOOKUPの中に入れ子にすることもできます。内側のXLOOKUPで列全体を返し、外側のXLOOKUPでその中から1つのセルを選びます。
これにより、行と列の両方を一致させる、本格的な2方向検索をXLOOKUPだけで実現できます。INDEX-MATCH-MATCHに代わる便利な方法です。
=XLOOKUP(E1, A1:A20, XLOOKUP(D2, B1:M1, B2:M20))スピルのまとめ
XLOOKUPで複数の値を返せることが分かりました。
- 複数列の戻り配列で行全体をスピルできます
- 複数行の戻り配列で列全体をスピルできます
#サフィックスを使ってスピル範囲を参照できます- 邪魔になるセルをクリアして
#SPILL!を防ぎます
これにより、1つの数式が完全なレコードビューアになります。
=XLOOKUP(D2, A2:A100, B2:E100, "Not found")理解度チェック
XLOOKUPの結果をスピルさせる方法についての理解度を確認しましょう。
まとめ:行全体と列全体
XLOOKUPのコースを終え、結果をスピルさせる方法を学びました。
- 戻り配列を広げて、行全体または列全体をスピルさせます
- スピルした値は空いている隣接セルに入り、青い枠で示されます
#サフィックスを使って、F2#のようにスピル範囲を参照します- スピル範囲を空けておき、
#SPILL!を防ぎます
構文、フォールバック、方向、スピルをマスターすれば、XLOOKUPで従来の検索機能のほぼすべてを置き換えられます。
=XLOOKUP(D2, A2:A100, B2:E100, "Not found")よくある質問
「行全体または列全体を返す」レッスンは無料ですか?
はい。「行全体または列全体を返す」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「行全体または列全体を返す」で何を学びますか?
1つのXLOOKUPから複数の結果をスピルさせます。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「行全体または列全体を返す」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。