エクセルHLOOKUP関数

HLOOKUP関数で別シートからデータを簡単に取得する方法!

エクセル

エクセルのHLOOKUP関数を使って、別シートからデータを取得する方法を学びましょう。この関数は、横方向にデータを検索するために非常に便利です。この記事では、HLOOKUP関数の基本から応用までをわかりやすく解説します。具体的な例や実際のコードも交えながら進めていきますので、ぜひ参考にしてください。

1. HLOOKUP関数とは?

HLOOKUP関数は、Horizontal Lookup(水平検索)の略で、指定した範囲から検索値に一致するデータを水平方向に検索し、その行の他のデータを取得する関数です。例えば、商品の価格表から特定の商品コードを使って価格を取得する場合などに使います。

構文

=HLOOKUP(検索値, 範囲, 行番号, [検索方法])
  • 検索値:探したい値
  • 範囲:検索するデータの範囲
  • 行番号:返すデータの行番号(範囲内の相対的な位置)
  • 検索方法:TRUE(近似一致)またはFALSE(完全一致)

2. 別シートからデータを取得する基本的な方法

別シートからデータを取得する方法を具体的な例を使って説明します。

例1:基本的なHLOOKUPの使用

次のようなデータが「価格表」というシートにあるとします。

商品コード価格在庫
A001100円50
A002150円30
A003200円20

「注文シート」で商品コードを入力すると、価格を自動的に表示するようにします。

手順

  1. 「注文シート」に移動します。
  2. 商品コードを入力するセル(例:A2)と価格を表示するセル(例:B2)を設定します。
  3. B2セルに次の式を入力します。
=HLOOKUP(A2, '価格表'!A1:C3, 2, FALSE)

この式は、「価格表」シートの範囲A1からC3の中で、A2セルに入力された商品コードに一致する価格を表示します。

3. 複数シートからのデータ取得方法

複数のシートを参照する場合の方法も紹介します。たとえば、異なるシートに分かれたデータを一つのシートにまとめる場合です。

例2:複数シートからのデータ取得

次のようなデータがそれぞれ「価格表1」と「価格表2」というシートにあるとします。

価格表1

商品コード価格在庫
A001100円50
A002150円30

価格表2

商品コード価格在庫
A003200円20
A004250円10

「注文シート」で商品コードを入力すると、各シートから価格を自動的に表示するようにします。

手順

  1. 「注文シート」に移動します。
  2. 商品コードを入力するセル(例:A2)と価格を表示するセル(例:B2)を設定します。
  3. B2セルに次の式を入力します。
=IFERROR(HLOOKUP(A2, '価格表1'!A1:C3, 2, FALSE), HLOOKUP(A2, '価格表2'!A1:C3, 2, FALSE))

この式は、まず「価格表1」シートを検索し、データが見つからない場合は「価格表2」シートを検索します。

4. HLOOKUPの応用テクニック

HLOOKUP関数の応用として、動的にシートを指定する方法や、エラー処理を行う方法を紹介します。

動的にシートを指定する方法

動的にシートを指定するためには、INDIRECT関数を使用します。例えば、シート名がセルに入力されている場合です。

例3:動的なシート参照

  1. シート名を入力するセル(例:A1)に「価格表1」と入力します。
  2. 商品コードを入力するセル(例:B2)と価格を表示するセル(例:C2)を設定します。
  3. C2セルに次の式を入力します。
=HLOOKUP(B2, INDIRECT("'" & A1 & "'!A1:C3"), 2, FALSE)

この式は、A1セルに入力されたシート名を使って、そのシートを検索します。

エラー処理を行う方法

HLOOKUP関数でエラーが発生した場合に、エラーを表示しないようにするためには、IFERROR関数を使用します。

例4:エラー処理

  1. 商品コードを入力するセル(例:A2)と価格を表示するセル(例:B2)を設定します。
  2. B2セルに次の式を入力します。
=IFERROR(HLOOKUP(A2, '価格表'!A1:C3, 2, FALSE), "データなし")

この式は、検索結果が見つからない場合に「データなし」と表示します。

5. まとめとよくある質問

重要なポイントのまとめ

  • HLOOKUP関数は、水平方向にデータを検索するために使用します。
  • 別シートや複数シートからデータを取得することができます。
  • INDIRECT関数を使うと、動的にシートを指定できます。
  • IFERROR関数を組み合わせると、エラー処理が簡単に行えます。

よくある質問

Q1: HLOOKUP関数で部分一致検索はできますか?

  • A: できますが、検索方法をTRUEに設定する必要があります。部分一致検索はデータが昇順に並んでいることが前提です。

Q2: HLOOKUP関数とVLOOKUP関数の違いは何ですか?

  • A: HLOOKUP関数は水平方向にデータを検索し、VLOOKUP関数は垂直方向にデータを検索します。

Q3: HLOOKUP関数で複数の条件を使うことはできますか?

  • A: 標準のHLOOKUP関数ではできませんが、IF関数や他の関数と組み合わせて条件を追加することができます。

コメント

タイトルとURLをコピーしました