HLOOKUPで行を検索する
列を下方向に検索する代わりに、行に沿って値を検索します。
「HLOOKUPで行を検索する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
HLOOKUPを使ってみる
HLOOKUPはVLOOKUPの横方向版です。HはHorizontal(横方向)を表します。列を下方向に検索する代わりに、表の最上行を横方向に検索し、同じ列の下にある値を返します。
データが横向きに配置され、ラベルが列方向ではなく行方向に並んでいる場合は、HLOOKUPを使用します。
=HLOOKUP(value, table, row_index_num, [range_lookup])4つの引数
HLOOKUPは、1つの重要な違いを除いてVLOOKUPと同じ構成です。引数は次のとおりです。
- lookup_value - 最上行で検索する値
- table_array - セル範囲
- row_index_num - 返す行(上から数えます)
- [range_lookup] - 近似一致にはTRUE、完全一致にはFALSE
データが下方向に並ぶため、第3引数は列番号ではなく行番号になっていることに注目してください。
=HLOOKUP(lookup_value, table_array, row_index_num, FALSE)横向きのサンプル表
月が1行目に横方向に並ぶ、A1:D3の四半期表を想像してください。
- 1行目:Jan、Feb、Mar、Apr
- 2行目(売上):100、150、120、200
- 3行目(コスト):60、70、65、90
HLOOKUPが検索するのは最上行(月)です。その下の行に、返したいデータが入っています。
最初のHLOOKUP
Marの売上を調べるには、HLOOKUPで最上行から「Mar」を検索し、2行目(売上)の値を返します。
読み上げると、A1:D3の最上行を横方向に検索して"Mar"を見つけ、完全一致を使って2行目の値を返します。結果は120です。
=HLOOKUP("Mar", A1:D3, 2, FALSE)行番号の数え方
row_index_numは、シートの1行目からではなく、table_arrayの先頭から数えます。
範囲A1:D3では、行番号は次のようになります。
- 1行目 = 月(検索する行)
- 2行目 = 売上
- 3行目 = コスト
したがって、ある月のコストを返すには、行番号3を使用します。1を指定すると、検索したラベル自体が返されます。
=HLOOKUP("Feb", A1:D3, 3, FALSE)セルを参照して検索
VLOOKUPと同じように、通常はラベルを直接入力するのではなく、セルを指定します。F1で月を選択する場合は、そのセルを直接参照します。
F1を別の月に変更すると、結果もすぐに更新されます。このため、横向きの集計表を読み取る小さな選択欄にHLOOKUPが適しています。
=HLOOKUP(F1, A1:D3, 2, FALSE)HLOOKUPとVLOOKUPの比較
この2つの関数は、同じ考え方を90度回転させたものです。
- VLOOKUP:最初の列を下方向に検索し、第3引数は列番号です
- HLOOKUP:最上行を横方向に検索し、第3引数は行番号です
データの配置に応じて選択してください。見出しが横に並ぶ場合はVLOOKUP、上に並ぶ場合はHLOOKUPを使用します。
完全一致と近似一致はHLOOKUPでも同じ
range_lookup引数の動作はVLOOKUPと同じです。
- FALSE = 完全一致。最上行を並べ替える必要はなく、見つからない値には
#N/Aを返します - TRUE = 近似一致。最上行を左から右へ昇順に並べる必要があります
月名のようなラベルを検索する場合はFALSEを使用します。しきい値を横方向に並べた区分表ではTRUEも使えますが、段階表を横向きに配置することはあまりありません。
=HLOOKUP(F1, A1:D3, 2, FALSE)コピー時に表を固定する
HLOOKUPを複数のセルに横方向へコピーする場合は、ドル記号を使ってtable_arrayを固定し、範囲がずれないようにします。各列に合わせて移動させたい場合は、lookup_valueを相対参照のままにしてください。
ここでは、右方向にコピーしても表は固定されたまま、検索ラベルだけが次のセルに移動します。VLOOKUPと同じ考え方を、横方向に適用するだけです。
=HLOOKUP(B5, $A$1:$D$3, 2, FALSE)横向きのデータが登場する場面
横向きの表は、思っている以上によく登場します:
- 年や月を列に並べた財務モデル
- 上部にラウンドを横並びにしたスコアシート
- 期間を見出し行に配置したインポート済みレポート
表全体を転置する代わりに、HLOOKUPを使えばそのまま検索できます。ただし、多くの関数は縦方向のデータを扱いやすいように設計されているため、データを縦に保ち、VLOOKUPやXLOOKUPを使うほうが自然な場合も多くあります。
=HLOOKUP(2024, A1:F4, 3, FALSE)HLOOKUPとMATCHの組み合わせ
VLOOKUPと同じように、行番号を固定で入力すると壊れやすくなります。行を挿入すると、その番号が合わなくなるためです。MATCHで行の位置を検索すれば、動的に指定できます。
ここでは、MATCHが列Aのラベルを上からたどり、「Costs」が何行目にあるかを見つけ、その番号をHLOOKUPに渡します。これで、行の順序が変わっても数式が機能し続けます。これは検索関数を組み合わせる方法の入り口であり、この方法については後でさらに詳しく学びます。
=HLOOKUP(F1, A1:D3, MATCH("Costs", A1:A3, 0), FALSE)理解度チェック
横方向の検索について理解度を確認します。
復習:行方向に検索する
これで横向きの表を検索できるようになりました:
- HLOOKUPは一番上の行を横方向に検索し、その下の行から値を返します
- 3番目の引数は、範囲の上から数えたrow_index_numです
- 完全一致と近似一致におけるFALSEとTRUEの働きは、VLOOKUPの場合と同じです
- 横方向にコピーするときは、
$で表を固定します - 見出しが縦方向ではなく横方向に並んでいる場合に使用します
次は、VLOOKUPがうまくいかないことがある理由と、その原因を特定する方法を学びます。
=HLOOKUP(F1, $A$1:$D$3, 2, FALSE)よくある質問
「HLOOKUPで行を検索する」レッスンは無料ですか?
はい。「HLOOKUPで行を検索する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「HLOOKUPで行を検索する」で何を学びますか?
列を下方向に検索する代わりに、行に沿って値を検索します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「HLOOKUPで行を検索する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- VLOOKUPが表を検索する仕組み
- 完全一致と近似一致
- HLOOKUPで行を検索する
- VLOOKUPが失敗することがある理由