Excel VLOOKUP関数チュートリアル(計算式の例付き

  • これを共有
Michael Brown

今日は、ExcelでVLOOKUPを使う方法を多くの詳細なステップバイステップの例で見てみましょう。 別のシートや別のワークブックからVlookupする方法、ワイルドカードを使った検索など、たくさんのことを学ぶことができます。

今回は、Excelで最も便利な関数の1つであり、同時に最も複雑で理解されていない関数の1つでもあるVLOOKUPを取り上げます。 経験の浅いユーザーができるだけ簡単に学習できるように、基本を非常に分かりやすく説明します。 また、ExcelでのVLOOKUPの最も典型的な使用方法をカバーする数式例を提供し、VLOOKUPを理解できるように努めます。また、そのような方々のためになる情報、楽しい情報を提供します。

    エクセルVLOOKUP関数

    VLOOKUPとは そもそもExcelの関数です :) どういうものかというと、指定した値を検索して、それに一致する値を別の列から返すというものです。 より専門的には、VLOOKUP関数は指定した範囲の最初の列にある値を検索して、同じ行の別の列から値を返します。

    Excel VLOOKUPは、一意な識別子に基づいてデータセットを検索し、その一意な識別子に関連する情報の一部を表示します。

    V」は「vertical」の略で、列ではなく行で値を調べるHLOOKUP関数(Hは「horizontal」)とVLOOKUPを区別するために使われています。

    この機能は、Excel 365からExcel 2007までのすべてのバージョンで利用可能です。

    補足:Excel 365、Excel 2021では、VLOOKUPの後継として、より柔軟で強力なXLOOKUP関数を使用することができます。

    VLOOKUPの構文

    VLOOKUP関数の構文は次のとおりです。

    VLOOKUP(lookup_value、table_array、col_index_num、[range_lookup])

    どこで

    • ルックアップ値 (必須) - 検索する値です。

      値(数値、日付、テキスト)、セル参照(ルックアップ値を含むセルへの参照)、または他の関数が返す値を指定します。 数値やセル参照とは異なり、テキスト値は常に「ダブルクォート」で囲む必要があります。

    • 表_配列 (必須) - ルックアップ値を検索し、一致する値を取得するセルの範囲です。 (推奨) VLOOKUP関数は、常にテーブル配列の最初の列を検索します。 は、様々なテキスト値、数値、日付、論理値を含むことができる。
    • Col_index_num (必須) - 値を返す列の番号。 カウントはテーブル配列の一番左の列から始まり、1 となる。
    • 範囲指定 (オプション) - 検索対象が近似一致か完全一致かを指定します。
      • TRUEまたは省略(デフォルト)-近似一致。 完全一致が見つからない場合、式はルックアップ値より小さい最大の値を検索します。 ルックアップ列を昇順でソートする必要があります。
      • FALSE - 完全一致 この式では、検索値と完全に一致する値が検索されます。 完全に一致しない場合は、#N/A 値が返されます。

    VLOOKUPの基本的な計算式

    ここでは、ExcelのVLOOKUP式の最もシンプルな例をご紹介します。 以下の式をご覧いただき、英語に「翻訳」してみてください。

    =VLOOKUP("lion",A2:B11,2,FALSE)です。

    • 第1引数( ルックアップバリュー )は、この式が「ライオン」という言葉を調べていることを明確に示している。
    • 第2引数( table_array というのは、検索は一番左の列で行われるので、上の式をもう少し詳しく読むと、A2:A11の範囲で「ライオン」を検索することになります。 ここまではいいのですが、どうでしょう?
    • 第3論 col_index_num つまり、テーブル配列の2番目にあるB列から、一致する値を返したいということです。
    • 第4回目 レンジルック はFALSEで、これは完全一致を探すことを意味します。

    すべての引数が確立されているので、数式全体を読むのに問題はないはずです。A2:A11で「ライオン」を検索し、完全に一致するものを見つけ、同じ行のB列から値を返します。

    便宜上、あるセル、例えばE1に目的の値を入力し、「ハードコードされた」テキストをセル参照に置き換えることで、E1に入力した任意の値を検索する数式を取得することができます。

    =vlookup(e1, a2:b11, 2, false)

    何か不明な点があれば、このように考えてみてください。

    ExcelでVlookupを行う方法

    実際のワークシートでVLOOKUP式を使用する場合、主な経験則は次のとおりです。 ロックテーブル配列 を絶対セル参照($A$2:$C$11など)で使用すると、数式を他のセルにコピーする際に変更されるのを防ぐことができます。

    があります。 ルックアップ値 は、ほとんどの場合、相対参照(E2など)か、列の座標($E2)だけを固定することができます。 数式が列の下にコピーされると、参照は各行ごとに自動的に調整されます。

    実際にどのように機能するかを見るために、次の例を考えてみましょう。 サンプルのテーブルに、動物をスピードでランク付けする列(列A)をもう一つ加え、世界で最も速いスプリンターの1位、5位、10位を見つけたいと思います。 そのためには、いくつかのセル(下のスクリーンショットのE2:E4)にルックアップランクを入力して、次の数式を使用します。

    B列から動物の名前を抜き出すこと。

    =vlookup($e2, $a$2:$c$11, 2, false)

    C列から速度を抽出する場合。

    =vlookup($e2, $a$2:$c$11, 3, false)

    セル F2 と G2 に上記の数式を入力し、それらのセルを選択して、数式を下の行にドラッグします。

    下の行の数式を調べると、テーブルの配列は変更されていないのに、ルックアップ値の参照がその特定の行のために調整されていることに気づくでしょう。

    以下では、頭痛とトラブルシューティングの時間を大幅に節約できる、いくつかの便利なヒントを紹介します。

    Excel VLOOKUP - 覚えておきたい5つのポイント!

    1. VLOOKUP関数は、その左側を見ることができない で常に検索しています。 最左列 左から値を取り出したい場合は、INDEX MATCH (Excel 365 では INDEX XMATCH) を使用すると、検索列と戻り列の位置関係を気にせずに済みます。
    2. VLOOKUP関数は、大文字と小文字を区別しません。 大文字と小文字を区別するために、大文字と小文字を区別する VLOOKUP 式を使用します。
    3. 最後のパラメータの重要性について覚えておいてください。 ほぼ一致する場合はTRUE、完全に一致する場合はFALSEを使用してください。 詳細は、VLOOKUP TRUE vs. FALSEを参照してください。
    4. 近似一致を検索する場合、ルックアップ列のデータが昇順でソートされていることを確認する。
    5. ルックアップ値が見つからない場合は、#N/Aエラーが返されます。 その他のエラーについては、「Excel VLOOKUPが動作しない理由」をご覧ください。

    Excel VLOOKUPの例

    垂直方向のルックアップが少しは身近に感じられるようになってきたでしょうか。 知識の強化のために、もう少しVLOOKUPの数式を組み立ててみましょう。

    Excelで他のシートからVlookupする方法

    実際には、ExcelのVLOOKUP関数は、同じワークシートのデータで使用されることはほとんどありません。 ほとんどの場合、別のワークシートから一致するデータを取得する必要があります。

    別のExcelシートからVlookupするには、ワークシート名の後に感嘆符を付けて table_array 例えば、Sheet2 の A2:B10 の範囲を検索するには、以下の数式を使用します。

    =VLOOKUP("製品1", Sheet2!A2:B10, 2)

    もちろん、シート名を手入力する必要はなく、数式を入力し始め table_array 引数で、ルックアップワークシートに切り替え、マウスで範囲を選択します。

    例えば、A2:A9の範囲でA2の値を調べるには、このようにします。 価格 ワークシートのC列から一致する値を返します。

    =VLOOKUP(A2, 価格!$A$2:$C$9,3,FALSE)

    注意事項

    • スプレッドシートの名前に スペースまたはアルファベット以外の文字 例:'価格表'!$A$2:$C$9のようにシングルクォーテーションで囲む。
    • 複数のセルに対してVLOOKUP式を使用する場合は、次のことを忘れないでください。 ロックテーブル_配列 を$記号で表すと、$A$2:$C$9のようになります。

    Excelで他のワークブックからVlookupする方法

    別のExcelワークブックからVlookupする場合は、ワークシート名の前に角括弧で囲まれたワークブック名を付けてください。

    例えば、以下のようなシートでA2の値を調べる計算式があります。 価格 において 価格表.xlsx ワークブック

    =VLOOKUP(A2, [Price_List.xlsx]Prices!$A$2:$C$9,3,FALSE)。

    ワークブック名やワークシート名にスペースやアルファベット以外の文字が含まれる場合は、次のように一重引用符で囲んでください。

    =VLOOKUP(A2, '[価格表.xlsx]価格'!$A$2:$C$9, 3, FALSE)です。

    異なるワークブックを参照するVLOOKUP式の最も簡単な作り方は、次の通りです。

    1. 両方のファイルを開いてください。
    2. 数式を入力し、他のワークブックに切り替え、マウスで表の配列を選択します。
    3. 残りの引数を入力し、Enterキーを押して数式を完成させます。

    下のスクリーンショットのような画面が表示されます。

    一度は 了い をクリックすると、VLOOKUP式は引き続き機能しますが、閉じたワークブックのフルパスが表示されるようになります。

    詳しくは、「Excelの他のシートやワークブックを参照する方法」をご覧ください。

    別のシートの名前付き範囲からVlookupする方法

    同じ検索範囲を多くの数式で使用する場合は、名前付きの検索範囲を作成し、その名前を直接 table_array の議論になります。

    名前付きの範囲を作成するには、セルを選択し、必要な名前を 名称 詳しい手順は、「Excelで範囲に名前を付ける方法」をご覧ください。

    この例では、名前に 価格_2020年 をルックアップシートのデータセル(A2:C9)にコピーして、このコンパクトな数式を得ます。

    =VLOOKUP(A2, Prices_2020, 3, FALSE)

    Excelのほとんどの名称は ぜんしょ そのため、名前付き範囲を使用する際に、ワークシート名を指定する必要はありません。

    もし、名前の付いた範囲が べつのワークブック のように、範囲名の前にワークブックの名前を付けます。

    =VLOOKUP(A2, 'Price List.xlsx'!Prices_2020, 3, FALSE)

    また、名前付き範囲を使用すると、絶対参照の代わりになります。 名前付き範囲は変更されないので、数式がどこに移動またはコピーされても、テーブル配列はロックされたままであることを確認できます。

    ルックアップ範囲を完全に機能するExcelテーブルに変換した場合、テーブル名に基づいてVlookupを行うことができます(例)。 価格表 を以下の式で表す。

    =VLOOKUP(A2, Price_table, 3, FALSE)

    テーブル参照は構造化参照とも呼ばれ、弾力性があり、多くのデータ操作の影響を受けません。 例えば、ルックアップテーブルに新しい行を削除または追加しても、参照の更新を気にする必要はありません。

    VLOOKUP式でワイルドカードを使用する

    他の多くの数式と同様に、ExcelのVLOOKUP関数では、以下のワイルドカード文字を使用することができます。

    • クエスチョンマーク (?) で任意の1文字にマッチします。
    • アスタリスク (*) を使用すると、任意の文字列にマッチします。

    ワイルドカードは、様々な場面でとても便利です。

    • 探している文章を正確に覚えていないとき。
    • セル内容の一部である文字列を探す場合。
    • ルックアップカラムに先頭または末尾のスペースが含まれている場合、通常の計算式がなぜうまくいかないのか、頭を悩ませることがあります。

    例1.ある文字で始まる、または終わる文章を調べる

    下のデータベースから、ある顧客を探したいとする。 名字は覚えていないが、"ack "で始まることは確かである。

    A列から姓を返すには、次のVlookupワイルドカード式を使用します。

    =VLOOKUP("ack*",$A$2:$B$10,1,FALSE)です。

    B列からライセンスキーを取得する場合は、こちらを使用します(違いは列のインデックス番号のみ)。

    =VLOOKUP("ack*",$A$2:$B$10,2,FALSE)です。

    また、名前の既知の部分をどこかのセル、例えばE1に入力し、ワイルドカード文字とセル参照を組み合わせることもできます。

    =VLOOKUP(E1& "*", $A$2:$B$10, 1, FALSE)

    下のスクリーンショットはその結果を示しています。

    以下は、ワイルドカードを使ったVLOOKUPの計算式です。

    息子」で終わる苗字を探す。

    =VLOOKUP("*son",$A$2:$B$10,1,FALSE)です。

    ジョウ」で始まり「ソン」で終わる名前を取得する。

    =VLOOKUP("joh*son", $A$2:$B$10, 1, FALSE)

    5文字の姓を引く。

    =vlookup("????", $a$2:$b$10, 1, false)

    例2.セルの値からVLOOKUPのワイルドカードを作成する場合

    先ほどの例で、アンパサンド(&)とセル参照を連結して検索文字列を作ることができることは、すでにご存じでしょう。 任意の位置に指定した文字を含む値を検索するには、セル参照の前後にアンパサンドを付けます。

    例えば、あるライセンス・キーに対応する名前を取得したいが、キー全体は分からず、数文字しか分からないとします。 A列にキー、B列に名前、E1に対象キーの一部があれば、このようにワイルドカードVlookupを行うことができます。

    キーを抽出します。

    =VLOOKUP("*"&E1& "*", $A$2:$B$10, 1, FALSE)

    名前を抽出します。

    =VLOOKUP("*"&E1& "*", $A$2:$B$10, 2, FALSE)

    注意事項

    • ワイルドカードのVLOOKUP式が正しく動作するためには、完全一致(FALSEが最後の引数)を使用してください。
    • 複数のマッチが見つかった場合、最初のマッチが返される .

    VLOOKUP TRUEとFALSEの比較

    さて、ここでExcelのVLOOKUP関数の最後の引数を詳しく見てみましょう。 オプションではありますが、この引数は レンジルック TRUE と FALSE のどちらを選択するかによって、計算式の結果が異なることがあります。

    Excel VLOOKUP完全一致(FALSE)

    もし レンジルック をFALSEに設定すると、Vlookup式はルックアップ値と完全に一致する値を検索します。 2つ以上一致した場合は、1つ目を返します。 完全に一致しなかった場合は、#N/Aエラーが発生します。

    エクセルVLOOKUP近似一致(TRUE)

    もし レンジルック より正確には、最初に完全一致を探し、完全一致が見つからなければ検索値より小さい次の最大値を探します。

    近似一致のVlookupは、次のような注意点があります。

    • ルックアップカラムは、以下のようにソートされている必要があります。 しょうじゅんれい を小さいものから順に並べると、正しい値が求まらない可能性があります。
    • ルックアップ値がルックアップ配列の最小値より小さい場合、#N/Aエラーが返されます。

    次の例は、完全一致と近似一致のVlookupの違いや、それぞれの数式をどのような場合に使用するのが最適なのかをより理解するのに役立ちます。

    例1.完全一致のVlookupを行う方法

    完全に一致するものを調べるには、最後の引数にFALSEを入れればよい。

    この例では、動物の速度の表から、列を入れ替えて、時速80マイル、50マイル、30マイルで走れる動物を探してみましょう。 D2、D3、D4にルックアップ値を入れて、E2に以下の数式を入力し、さらに2つのセルにコピーしてください。

    =vlookup(d2, $a$2:$b$12, 2, false)

    ご覧のように、E3では1時間にちょうど50本走るので「Lion」が返されます。 他の2つのルックアップ値では完全一致が見つからず、#N/Aエラーが表示されます。

    例2.近似一致のためのVlookupの方法

    近似一致を調べるには、必要なことが2つあります。

    • の最初の列をソートします。 table_array 小さいものから大きいものまで。
    • にはTRUEを使用します。 レンジルック 引数で指定するか、省略することができます。

    VLOOKUP関数は、ルックアップ値よりも小さい近傍一致を見つけるとすぐに検索を停止するので、ルックアップ列のソートは非常に重要です。 データが適切にソートされていないと、本当におかしな結果や#N/Aエラーが大量に発生することになります。

    今回のサンプルデータでは、おおよその一致するVlookupの式は次のようになります。

    =vlookup(d2, $a$2:$b$12, 2, true)

    そして、次のような結果を返します。

    • ルックアップ値 "80 "に対しては、"Cheetah "の速度(70)がルックアップ値より小さく、最も近い一致であるため、"Cheetah "が返されます。
    • ルックアップ値 "50 "の場合、完全一致(Lion)が返されます。
    • ルックアップ値が "30 "の場合、ルックアップ列の最小値より小さいため、#N/Aエラーが返されます。

    ExcelのVlookupのための特別なツール

    VLOOKUPは、間違いなく最も強力で便利なExcel関数の1つですが、最も分かりにくい関数の1つでもあります。 学習曲線が険しくなく、より楽しく経験できるように、私たちはUltimate Suite for Excelにいくつかの時間節約ツールを入れました。

    VLOOKUP Wizard - 複雑な数式を簡単に作成する方法

    対話型の VLOOKUP ウィザードは、設定オプションを通じて、指定した条件に最適な数式を構築します。 データ構造に応じて、標準の VLOOKUP 関数または左から値を取得できる INDEX MATCH 式が使用されます。

    カスタムメイドの処方を手に入れるには、こうする必要があります。

    1. VLOOKUP Wizardを実行します。
    1. メインテーブルとルックアップテーブルを選択します。
    2. 以下の列を指定する(多くの場合、自動的に選択される)。
      • キーコラム - には、調べる値を含むメインテーブルの列を指定します。
      • ルックアップ・カラム - を見上げるような柱。
      • リターン欄 - 値を取得するためのカラム。
    3. をクリックします。 インサート ボタンをクリックします。

    次の例は、ウィザードの動作を示しています。

    標準的なVlookup

    ルックアップカラム( 動物 ) がルックアップテーブルの左端の列である場合、完全一致のための通常のVLOOKUP式が挿入される。

    左のVlookup

    ルックアップカラム( 動物 )は、復帰欄の右側( スピード ) 、ウィザードは、右から左にVlookupするINDEX MATCH式を挿入します。

    おまけ セル参照を巧みに利用することで、参照を更新することなく、数式をコピーしたり、どの列にも移動させることができます。

    2つのテーブルを結合する - Excel VLOOKUPに代わる数式不要の方法

    Excelファイルが非常に大きく複雑で、プロジェクトの締め切りが迫っており、手を貸してくれる人を探している場合は、テーブルのマージウィザードを試してみてください。

    このツールは、ExcelのVLOOKUP関数に代わる、私たちの視覚的でストレスのないツールで、このように機能します。

    1. メインテーブルを選択します。
    2. ルックアップテーブルを選択します。
    3. 一意な識別子として、1つまたは複数の共通カラムを選択する。
    4. 更新する列を指定します。
    5. オプションで、追加する列を選択します。
    6. テーブルのマージウィザードの処理に数秒を要し、結果をお楽しみください。)

    以上、ExcelでのVLOOKUPの基本的な使い方でした。 次回は、VLOOKUPの高度な例として、複数の条件のVlookup、すべてのマッチやN番目の出現を返す方法、ダブルVlookup、単一の数式で複数のシートにわたる検索などをご紹介します。 それでは、次週もよろしくお願いします。

    ダウンロード可能なもの

    Excel VLOOKUP 計算式の例 (.xlsx ファイル)

    Ultimate Suite 14日間フル機能版(.exeファイル)

    Michael Brown は、ソフトウェア ツールを使用して複雑なプロセスを簡素化することに情熱を注ぐ熱心なテクノロジー愛好家です。テクノロジー業界で 10 年以上の経験があり、Microsoft Excel と Outlook、さらに Google Sheets と Docs のスキルを磨いてきました。 Michael のブログは、彼の知識と専門知識を他の人と共有することに特化しており、生産性と効率を向上させるためのわかりやすいヒントとチュートリアルを提供しています。経験豊富なプロフェッショナルであろうと初心者であろうと、Michael のブログでは、これらの重要なソフトウェア ツールを最大限に活用するための貴重な洞察と実践的なアドバイスを提供しています。