Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
HLOOKUP関数の使い方:Excel関数
Home »
エクセル関数一覧表 »
Excel関数の目次 »
HLOOKUP関数の使い方
更新:2025/1/26;作成:2009/7/4
エイチルックアップ
=HLOOKUP(検索値,範囲,行位置 [,検索の型] )
範囲の上端の行で、検索値を検索し、値の見つかった列の、行位置のセルの内容を表示する。
つまり、検索値が上の行にあり、返す値が下の行にあるときに使用できます。
検索の型:「TRUE」もしくは [省略](「1」と入力してもOK)
検索値が見つからない場合に、検索値未満で最も大きい値 が使用されます。
(注)検索範囲の値は昇順に並んでおく必要があります。
検索の型:「FALSE」(「0」と入力してもOK)
検索値と完全に一致する値 だけが検索され、見つからない場合はエラー値 #N/A が返されます。
文字列の検索に適します。
検索値が左の列にあるケースでは VLOOKUP関数 や LOOKUP関数 を使います。
または、INDEX関数とMATCH関数 を使います。
Excel for Microsoft365,Excel2021,Excel2024では XLOOKUP関数で対応できるようになりました。
【問題】右の評価一覧表にしたがって、D4:E6セルの評価を表示する数式を入れなさい。
なお、H3セルの「0」は0以上40未満 I3セルの「40」は40以上70未満 J3セルの「70」は70以上を意味します。
B
C
D
E
F
G
H
I
J
2
評価一覧表
3
名前
得点
評価A
評価B
得点
0
40
70
4
今田
50
△
良
評価A
×
△
○
5
河野
20
×
不可
評価B
不可
良
優
6
山田
70
○
優
【問題1の解答例1】
D4セルに=HLOOKUP( C4 , $H$3:$J$5 ,2, TRUE ) 、E4セルに=HLOOKUP( C4 , $H$3:$J$5 ,3, TRUE ) と入力します。
D4:E4 セルを選択し、オートフィルでD6:E6セルまで数式をコピーして完成です。
D4セルに=HLOOKUP($C4 ,$H$3:$J$5,COLUMN(B$1) ,TRUE) とすると一つの数式ですみます。
この場合は、D4セルをE5セルにコピーし、さらにD4:E4セルを下方向へコピーします。
なお、「検索の型」に「TRUE」を入れていますが、省略または1としてもOKです。
【問題1の解答例2】検索範囲に名前を定義して使う方法
セル範囲 H3:J5 に『評価一覧』と名前を定義する と、
D4セルの数式は =HLOOKUP(C4,評価一覧,2)
E4セルの数式は =HLOOKUP(C4,評価一覧,3)
となります。
D4:E4 セルを選択し、オートフィルでD6:E6セルまで数式をコピーして完成です。
別解:D4セルに=HLOOKUP(C4,評価一覧,COLUMN(B1))としてもOKです。
XLOOKUP関数でも計算できます。
VLOOKUP関数とHLOOUP関数と参照範囲の違いによって使い分けていたものが、XLOOUP関数で対応できるようになりました。
D4セル =XLOOKUP( C4:C6,H3:J3,H4:J4 ,,-1 )
E4セル =XLOOKUP( C4:C6,H3:J3,H5:J5 ,,-1 )
引数の一致モードを -1 とするのがポイントです。
【問題2】商品名を入力すると、商品の単価表から検索して単価を入力するように、D3:D4セルの数式を作成しなさい。
B
C
D
E
F
G
H
I
J
K
L
2
日付
商品名
単価
数量
金額
商品名
りんご
みかん
バナナ
梨
3
4月1日
りんご
100
20
2,000
単価
100
150
120
200
4
4月2日
バナナ
120
25
3,000
【問題2の解答例】
B
C
D
E
F
G
H
I
J
K
L
2
日付
商品名
単価
数量
金額
商品名
りんご
みかん
バナナ
梨
3
4月1日
りんご
=HLOOKUP(C3,$I$2:$L$3,2,FALSE)
20
2,000
単価
100
150
120
200
4
4月2日
バナナ
=HLOOKUP(C4,$I$2:$L$3,2,FALSE)
25
3,000
商品の単価は商品名を検索して単価を探します。検索する商品名は行方向に配置してあるので、HLOOKUP関数を使うことになります。
=HLOOKUP(C3,$I$2:$L$3,2) としたところ、間違った単価が返されてしまいました。
検索する値が昇順でない場合は、完全一致で検索する必要があるので、検索の型を FALSE または 0 と指定します。
D3セルには =HLOOKUP( C3 , $I$2:$L$3 , 2 ,FALSE ) と入力します。
下図の I5:L6 ように、商品名が昇順に並んでる場合は、HLOOKUP関数の引数の検索の型がTRUE(もしくは省略)で良いのですが、この問題では昇順に並んでいません。
検索する値が下図の I5:L5 が昇順なら 、=HLOOKUP( C3 , $I$5:$L$6 , 2 ) とすることができます。
スポンサードリンク
よねさんのWordとExcelの小部屋 »
エクセル関数一覧表 »
HLOOKUP関数の使い方
PageViewCounter
Since2006/2/27