VLOOKUP 関数

ヒント: 新しい Xlookup 関数 (新しいXlookup関数) を使用してみてください。これは、任意の方向で動作する VLOOKUP の改良されたバージョンであり、既定で完全一致が返されます。これは、先行タスクよりも簡単で使いやすくなります。

テーブル内の項目や行ごとの範囲を検索する必要がある場合は、VLOOKUP を使用します。 たとえば、自動車部品の価格を部品番号で検索するか、従業員 ID に基づいて従業員名を検索します。

ヒント: VLOOKUP の詳細については、 Microsoft の作成者の YouTube ビデオをご覧ください。

その最も簡単な形式で、VLOOKUP 関数は次のようになります。

= VLOOKUP (検索する内容、検索する場所、検索対象の値を含む範囲内の列番号、近似または完全一致-1/TRUE、または 0/FALSE) を返します。

お知らせで大きなインパクトを与える

ヒント: VLOOKUP の秘訣は、検索する値 (果物) が、検索対象の戻り値 (金額) の左側にあるようにデータを整理することです。

表内で値を検索するには、VLOOKUP 関数を使用します。

構文

VLOOKUP(検索値, 範囲, 列番号, [検索の型])

次に例を示します。

  • = VLOOKUP (A2, A10: C20, 2, TRUE)

  • =VLOOKUP("前田",B2:E7,2,FALSE)

  • = VLOOKUP (A2, ' クライアントの詳細 '!A: F、3、FALSE

引数名

説明

検索値    (必須)

検索の対象となる値。 検索する値は、 table_array引数で指定したセル範囲の最初の列にある必要があります。

たとえば、テーブルがセル B2: D7 にまたがる場合、lookup_value は列 B にある必要があります。

Lookup_value には、値またはセルへの参照を指定できます。

範囲    (必須)

VLOOKUP が検索値と戻り値を検索するセル範囲。 名前付き範囲またはテーブルを使用できます。また、セル参照ではなく、引数で名前を使うことができます。 

セル範囲の最初の列には、 lookup_valueが含まれている必要があります。 また、セル範囲には、検索する戻り値も含める必要があります。

ワークシートで範囲を選択する方法については、こちらを参照してください。

列番号    (必須)

戻り値を含む列の番号 ( table_arrayの左端の列が1の場合)。

検索の型    (省略可)

VLOOKUP を使用して、近似一致を検索するか、完全一致を検索するかを指定する論理値です。

  • 近似一致-1/TRUEは、テーブルの最初の列が数値またはアルファベット順に並べ替えられていることを前提とし、最も近い値を検索します。 この引数を省略した場合は、TRUE が指定されたものとみなされます。 たとえば、= VLOOKUP (90, A1: B100, 2, TRUE)

  • 完全一致-0/FALSEを指定すると、最初の列の正確な値が検索されます。 たとえば、= VLOOKUP ("Smith", A1: B100, 2, FALSE)。

利用方法

VLOOKUP の構文を作成するには、4 つの情報が必要になります。

  1. 検索する値、検索値とも呼ばれます。

  2. 検索値が含まれるセル範囲。 VLOOKUP が正常に機能するために、検索値は範囲の最初の列に必ず位置している必要があることに注意してください。 たとえば、検索値がセル C2 にある場合、範囲は C 列から始まる必要があります。

  3. 戻り値を含む範囲内の列番号。 たとえば、範囲として B2: D11 を指定した場合は、B の最初の列として B をカウントし、2番目の列に「C」と入力します。

  4. 必要に応じて、戻り値として近似一致を検索する場合は TRUE、完全一致を検索する場合は FALSE を指定できます。 何も指定しない場合、既定値は TRUE、つまり近似一致を常に返します。

以上をまとめると次のようになります。

= VLOOKUP (検索値, 検索値を含む範囲, 戻り値を含む範囲内の列番号, 近似一致 (TRUE) または完全一致 (FALSE))

使用例

次に、VLOOKUP の例をいくつか示します。

使用例 1

VLOOKUP の使用例 1

使用例 2

VLOOKUP の使用例 2

例 3

VLOOKUP の使用例 3

使用例 4

VLOOKUP の使用例 4

使用例 5

VLOOKUP の使用例 5

他のテーブルと共通するフィールドがある場合は、VLOOKUP を使用して複数のテーブルを1つに結合することができます。 これは特に、データソースとして複数のテーブルのデータ機能をサポートしていない旧バージョンの Excel を使用しているユーザーとブックを共有する場合に便利です。ソースを1つのテーブルに結合し、データ機能のデータソースを新しいテーブルに変更することで、データ機能を以前のバージョンの Excel で使用できます

他のテーブルのデータを取得するために VLOOKUP を使う列を含むワークシート

ここで、列 A ~ F および H には、ワークシート上の値のみを使用する値または数式が含まれており、残りの列には VLOOKUP と、列 A (クライアントコード) と列 B (弁護士) の値を使って、他のテーブルからデータを取得しています。

  1. 共通フィールドを含むテーブルを新しいワークシートにコピーして、名前を付けます。

  2. データ>データツール>リレーションシップ] をクリックして、[リレーションシップの管理] ダイアログボックスを開きます。

    [リレーションシップの管理] ダイアログボックス
  3. 一覧表示されたリレーションシップごとに、次の点に注意してください。

    • テーブルをリンクするフィールド (ダイアログボックスのかっこで囲まれています)。 これは、VLOOKUP 数式のlookup_valueです。

    • 関連する参照テーブル名。 これは、VLOOKUP 数式のtable_arrayです。

    • 新しい列に必要なデータが含まれている、関連する参照テーブルのフィールド (列)。 この情報は、[リレーションシップの管理] ダイアログボックスには表示されません。関連する参照テーブルを確認して、取得するフィールドを確認する必要があります。 列番号 (A = 1) をメモします。これは、数式のcol_index_numです。

  4. 新しいテーブルにフィールドを追加するには、手順3で収集した情報を使用して、最初の空の列に VLOOKUP 数式を入力します。

    この例では、列 G は弁護士 ( lookup_value) を使って、弁護士ワークシート表の tblAttorneys table_array(col_index_num = 4) からの課金料金データを取得します。これには、 = VLOOKUP ([@Attorney], tbl_Attorneys, 4, FALSE)という数式を使用します。

    この数式では、セル参照と範囲参照を使うこともできます。 この例では、 = VLOOKUP (A2, ' 弁護士 ') ということになります。A: D, 4, FALSE)

  5. 引き続きフィールドを追加して、必要なフィールドをすべて追加します。 複数のテーブルを使用するデータ機能が含まれているブックを準備する場合は、データ機能のデータソースを新しいテーブルに変更します。

