Excel HLOOKUP関数と計算式の例

  • これを共有
Michael Brown

ご存知のように、Microsoft Excelには、LOOKUP、VLOOKUP、HLOOKUPという3つの値を調べる関数があり、ユーザーを最も混乱させているようです。 このチュートリアルでは、Excel HLOOKUP関数の特殊性に焦点を当て、Excelで最も効率的に使用できるいくつかの数式例について説明します。

    ExcelのHLOOKUPとは?

    ExcelのHLOOKUP関数は、以下のような目的で使用されます。 すいへいルックアップ 具体的には、テーブルの1行目からある値を検索し、指定した行から同じ列の別の値を返す。

    HLOOKUP関数は、Microsoft Excel 2016、Excel 2013、Excel 2010、Excel 2007以下のすべてのバージョンで利用可能です。

    Excel HLOOKUPの構文と使い方

    ExcelのHLOOKUP関数は、以下の引数を持ちます。

    HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
    • ルックアップ値 (必須) - 検索する値。 セル参照、数値、またはテキスト文字列とすることができます。
    • 表_配列 (必須) - ルックアップ値の検索対象となるデータの2つ以上の行。 通常の範囲、名前付き範囲、またはテーブルとすることができます。 ルックアップ値は常に、以下の場所に配置する必要があります。 一段目 table_array .
    • 行番号(Row_index_num (必須) - 値を返すべき table_array の行番号。 例えば、2 行目から一致する値を返すには、 row_index_num を 2 に設定し、以下同様に設定します。
    • 範囲指定 (オプション) - HLOOKUPに完全一致または近似一致で検索するように指示する論理 (ブール) 値です。

      TRUEまたは省略された場合 きんじ つまり、完全一致が見つからない場合、Hlookup式は非完全一致を行い、lookup_valueより小さい次の最大値を返します。

      FALSEの場合は せいごう 指定された行の中に検索値と完全に一致する値がない場合、HLOOKUPは#N/Aエラーをスローします。

    わかりやすくするために、ExcelのHLOOKUPの構文を翻訳してみましょう。

    HLOOKUP( ルックアップバリュー , table_array , row_index_num , [range_lookup])

    を普通の英語に直した。

    HLOOKUP( この値を検索する , このテーブルで , この行から値を返す , [近似値または完全一致を返す])

    実際にどのように動作するかを見るために、簡単なHlookupの例を作ってみましょう。 太陽系の惑星に関する基本的な情報を含む表があるとします(以下のスクリーンショットを参照してください)。 必要なのは、セルB5に入力された名前の惑星の直径を返す式です。

    Hlookup式では、以下の引数を使用することにします。

    • ルックアップ値 はB5-探したい惑星名を含むセルです。
    • 表_配列 は、B2:I3 - 数式が値を検索するテーブルです。
    • 行番号(Row_index_num は、Diameterが表の2行目なので2です。
    • 範囲指定 テーブルの最初の行がAからZにソートされていないため、完全一致でしか検索できませんが、この例ではうまくいきます。

    ここで、各論をまとめると、次のような式になります。

    =VLOOKUP(40, A2:B15,2)

    Excel HLOOKUP関数について知っておくべき3つのこと

    Excelで横並び検索をするときは、必ず次の事実を覚えておいてください。

    1. HLOOKUP機能で検索できるのは 最上段 table_array 他の場所を調べる必要がある場合は、Index / Match 式を使用することを検討してください。
    2. エクセルのHLOOKUPは ケースインセンシティブ 大文字と小文字の区別はありません。
    3. もし レンジルック をTRUEに設定するか、省略した場合( きんじ が一致する場合)、最初の行の値は table_array で並べなければならない。 しょうじゅんれい (A-Z)左から右へ。

    ExcelのVLOOKUPとHLOOKUPの違いは何ですか?

    VLOOKUPとHLOOKUPは、どちらもルックアップ値を検索する関数ですが、検索方法が異なります。 お気づきのように、関数名は最初の文字だけが異なり、「H」は水平、「V」は垂直を表しています。

    したがって、VLOOKUP関数を使って検索するのは 垂直 は、検索したいデータの左側の列に検索値がある場合に表示されます。

    HLOOKUP関数は、以下の処理を行います。 すいへいルックアップ - は、テーブルの最上行にあるルックアップ値を検索し、同じ列の指定された数行下にある値を返す。

    次の画像は、Excel の Vlookup と Hlookup の数式の違いを示しています。

    ExcelでHLOOKUPを使う方法 - 計算式の例

    HLOOKUP関数が少し身近に感じられるようになったところで、知識を定着させるために、もう少し計算式の例について説明しましょう。

    近似一致と完全一致の水平ルックアップ

    Excel の HLOOKUP 関数は、どの値を指定するかによって、完全一致と非正 確結合のルックアップを実行できることは、すでにご存知のとおりです。 レンジルック の議論になります。

    • TRUE または省略 きんじ
    • FALSE せいせい

    近似一致」と言っても、どんなHlookup式でも最初は完全一致を検索します。 しかし、最後の引数をFALSEに設定すると、完全一致が見つからない場合に近似一致(検索値より小さい最も近い値)を返すようになります。TRUEまたは省略すると、この場合#N/Aエラーが返されます。

    よりよく説明するために、次のHLOOKUPの例を考えてみましょう。

    近似一致のHLOOKUP

    2行目(B2:I2)に惑星のリストがあり、1行目(B1:I1)にその温度があるとする。 セルB4に入力されたある温度を持つ惑星を調べたい。

    ユーザが検索温度を正確に知っているかどうかは当てになりません。 さいきんしん 正確な値が見つからない場合

    例えば、平均気温が約-340 °Fの惑星を調べるには、次の式を使います( レンジルック をTRUEに設定するか、この例のように省略します)。

    =hlookup(b4, b1:i2, 2)

    近似一致では、最上行の値を小さいものから大きいものへ、またはAからZへ並べ替える必要があり、そうしないとHlookup式が間違った結果を返す可能性があることを覚えておいてください。

    下のスクリーンショットにあるように、この計算式は、次のように返します。 ウラヌス 太陽系で最も寒い惑星の一つで、平均気温は華氏-346度である。

    完全一致のHLOOKUP

    ルックアップ値が正確に分かっている場合は、HLOOKUPの最後のパラメータをFALSEに設定することができます。

    =hlookup(b4, b1:i2, 2, false)

    近似一致のHlookupは、最初の行でデータをソートする必要がないため使い勝手が良い反面、完全一致が見つからない場合は#N/Aエラーが返される。

    ヒント:N/Aエラーでユーザーを怖がらせないために、IFERRORでHlookup式を埋め込んで、独自のメッセージを表示することができます、例えば。

    =IFERROR(HLOOKUP(B4, B1:I2, 2, FALSE), "申し訳ありませんが、何も見つかりませんでした")

    他のワークシートやワークブックからHLOOKUPを行う方法

    一般に、別のシートや別のワークブックからのhルックアップとは、HLOOKUP式に外部参照を与えることにほかならない。

    から一致するデータを取り出すには 異種ワークシート のように、シート名の後に感嘆符を付けて指定します。

    =HLOOKUP(B$1, 直径!$B$1:$I$2,2,FALSE)

    ワークシート名に 空間 または ひえいもじ のように、名前をシングルクォーテーションで囲んでください。

    =HLOOKUP(B$1, '惑星の直径'!$B$1:$I$2,2,FALSE)

    参照する場合 べつのワークブック には、角括弧で囲まれたワークブック名を入力します。

    =HLOOKUP(B$1, [Book1.xlsx]Diameters!$B$1:$I$2, 2, FALSE)

    閉じたワークブックからデータを取り込む場合は、パス全体を指定する必要があります。

    =HLOOKUP(B$1, 'D:\Reports[Book1.xlsx]Diameters'!$B$1:$I$2, 2, FALSE)

    ヒント:数式にワークブック名とワークシート名を手入力する代わりに、別のシートのセルを選択すると、Excelが数式に外部参照を自動的に追加します。

    Excel HLOOKUPの部分一致(ワイルドカード文字)の場合

    VLOOKUPと同様に、ExcelのHLOOKUP関数では、以下のワイルドカード文字を使用することができます。 ルックアップバリュー の議論になります。

    • クエスチョンマーク (?) で任意の1文字にマッチ
    • アスタリスク (*) を使用すると、任意の文字のシーケンスにマッチします。

    ワイルドカードは、ルックアップセルの内容の一部であるテキストを基に、データベースから情報を引き出す場合に便利です。

    例えば、1行目に顧客名、2行目に注文IDのリストがあり、特定の顧客の注文IDを見つけたいが、顧客名が "ace "で始まることは覚えているが、正確に覚えていない場合。

    データがセルB1:I2に入っていると仮定して( table_array) で、注文番号は2行目( 行インデックス番号 )の場合、次のような式になる。

    =HLOOKUP("ace*", B1:I2, 2, FALSE)

    数式をより柔軟にするために、ルックアップ値を特別なセル、例えばB4に入力し、そのセルとワイルドカード文字を次のように連結することができます。

    =HLOOKUP(B4& "*", B1:I2, 2, FALSE)

    注意事項

    • ワイルドカードのHLOOKUP式が正しく動作するためには レンジルック 引数は FALSE に設定する必要があります。
    • もし table_array がワイルドカードの条件を満たす複数の値を含んでいる場合、最初に見つかった値が返されます。

    HLOOKUP式での絶対セル参照と相対セル参照

    1つのセルに対して数式を書く場合、セル参照の相対参照と絶対参照の適切な使い分けは気にする必要はありません。

    数式を複数のセルにコピーするのは、また別の話です。 要するに、そういうことです。

    • 必ず修正する必要があります。 table_array のように、ドル記号($)を使った絶対セル参照を使用します。
    • 一般的には ルックアップバリュー の参照は、ビジネスロジックに応じて、相対的または混合的です。

    わかりやすくするために、別のシートからデータを引っ張ってくる数式を詳しく見てみましょう。

    =HLOOKUP(B$1, 直径!$B$1:$I$2,2,FALSE)です。

    上記の式で 絶対 のセル参照($B$1:$I$2)。 table_array は、数式が他のセルにコピーされたときにも一定であるべきだからです。

    について ルックアップバリュー (B$1)を使用します。 合成 なぜなら、ルックアップ値(惑星名)は同じ行(1行目)にありますが、異なる列(BからIまで)にあり、数式がコピーされたセルの相対位置に基づいて列参照を変更する必要があるためです。

    セル参照を巧みに利用することで、このHlookup式は複数のセルに対して完璧に機能します。

    INDEX/MATCH - ExcelのHLOOKUPに代わるより強力なツール

    ご存知のように、ExcelのHLOOKUP関数にはいくつかの制限があります。最も大きな制限は、最上行以外の場所を検索できないことと、近似一致で検索するときに値の並べ替えが必要なことです。

    VlookupやHlookupの代わりに、INDEX関数とMATCH関数を使った、より強力で汎用的なExcelの関数があります。

    INDEX ( から値を返すところ。 , MATCH ( ルックアップ値 , さがしどころ , 0))

    ルックアップ値がセルB7にあり、2行目(B2:I2)の一致を探し、1行目(B1:I1)の値を返すと仮定すると、数式は以下のようになります。

    =index(b1:i1,match(b7,b2:i2,0))とする。

    下のスクリーンショットでは、1行目と2行目を検索する2つのHlookup式が見えますが、どちらの場合もINDEX MATCHは同じように機能します。

    式のロジックの詳細な説明とより多くの例については、VLOOKUPのより良い代替としてのINDEX MATCHを参照してください。

    Excelで大文字と小文字を区別してh検索を行う方法

    このチュートリアルの冒頭で述べたように、ExcelのHLOOKUP関数は大文字小文字を区別しません。 文字の大小が問題になる状況では、セルを正確に比較するEXACT関数を、前の例で説明したINDEX MATCH式の中に入れればよいのです。

    INDEX ( から値を返す行があります。 , match(true, exact( で検索する行 , ルックアップ値) , 0))

    ルックアップ値がセルB4にあり、ルックアップ範囲がB1:I1、リターン範囲がB2:I2だとすると、数式は次のような形になります。

    =index(b2:i2, match(true, exact(b1:i1,b4),0))

    重要なお知らせ 配列式なので、Ctrl + Shift + Enterで完了します。

    上記の例は、私のお気に入りの方法ですが、Excelで大文字小文字を区別してHlookupを行う唯一の方法というわけではありません。 他の方法を知りたい場合は、こちらのチュートリアルをご覧ください:4 ways to do the case-sensitive Vlookup in Excel. Vlookup formulaを水平ルックアップ用に作り直せば、問題はないと思われます。

    Excel HLOOKUPが機能しない理由トップ10

    HLOOKUPは、Excelで非常に便利で強力な検索関数であることはすでにご存知でしょう。 しかし、厄介な関数でもあり、その多くの特異性から#N/A、#VALUE、#REFエラーはよく見られます。 HLOOKUP式が正しく機能しない場合、ほとんどの場合、次のいずれかの理由があります。

    1.ExcelのHLOOKUPは自分より上を見ることができない

    Excelの水平方向の検索について、他のすべての詳細を忘れてしまったとしても、この重要な1つを覚えておいてください - Hlookupは、以下の場所でしか検索できません。 最上段 この制限を克服するには、INDEX MATCH 式を使用します。

    2.近似一致と完全一致

    Excelで横並び(Hlookup)や縦並び(Vlookup)で検索する場合、ほとんどの場合、特定のものを検索しているので、完全一致が必要です。 近似一致で検索する場合( レンジルック を TRUE に設定するか、省略した場合)、最初の行の値を昇順にソートすることを忘れないようにしましょう。

    詳細と計算式の例は、Excel Hlookup with approximate and exact matchをご覧ください。

    3.数式をコピーするとテーブル配列の参照が変化する

    複数のHLOOKUPを使用して、ルックアップ値列の情報を取得する場合、ロックする必要があります。 table_array の参照は、「Hlookup 数式における絶対セル参照と相対セル参照」で説明したとおりです。

    4.新しい行を挿入または削除する

    新しい行を挿入するとHlookup式が壊れる理由を理解するために、ExcelのHLOOKUPが、指定した行インデックス番号に基づいて、ルックアップ値に関する情報を取得する方法を思い出してください。

    仮に、プロダクトIDに基づいた売上高を取得したい場合、その数値は4行目にあるので、4と入力します。 行インデックス番号 しかし、新しい行が挿入された後、それは5行目になり、Hlookupは機能しなくなります。 同じ問題は、テーブルから既存の行を削除する場合にも発生する可能性があります。

    解決策としては、ユーザーが新しい行を挿入できないようにテーブルをロックするか、Hlookupの代わりにINDEX & MATCHを使用します。 Index/Match式では、検索して値を返す行をインデックス番号ではなく範囲参照で指定します。 Excelは十分に賢いので、必要なだけ列や行を削除または挿入することができます。ワークシートのすべての数式を更新する心配はありません。

    5.テーブル内の重複

    ExcelのHLOOKUP関数は、ルックアップ値と一致するテーブル内の最初の値を1つだけ返すことができます。

    テーブル内に同一のレコードがいくつかある場合は、以下の解決策のうち、ニーズに最も適したものを選択してください。

    • Excelの手段や当社のDuplicate Removerを使って重複を削除する
    • 重複するレコードをデータセットに残す必要がある場合は、ピボットテーブルを作成して、データをグループ化し、必要な方法でフィルタリングします。
    • 配列式を使用して、ルックアップ範囲内の重複するすべての値を抽出します。

    6.余分なスペース

    明らかに正しいHlookup式が大量の#N/Aエラーを返す場合、テーブルとルックアップ値に余分なスペースがないかチェックしてください。 ExcelのTRIM関数またはセルクリーナーを使って、先頭、末尾、余分な中間スペースをすばやく削除することができます。

    7.テキストとしてフォーマットされた数字

    数字のように見える文字列も、Excelの計算式で障害となります。 この問題の詳細と解決策は、Excelの計算式が動作しなくなる理由 で説明しています。

    8.ルックアップ値が255文字を超えている

    Excelのルックアップ機能は、ルックアップ値が255文字以内であれば動作します。 ルックアップ値が長くなると、#VALUE! エラーになります。 INDEX /MATCH式はこの制限を受けないので、このハードルを克服するために使用します。

    9.ルックアップワークブックのフルパスが指定されていない。

    他のワークブックからh-lookupを実行する場合は、そのワークブックへのフルパスを指定することを忘れないでください。 数式の例は、ここにあります:他のワークシートまたはワークブックからHlookupを実行する方法。

    10.間違った議論

    HLOOKUPは非常に難しい関数であり、細心の注意を払って扱わなければならないことは、すでに何度も強調されています。 以下に、間違った引数を与えたことによる、最も一般的なエラーをいくつか紹介します。

    • row_index_numが1より小さい場合、HLOOKUP関数は#VALUE!エラーを返します。
    • row_index_numがtable_arrayの行数より大きい場合、#REF!エラーを返す。
    • 近似一致で検索し、lookup_valueがtable_arrayの最初の行の最小値より小さい場合、#N/Aエラーが返されます。

    さて、以上がExcelでHLOOKUPを使う方法です。 この情報がお役に立てれば幸いです。 読んでくださってありがとうございました!来週のブログでお会いできるのを楽しみにしています。

    練習用ワークブックをダウンロードする

    Excel HLOOKUP式の例

    Michael Brown は、ソフトウェア ツールを使用して複雑なプロセスを簡素化することに情熱を注ぐ熱心なテクノロジー愛好家です。テクノロジー業界で 10 年以上の経験があり、Microsoft Excel と Outlook、さらに Google Sheets と Docs のスキルを磨いてきました。 Michael のブログは、彼の知識と専門知識を他の人と共有することに特化しており、生産性と効率を向上させるためのわかりやすいヒントとチュートリアルを提供しています。経験豊富なプロフェッショナルであろうと初心者であろうと、Michael のブログでは、これらの重要なソフトウェア ツールを最大限に活用するための貴重な洞察と実践的なアドバイスを提供しています。