Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

ExcelのVLOOKUP関数の使い方を徹底解説|基本構文から実用例・エラー対処まで

ExcelのVLOOKUP関数は、表の中から目的の値を縦方向に検索して取り出すための便利な関数です。この記事では、Excel 2019やMicrosoft 365を含むすべてのバージョンのExcelでVLOOKUP関数を使う方法を、基本構文から具体的な使用例、エラーへの対処法までわかりやすく解説します。

  • VLOOKUP関数は、スプレッドシート内の値を検索するために使用します。
  • 基本の構文は =VLOOKUP(検索値, 範囲, 列番号, [検索方法]) です。

VLOOKUP関数とは?

VLOOKUP関数は、Excelの表の中から特定のデータを探し出すための関数です。列見出しで整理されたデータ行がある場合、VLOOKUPを使えば特定の列を基準に目的の値を素早く見つけられます。

VLOOKUPを実行すると、Excelはまず取得したいデータが含まれる行を探し、その行の中から指定した列にある値を返します。「縦(Vertical)方向に検索する」ことが名前の由来です。

ExcelのVLOOKUP関数の使い方を徹底解説|基本構文から実用例・エラー対処まで

VLOOKUP関数の構文と引数

VLOOKUP関数は、以下の4つの要素で構成されます。

=VLOOKUP(検索値, 範囲, 列番号, [検索方法])

  • 検索値(search_value):探したい値です。必ず範囲の左端(1列目)に存在している必要があります。
  • 範囲(lookup_table):検索対象となるセル範囲です。検索値もこの範囲に含まれます。
  • 列番号(column_number):範囲の左端から数えて何列目の値を返すかを指定する数字です。
  • 検索方法(approximate_match):省略可能な引数で、TRUE(近似一致)またはFALSE(完全一致)を指定します。省略した場合はTRUEとなり、近似一致で検索されます。

VLOOKUP関数の使用例

ここからは、VLOOKUP関数の具体的な使い方を例とともに紹介します。

例1:表の中の項目名をもとに隣の値を検索する

=VLOOKUP("Lemons",A2:B5,2)
ExcelのVLOOKUP関数の使い方を徹底解説|基本構文から実用例・エラー対処まで

これはVLOOKUP関数の基本的な例です。複数の商品リストから、レモン(Lemons)の在庫数を調べています。検索範囲はA2:B5で、「In Stock(在庫数)」は範囲内の2列目にあたるため、列番号には2を指定します。この結果として22が返されます。

例2:名前から社員番号を調べる

=VLOOKUP(A8,B2:D7,3)
=VLOOKUP(A9,A2:D7,2)
ExcelのVLOOKUP関数の使い方を徹底解説|基本構文から実用例・エラー対処まで

似たようなデータセットでも、取得したい情報の列が異なれば式の書き方も変わります。1つ目の式は、A8に入力された名前(Finley)の役職を3列目から取得します。一方、2つ目の式は、A9に入力された社員番号(819868)に一致する名前を2列目から返します。セル参照を使っているため、文字列を直接指定するときのような引用符(")は不要です。

例3:IF関数と組み合わせて使う

=IF(VLOOKUP(A2,Sheet4!A2:B5,2)>10,"No","Yes")
ExcelのVLOOKUP関数の使い方を徹底解説|基本構文から実用例・エラー対処まで

VLOOKUPは他のExcel関数と組み合わせたり、別シートのデータを参照したりすることもできます。この例では両方を活用し、A列の商品を追加発注する必要があるかどうかを判定しています。Sheet4のA2:B5範囲で2列目の値が10より大きければ「No」(発注不要)、そうでなければ「Yes」と表示されます。

例4:表の中で最も近い数値を検索する

=VLOOKUP(D2,$A$2:$B$6,2)
ExcelのVLOOKUP関数の使い方を徹底解説|基本構文から実用例・エラー対処まで

最後の例では、靴の一括注文数量に応じた割引率を求めています。検索する数量はD列にあり、割引情報を含む範囲はA2:B6、その中の2列目に割引率が入っています。完全一致である必要はないため、第4引数の検索方法は空欄(TRUE扱い)にしています。完全一致が見つからない場合は、それより小さい直近の値が自動的に採用されます。

たとえば60個の注文では表に一致する数値がないため、一つ小さい50が適用され、75%の割引率が使われます。F列は割引を反映して計算した最終価格です。

VLOOKUP関数のエラーと注意点

VLOOKUP関数をExcelで使うときは、以下のポイントを押さえておきましょう。

  • 検索値が文字列の場合は、必ずダブルクォーテーション(")で囲みます。
  • 検索結果が見つからない場合、Excelは #N/A エラーを返します。
  • 近似一致の検索で、範囲内に検索値以上の数値が存在しない場合も #N/A エラーになります。
  • 列番号が範囲の列数より大きい場合、Excelは #REF! エラーを返します。
  • 検索値は常に範囲の左端列に置かれ、列番号を数える際は1列目として扱われます。
  • 検索方法にFALSEを指定して完全一致が見つからない場合は、#N/A が返されます。
  • 検索方法にTRUEを指定して完全一致が見つからない場合は、次に小さい値が返されます。
  • 並べ替えていない表では、検索方法にFALSEを指定して最初の完全一致を返すようにしましょう。
  • 検索方法がTRUEまたは省略されている場合、範囲の1列目は五十音順・アルファベット順・数値の昇順などに並べ替えておく必要があります。並べ替えられていないと、予期しない値が返されることがあります。
  • 絶対参照($マーク)を使うと、オートフィルで式をコピーしても範囲がずれないので便利です。

VLOOKUP以外の類似関数

VLOOKUPは縦方向(列方向)の検索を行う関数です。もしデータが横方向に並んでいて、行を下へ辿って値を取得したい場合は、HLOOKUP関数を使用します。

また、Microsoft 365で利用できるXLOOKUP関数は、縦横どちらの方向にも対応しており、より柔軟な検索が可能な新しい関数です。環境が許すなら、こちらの活用も検討してみるとよいでしょう。

  1. ExcelのRANDBETWEEN関数の使い方|指定した範囲内の乱数を簡単に生成する3つの方法

    Microsoft ExcelのRANDBETWEEN(ランドビトウィーン)関数は、数学/三角関数に分類される関数の一つで、指定した2つの数値の間からランダムな整数を返します。サイコロの目のような1〜6の乱数を作りたいときや、くじ引きの番号、テストデータなどを自動生成したい場合にとても便利です。 この記事では、RANDBETWEEN関数の書式と、セルへの直接入力、「関数の挿入」ダイアログボックス、「数式」タブを使った3つの方法を、初心者の方にもわかりやすく解説します。 RANDBETWEEN関数の書式 RANDBETWEEN関数の書式は以下の通りです。 =RANDBETWEEN(最小値, 最大

  2. ExcelのVLOOKUP関数の使い方を徹底解説!基本から応用まで

    大量のデータが入ったExcelスプレッドシートから、特定の情報だけを簡単に抽出したいと思ったことはありませんか?ExcelでVLOOKUPを使いこなせるようになれば、たった一つの強力な関数だけで、こうした検索・抽出作業を実現できます。 VLOOKUP関数は、引数が多く、使い方も複数あるため、多くの人にとってとっつきにくい存在です。この記事では、ExcelにおけるVLOOKUPのあらゆる使い方と、この関数がなぜそれほど強力なのかを、具体例を交えながら詳しく解説します。 ExcelのVLOOKUP関数の引数 Excelの任意のセルに=VLOOKUP(と入力すると、利用可能な引数の一覧がポップ