問題

原因

戻された値が正しくない

検索の型がTRUE、または指定を省略した場合、左端列を英字または数値順に並べ替えておく必要があります。 左端列が並べ替えられていない場合、想定外の値が戻される可能性があります。 左端列を並べ替えるか、または FALSE を使用して、完全一致を検索してください。

セルに #N/A と表示される

  • 検索の型がTRUEの場合、検索値の値が範囲の左端列にある最小値よりも小さいと、#N/Aエラー値を返します。

  • 検索の型 が FALSE の場合、#N/A エラー値は、完全に一致する値が見つからなかったことを表します。

VLOOKUP で #N/A エラーを解決する方法の詳細については、「VLOOKUP 関数の #N/A エラーを修正する方法」を参照してください。

セルに #REF! と表示される

Col_index_num テーブル配列の列数よりも大きい場合は、#REF が表示されます。 が返されます。

VLOOKUP で #REF! エラーを解決する方法の詳細については、「エラー値 #REF! を修正する方法.

セルに #VALUE! と表示される

範囲 が 1 未満の場合、#VALUE! エラー値を返します。

VLOOKUP で #VALUE! エラーを解決する方法の詳細については、「VLOOKUP 関数の #VALUE! エラーを修正する方法.

セルに #NAME? が表示される

想定される結果ではなく、#Name? エラー値通常、数式に引用符が含まれていないことを意味します。 ユーザーの名前を検索するには、数式の名前の前後に引用符を使用してください。 たとえば、= VLOOKUP ("くる名前", B2: E7,, 2, FALSE) に"くる名前"という名前を入力します。

詳細については、「エラー値 #NAME! を修正する方法.

Excel での #SPILL! と表示される

この特定の#SPILL! エラー 通常、数式が検索値の共通部分を参照し、列全体を参照として使用していることを意味します。 たとえば、= VLOOKUP (a:a, 2, 2, FALSE) この問題を解決するには、次のように @ 演算子で参照を固定します。: = VLOOKUP (@A: A, a, 2, FALSE) また、従来の VLOOKUP メソッドを使用して、列全体ではなく、1つのセルを参照することもできます。 = VLOOKUP (A2, 2, 2, FALSE)

操作

理由

検索の型には絶対参照を使う

絶対参照を使うと、数式を下方向へコピーした場合に常にまったく同じ検索範囲を参照することができます。

セルの絶対参照については、こちらを参照してください。

数値や日付を文字列として保存しない。

数値または日付値を検索する場合は、 table_arrayの最初の列のデータがテキスト値として保存されていないことを確認してください。 文字列として保存されている場合、誤った値や想定外の値が返されることがあります。

左端列を並べ替える

検索の型がTRUE の場合は VLOOKUPを使う前に、範囲の左端列を並べ替えます。

ワイルドカード文字を使う

Range_lookup が FALSE でlookup_valueが文字列の場合は、 lookup_valueでワイルドカード文字 (疑問符 (?) とアスタリスク (*) を使うことができます。 疑問符は任意の 1 文字に相当します。 アスタリスクは任意の一連の文字列に相当します。 ワイルドカード文字ではなく、通常の文字として疑問符やアスタリスクを検索する場合は、その文字の前にチルダ (~) を付けます。

たとえば、= VLOOKUP ("Fontan?", B2: E7,, 2, FALSE) を使うと、くる名前のすべてのインスタンスが、文字が変わる可能性があります。

データに誤字が含まれていないことを確認する。

左端の列にある文字列を検索するときは、この列にあるデータの先頭または末尾に余分なスペースがないこと、まっすぐな引用符 (' または ") と丸みを帯びた引用符 (‘ または “) が混在しないこと、印刷されない文字が含まれていないことを確認してください。 このいずれかに該当する場合は、予期しない値が返されることがあります。

正確な結果を得るために、CLEAN 関数または TRIM 関数を使って、表のセル値の末尾にある余分なスペースを削除してください。

補足説明

Excel Tech Community では、いつでも専門家に質問できます。Microsoft コミュニティでは、サポートを受けられます。また、Excel User Voice では、新機能についての提案や改善案を送信することができます。

関連項目

クイックリファレンスカード: vlookup リフレッシャー
クイックリファレンスカード: vlookup トラブルシューティングヒント
YouTube: Microsoft
の作成者からの vlookup のビデオ#VALUE を修正する vlookup 関数のエラー
VLOOKUP 関数
の #N/a のエラーを修正する方法
excel
の数式の概要 excel の関数 (アルファベット順)excel 関数
(アルファベット順) の数式のエラー
を検出する
excel の関数 (アルファベット順)VLOOKUP (無料プレビュー)

注:  このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 情報が役に立ったかどうか、ご意見をお寄せください。 参考までに、こちらから英語の記事をお読みいただけます。

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×