OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

VLOOKUPとLOOKUP関数の違い

  • すぐに回答を!
  • 質問No.209319
  • 閲覧数39277
  • ありがとう数13
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 89% (78/87)

今データを抽出する表を作成しているのですが
VLOOKUPとLOOKUP関数の違いがいまいち分かりません。
それぞれどういう利点があり
逆にどんな悪いところがあるのか
どなたか教えていただけませんか?
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1

LOOKUP関数と、それに類似した関数には、次のようなものがあります。

[LOOKUP]
(1) LOOKUP(検査値,検索範囲,対応範囲)
(2) LOOKUP(検査値,セル配列)

[VLOOKUP]
VLOOKUP(検査値,セル配列,列番号,[検索の形式])

[HLOOKUP]
HLOOKUP(検査値,セル配列,行番号,[検索の形式])

(『セル配列』という表現は適切ではないかもしれませんが、複数の行と列の『左上』と『右下』で範囲を指定する方法を、こう書いてみました。)

VLOOKUP関数の列番号はセル配列の一番左の列を『第1列』として数えます。
同様に、HLOOKUP関数の行番号はセル配列の一番上の行を『第1行』として数えます。
また、『検索の形式』は省略可能で、指定する時は『TRUE』または『FALSE』で指定します。TRUEを指定(または省略)した場合には、検査値と一致する値が検索範囲内に見つからない時には、検査値より小さい最大の値を検索します。(そのため、検索範囲と対応範囲は昇順に並べ替えておく必要があります)。FALSEを指定した場合には、一致する値が見つからないとエラーになります。(この場合、並べ替えの必要はありません。)

例えば、A2に検査したい値、H2からH8に検索する値が、一列空けたJ2からJ8に対応する値が入っている場合には、

=LOOKUP(A2,H2:H8,J2:J8)
=LOOKUP(A2,H2:J8)
=VLOOKUP(A2,H2:J8,3)

のいずれかが使えます。LOOKUP関数の(2)の書式のセル配列では、通常、一番左の列(または一番上の行)が(1)の検索範囲、一番右の列(または一番下の行)が対応範囲と解釈されますが、検索範囲と対応範囲が、『列で指定されているのか』、『行で指定されているのか』が不明確なため、指定した範囲が広く、範囲内に他にも数値が入っていると、予期せぬ戻り値になることがあります。

それぞれの利点・欠点ということですが、

LOOKUP関数の利点は、書式が簡単ということくらいでしょうか?(VLOOKUP関数とHLOOKUP関数のどちらか一方を使えば、LOOKUP関数の機能は表すことができます。)

LOOKUP関数の欠点は、『検索の形式』が指定できず、常にVLOOKUP関数で『TRUE』を指定したのと同じ形式で検索されますから、検査値が検索範囲にない場合には、戻り値がない方が良い時には使えません。

VLOOKUP関数の利点は、検査値とは別の条件で戻り値を変えたい場合、例えば、A2に年齢、B2に男女の別などが入っているとして、H2:H8に年齢、I2:I8に男性の時の戻り値、J2:J8に女性の時の戻り値を入れておけば、

=VLOOKUP(A2,H2:J8,IF(B2="男",2,3))

で、男女別に戻り値を変えることができます。

以上、少々長文ですが、ご参考までに・・・。
お礼コメント
ayu1183

お礼率 89% (78/87)

お礼が遅くなってしまってすいません。
大変丁寧な回答をありがとうございました!
非常に参考になりました。
頑張って資料を作りたいと思います。
投稿日時 - 2002-02-01 23:42:32
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