HLOOKUP関数:指定の行を横方向に検索し同じ列にある値を取得する

広告

HLOOKUP 関数は Excel で用意されている関数の一つで、指定した範囲を横方向に検索し、見つかった列の指定した行の値を取得します。ここでは Excel における HLOOKUP 関数の使い方について解説します。

※ 縦方向に検索する場合は VLOOKUP 関数を使います。詳しくは「VLOOKUP関数:指定の列を縦方向に検索し同じ行にある値を取得する」を参照されてください。

※ Microsoft 365 以降であれば XLOOKUP 関数が利用可能です。詳しくは「XLOOKUP関数:指定の範囲を検索し対応する位置にある値を取得する」を参照されてください。

(2021 年 09 月 13 日公開 / 2021 年 09 月 13 日更新)

HLOOKUP関数の使い方

HLOOKUP 関数は引数に指定した範囲の中を横方向に検索し、見つかった場合はその列の中の指定した行の値を取得します。

HLOOKUP(検索値,範囲,行番号,検索方法)

1 番目の引数に検索する値を指定します。 2 番目の引数に検索を行うセル範囲を指定します。ここで指定したセル範囲の 1 行目を対象に検索します。

3 番目の引数には検索する値が見つかった場合に取得する行の番号を指定します。行番号は指定した範囲内の上から数えて何行目なのかを数値で指定し、一番上の行番号が 1 です。

4 番目の引数には完全一致だけを行うか、近い値でも見つかったことにするのかを表す論理値を指定します。完全一致を行う場合は FALSE 、近似値での検索を行う場合は TRUE を指定します。省略した場合は TRUE が指定されたものとして扱います。

HLOOKUP 関数は次のようなデータを対象として、型番号で検索して見つかった場合に該当する商品名や単価を取得する場合に利用されます。

HLOOKUP関数のサンプル(1)

まず指定した範囲の 1 行目のデータを横方向に検索します。

HLOOKUP関数のサンプル(2)

一致するデータが見つかった場合、同じ列の指定した行番号のデータを取得します。

HLOOKUP関数のサンプル(3)

このように HLOOKUP 関数を使用することで、 1 列目のデータを検索して同じ列にある別のデータを取得することができます。

HLOOKUP関数のサンプル

それでは実際に HLOOKUP 関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。

HLOOKUP関数のサンプル(1)

最初に C7 セルを選択したあとで次のように入力します。検索する値を指定する 1 番目の引数には B7 セル、対象のセル範囲を指定する 2 番目の引数には C2:G4 、見つかった場合に取得する行番号を指定する 3 番目の引数に 2 、完全一致の場合だけ値を取得するため 4 番目の引数には FALSE をそれぞれ指定しました。

=HLOOKUP(B7,C2:G4,2,FALSE)

HLOOKUP関数のサンプル(2)

同じように D7 セルを選択したあとで次のように入力します。今度は見つかった場合に取得する列番号として 3 を指定しています。

=HLOOKUP(B7,C2:G4,3,FALSE)

HLOOKUP関数のサンプル(3)

現在は検索する値を入力する B7 が空のため、 HLOOKUP 関数は一致する値が見つからないため #N/A を返します。それでは B7 セルに検索する型番号を入力してください。表の中で入力した型番号が見つかった場合は、該当する商品名と単価を表示します。

HLOOKUP関数のサンプル(4)

HLOOKUP関数のサンプル(5)

B7 セルに違う型番号を入力すると、該当する商品名と単価を表示します。

HLOOKUP関数のサンプル(6)

HLOOKUP関数のサンプル(7)

検索する値が見つからなかった場合にエラー値の代わりに別の値を表示する

HLOOKUP 関数では指定した範囲の 1 行目に指定した語句が見つからなかった場合はエラーとなり #N/A を返します。

HLOOKUP関数のサンプル(8)

見つからなかった場合にエラー値を表示するのではなく、指定した文字列を代わりに表示するには IFNA 関数を合わせて使用します。先ほど C7 セルに入力した関数を次のように書き換えてください。

=IFNA(HLOOKUP(B7,C2:G4,2,FALSE),"-")

HLOOKUP関数のサンプル(9)

これでもし見つからなかった場合は #N/A と表示する代わりに "-" が表示されます。

HLOOKUP関数のサンプル(10)

近似値を含めて検索する

HLOOKUP 関数の 4 番目の引数に TRUE を指定すると、完全に一致した値が見つからなかった場合に検索する値以下の最大のデータと一致したものとみなし、指定の行番号の値を返します。この近似値を含めて検索する場合は、検索が行われる指定範囲の 1 行目のデータを昇順で入力してください。

HLOOKUP関数のサンプル(11)

それでは実際に試してみます。 C6 セルを選択したあとで次のように入力します。 4 番目の引数に近似値を含めて検索するように TRUE を指定してください。

=HLOOKUP(B6,C2:G3,2,TRUE)

HLOOKUP関数のサンプル(12)

それでは B11 セルに検索する家賃を入力してください。今回は完全に一致する値が存在しない 23000 を入力しました。すると一致する値は見つかりませんが、入力した値以下の最大の値である 20000 のデータと一致したものとして指定の行のデータを取得しました。

HLOOKUP関数のサンプル(13)

関数の挿入を使ってHLOOKUP関数を入力する

HLOOKUP 関数を入力する場合に関数の挿入を使って行う方法を試してみます。関数を挿入するセルをクリックして選択したあとで、関数の挿入をクリックします。

関数の挿入を使ってHLOOKUP関数を入力する(1)

「関数の挿入」ダイアログが表示されたら関数名のところで「HLOOKUP」をクリックしてください。そのあとで「OK」をクリックしてください。

関数の挿入を使ってHLOOKUP関数を入力する(2)

「関数の引数」ダイアログが表示されたら、 1 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセルを Excel 上でクリックして下さい。

関数の挿入を使ってHLOOKUP関数を入力する(3)

関数の挿入を使ってHLOOKUP関数を入力する(4)

ダイアログの 1 番目の引数のところに先ほどクリックしたセルが表示されます。

関数の挿入を使ってHLOOKUP関数を入力する(5)

続いて 2 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセル範囲を Excel 上で選択して下さい。

関数の挿入を使ってHLOOKUP関数を入力する(6)

関数の挿入を使ってHLOOKUP関数を入力する(7)

ダイアログの 2 番目の引数のところに先ほど選択したセル範囲が表示されます。

関数の挿入を使ってHLOOKUP関数を入力する(8)

続いて 3 番目の引数を入力するテキストボックスに取得する列番号を入力してください。

関数の挿入を使ってHLOOKUP関数を入力する(9)

続いて 4 番目の引数を入力するテキストボックスに完全一致だけを行うか近似値の値を行うのかを表す論理値を入力してください。

関数の挿入を使ってHLOOKUP関数を入力する(10)

引数の指定が終わりましたら最後に「OK」をクリックしてください。最初に選択したセルに HLOOKUP 関数が入力されます。

関数の挿入を使ってHLOOKUP関数を入力する(11)

B7 セルに検索する値を入力すると、 HLOOKUP 関数を入力したセルに取得した値が表示されます。

関数の挿入を使ってHLOOKUP関数を入力する(12)

-- --

Excel における HLOOKUP 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。