0Pricing
Excel Formulas Academy · レッスン

行全体または列全体を返す

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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. XLOOKUPの構文
  2. if_not_foundで見つからない場合に対応する
  3. 左方向と下方向から検索する
  4. 行全体または列全体を返す
← Excel Formulas Academyに戻る