Excel(エクセル)で列中で一致したセルを抽出する|HLOOKUP関数の使い方

スポンサーリンク
スポンサーリンク
スポンサーリンク

Introduction

Ver. all 2013 2016 2019 365

HLOOKUP関数の使い方を説明します。

他の表から対応データを探し出し、一致した列中のデータを求めることができます。

VLOOK関数と使い方はほとんど一緒です。

 

例えば、下の請求書の上部は、

このようになっています。赤枠の場所に注目。

また、隣の[得意先コード]というワークシートをクリックすると、

別の表で得意先の一覧が入力されています。

そんな時に、HLOOKUP関数を使用すると、「ID」を入力すると、対応するデータを下のセルに取り出すことができます。

 

HLOOKUPの「H」は「Horizontal」水平とか横方向の意味にゃ

スポンサーリンク

HLOOKUP関数の説明

まずは、HLOOKUP関数のポイントをつかみましょう。

 


HLOOKUP関数・・・他の表から対応データを探し出し、一致した列中のデータを求める関数

HLOOKUP(検索値,範囲,行番号,検索の型[省略可])

  • 検索値・・・検索する値(一致させたい場所のセル参照や値、文字列)を指定
  • 範囲・・・検索する(一致させる)相手のデータ全体を指定
  • 行番号・・・「範囲」で指定したデータの、上から何行目と「検索値」を一致させるかを指定
  • 検索の型・・・完全一致させたい場合は「FALSE」、近似値で一致させたい場合は「TRUE」を入力。省略した場合は「TRUE」になる。(FALSEは「0」、TRUEは「1」でも可)

 

ポイントは

  • [検索値]のデータと一致させるのは、必ず[範囲]となる表の上端行
  • [範囲]の場所は、参照する表のデータ部分だけで良い
  • [範囲]は絶対参照にする
  • [検索の型]は「FALSE」がおすすめ
スポンサーリンク

HLOOKUP関数の使い方

では、実際に先ほどの例で使ってみます。

関数を入力するセルをクリックして、

[関数の挿入]ボタンをクリックします。

[関数の挿入]画面が表示されるので、[すべて表示]を選んで全ての関数を表示しましょう。

一覧から「HLOOKUP」を選んで[OK]

[関数の引数]画面が表示されます。4か所も入力が必要なので大変ですね。

では一つずつ埋めていきましょう。

最初の[検索値]には、後でIDナンバーを入力する予定のセルを指定します。今回の場合は「C6]です。

次に[範囲]です。今回は隣のワークシートに表を用意しているので、ワークシートを切り替えて

「B3:F4」を選択し、「F4」キーで「$」記号を付け絶対参照にします。隣のシート名も挿入されるので、「得意先コード!$B$3:$F$4」と入ります。

※絶対参照の意味がちょっと・・・という方はExcel(エクセル)で計算する方法 ③|絶対参照の使い方をご覧ください。

ここでポイントをおさらいです。

  • [検索値]のデータと一致させるのは、必ず[範囲]となる表の上端行

選択範囲には、上端の項目名も入れます。上端行が検索する値となるからです。

  • [範囲]の場所は、参照する表のデータ部分だけで良い

選択範囲には、左側の項目名は入れません。必要なデータ部分だけを選択します。

  • [範囲]は絶対参照にする

実は、今回は絶対参照にする必要はありません。なぜなら、後で関数をオートフィル機能を使用してコピーする予定がないからです。

しかし、HLOOKUP、VLOOKUP関数を使用する場合は常に絶対参照にするクセを付けておいた方が良いと思います。理由は、参照する表の範囲はほとんどの場合、同じ場所のはずだからです。絶対参照に設定し忘れてエラーが表示される可能性はありますが、絶対参照にしておいて困ることはないでしょう。

 

さて、次です。[行番号]は「2」と入力します。

参照する表をもう一度みてみると、上から2行目を取り出したいのが分かりますね。

さて、やっと最後の[検索値]です。IDの数字を完全に一致させたいので「false」と入力。(「0」でも大丈夫)

[OK]を押してみると・・・。

あれ、関数を入力した場所にはエラー表示が・・・。[検索値]で指定した「ID」の場所に値が入っていないのでエラーが表示されてしまっているのです。

あわてず、上のセルに「101」と数字を入力してみると、

ちゃんと「白猫商事」と結果が表示されました。

 

ちゃんと条件に合うデータを入力すればエラーは表示されないのですが、何も入力されていないとエラーが出るのは恰好わるいですね。

そんな時はIF関数を利用しましょう。

今入力したHLOOKUP関数、

=HLOOKUP(C6,得意先コード!$B$3:$F$4,2,FALSE)

これを下のように変更します。

=IF(C6=””,””,HLOOKUP(C6,得意先コード!$B$3:$F$4,2,FALSE))

赤い文字が追加したところです。「もし、C6が空欄だったら空欄と表示しなさい。それ以外の場合はHLOOKUPしなさい」という意味です。

 

また、ISERROR関数を使用する方法もあります。

=IF(ISERROR(HLOOKUP(C6,得意先コード!$B$3:$F$4,2,FALSE))=TRUE,””,HLOOKUP(C6,得意先コード!$B$3:$F$4,2,FALSE))

「もし、HLOOKUPした場所がエラーだった場合は空欄に、それ以外はHLOOKUPしなさい」という意味です。

 

すると、IDに何も入力されていない場合は空欄になるので一安心。

※IF関数に関してはExcel(エクセル)での関数の使い方 ④|IF関数の使い方で説明しています。

さらに、Excel(エクセル)での関数の使い方 ⑤|複数の関数を入れ子にして使う方法(ネストの使い方)まで見ていただくとより理解が深まると思います。

 

また、[検索の型]は「FALSE」をお勧めします。

「TRUE」は数字を一致させる際、同じ値が無い場合に近似値で一致させてくれるのですが、必要となる機会が少ないですしエラー表示の原因になる場合もあります

面倒だからと省略すると「TRUE」になってしまうので注意しましょう。

詳しくは、Excel(エクセル)で行中で一致したセルを抽出する|VLOOKUP関数の使い方の後半で説明していますので興味のある方はご覧ください。

まとめ

HLOOKUPはVLOOKUPとセットで説明されることが多い関数です。理由は使い方がほとんど同じだから。

どちらかを覚えれば両方使えるようになっているはずですよ。

 

VLOOKUPの参照行列が入れ替わった関数なんだにゃ