ExcelでVLOOKUPを使用する方法

VLOOKUPは、Excelの最も便利な関数の1つであり、最も理解されていない関数の1つでもあります。この記事では、実際の例としてVLOOKUPをわかりやすく説明します。架空の会社で使用できる請求書テンプレートを作成します。

VLOOKUPはExcel関数です。この記事では、読者がすでにExcel関数について十分に理解しており、SUM、AVERAGE、TODAYなどの基本的な関数を使用できることを前提としています。最も一般的な使用法では、VLOOKUPはデータベース関数です。つまり、データベーステーブル、またはより簡単に言えば、Excelワークシート内のリストを操作します。どんなこと?まあ、どんなことでも。従業員、製品、顧客、CDコレクションのCD、または夜空の星のリストを含むワークシートがある場合があります。それは本当に重要ではありません。

これがリストまたはデータベースの例です。この場合、それは私たちの架空の会社が販売している製品のリストです。

通常、このようなリストには、リスト内の各アイテムに何らかの一意の識別子があります。この場合、一意の識別子は「アイテムコード」列にあります。注:VLOOKUP関数がデータベース/リストで機能するには、そのリストに一意の識別子(または「キー」または「ID」)を含む列が必要でありその列はテーブルの最初の列である必要があります。上記のサンプルデータベースは、この基準を満たしています。

VLOOKUPを使用する上で最も難しいのは、それが何のためにあるのかを正確に理解することです。それでは、最初にそれを明確にできるかどうかを見てみましょう。

VLOOKUPは、提供された一意の識別子のインスタンスに基づいて、データベース/リストから情報を取得します。

上記の例では、VLOOKUP関数をアイテムコードを使用して別のスプレッドシートに挿入すると、元のアイテムに記載されているように、対応するアイテムの説明、価格、または在庫状況(「在庫あり」の数量)のいずれかが返されます。リスト。これらの情報のどれがあなたに返されますか?さて、数式を作成するときにこれを決定することができます。

データベースからの1つの情報だけが必要な場合、VLOOKUP関数を含む式を作成するのは非常に面倒です。通常、この種の機能は、テンプレートなどの再利用可能なスプレッドシートで使用します。誰かが有効なアイテムコードを入力するたびに、システムは対応するアイテムに関するすべての必要な情報を取得します。

この例を作成しましょう。架空の会社で何度も再利用できる請求書テンプレートです。

最初にExcelを起動し、空白の請求書を作成します。

これがどのように機能するかです。請求書テンプレートを使用する人は、列「A」に一連のアイテムコードを入力し、システムは各アイテムの説明と価格を製品データベースから取得します。その情報は、各アイテムの行の合計を計算するために使用されます(有効な数量を入力したと仮定します)。

この例を単純にするために、同じワークブックの別のシートに製品データベースを配置します。

実際には、製品データベースは別のワークブックに配置される可能性が高くなります。データベースが同じシート、別のシート、または完全に異なるブックにあるかどうかを実際には気にしないVLOOKUP関数とはほとんど違いがありません。

そこで、次のような製品データベースを作成しました。

これから作成するVLOOKUP数式をテストするために、最初に有効なアイテムコードを空白の請求書のセルA11に入力します。

次に、アクティブセルを、VLOOKUPによってデータベースから取得された情報を格納するセルに移動します。興味深いことに、これはほとんどの人が間違えるステップです。さらに説明すると、セルA11のアイテムコードに対応する説明を取得するVLOOKUP数式を作成しようとしています。この説明を入手したら、どこに配置しますか?もちろん、セルB11では。そこで、セルB11にVLOOKUP数式を記述します。ここでセルB11を選択します。

Excelが提供する必要のあるすべての使用可能な関数のリストを見つけて、VLOOKUPを選択し、数式を完成させるための支援を得る必要があります。これは、最初に[数式]タブをクリックし、次に[関数の挿入]をクリックすると表示されます。

Excelで使用可能な機能のいずれかを選択できるボックスが表示されます。

探しているものを見つけるために、「lookup」のような検索語を入力できます(関心のある関数はルックアップ関数であるため)。システムは、Excelのすべてのルックアップ関連関数のリストを返します。  VLOOKUPはリストの2番目のものです。それを選択して[ OK ]をクリックします。

[関数の引数]ボックスが表示され、VLOOKUP関数を完了するために必要なすべての引数(またはパラメーター)の入力を求められます。このボックスは、次の質問をする関数と考えることができます。

  1. データベースで検索している一意の識別子は何ですか?
  2. データベースはどこにありますか?
  3. 一意の識別子に関連付けられたデータベースのどの情報を取得しますか?

最初の3つの引数は太字で示さ必須の引数であることを示しています(VLOOKUP関数はこれらがないと不完全であり、有効な値を返しません)。4番目の引数は太字ではありません。つまり、オプションです。

上から下に順番に引数を完成させます。

完了する必要のある最初の引数は、Lookup_value引数です。この関数では、説明を返す必要がある一意の識別子(この場合はアイテムコード)の場所を指定する必要があります。以前に(A11で)入力したアイテムコードを選択する必要があります。

最初の引数の右側にあるセレクターアイコンをクリックします。

次に、アイテムコード(A11)を含むセルを1回クリックし、Enterキーを押します。

「A11」の値が最初の引数に挿入されます。

次に、Table_array引数の値を入力する必要があります。つまり、データベース/リストの場所をVLOOKUPに指示する必要があります。2番目の引数の横にあるセレクターアイコンをクリックします。

次に、データベース/リストを見つけて、ヘッダー行を含まないリスト全体を選択します。この例では、データベースは別のワークシートにあるため、最初にそのワークシートタブをクリックします。

次に、ヘッダー行を含まないデータベース全体を選択します。

…そしてEnterキーを押します。データベースを表すセルの範囲(この場合は「 'ProductDatabase'!A2:D7」)は、2番目の引数に自動的に入力されます。

次に、3番目の引数Col_index_numを入力する必要があります。この引数を使用して、データベースのどの情報をA11のアイテムコードに関連付け、VLOOKUPに返したいかを指定します。この特定の例では、アイテムの説明を返送してもらいたいと考えています。データベースワークシートを見ると、「説明」列がデータベースの2番目の列であることがわかります。これは、Col_index_numボックスに「2」の値を入力する必要があることを意味します。

「説明」列はそのワークシートのB列にあるため、ここでは「2」を入力していないことに注意してください。データベースがワークシートの列Kで開始された場合でも、「説明」列は「Table_array」を指定するときに選択したセルセットの2番目の列であるため、このフィールドに「2」を入力します。

最後に、最後のVLOOKUP引数であるRange_lookupに値を入力するかどうかを決定する必要があります。この引数には、または偽の値が必要です。そうでない場合は、空白のままにする必要があります。データベースでVLOOKUPを使用する場合(90%の場合に当てはまります)、この引数に何を入れるかを決定する方法は次のように考えることができます。

データベースの最初の列(一意の識別子を含む列)がアルファベット順または番号順に昇順でソートされている場合、この引数にtrueの値を入力するか、空白のままにすることができます。

データベースの最初の列がソートされていない場合、または降順でソートされている場合は、この引数にfalseの値を入力する必要があります

データベースの最初の列はソートされていないため、この引数にfalseを入力します。

それでおしまい!VLOOKUPが必要な値を返すために必要なすべての情報を入力しました。[ OK ]ボタンをクリックして、アイテムコード「R99245」に対応する説明がセルB11に正しく入力されていることを確認します。

私たちのために作成された式は次のようになります。

セルA11に別のアイテムコードを入力する、VLOOKUP関数の機能がわかり始めます。説明セルが新しいアイテムコードに一致するように変更されます。

同様の一連の手順を実行して、アイテムの価格をセルE11に戻すことができます。新しい数式はセルE11で作成する必要があることに注意してください。結果は次のようになります。

…そして式は次のようになります:

2つの式の唯一の違いは、3番目の引数(Col_index_num)が「2」から「3」に変更されたことです(データベースの3番目の列からデータを取得する必要があるため)。

これらのアイテムを2つ購入することにした場合、セルD11に「2」を入力します。次に、セルF11に簡単な数式を入力して、行の合計を取得します。

= D11 * E1

…こんな感じ…

請求書テンプレートの完成

これまで、VLOOKUPについて多くのことを学びました。実際、この記事で学ぶことはすべて学びました。VLOOKUPは、データベース以外の状況でも使用できることに注意してください。これはあまり一般的ではなく、今後のハウツーオタクの記事で取り上げられる可能性があります。

請求書テンプレートはまだ完成していません。それを完了するために、私たちは以下を行います:

  1. セルA11からサンプルアイテムコードを削除し、セルD11から「2」を削除します。これにより、新しく作成されたVLOOKUP数式にエラーメッセージが表示されます。



    これは、ExcelのIF ()関数とISBLANK()関数を適切に使用することで解決できます。式をこれから…      = VLOOKUP(A11、 '製品データベース'!A2:D7,2、FALSE) …からこれに変更します… = IF(ISBLANK(A11)、””、VLOOKUP(A11、 '製品データベース'!A2 :D7,2、FALSE))


  2. セルB11、E11、およびF11の数式を、請求書の残りの項目行にコピーします。これを行うと、結果の数式がデータベーステーブルを正しく参照しなくなることに注意してください。データベースのセル参照を絶対セル参照に変更することで、これを修正できます。代わりに-とさらに良い-私たちが作成することができる範囲名を(たとえば、「製品」など)全体の製品データベースのため、およびセル参照の代わりにこの範囲名を使用します。式はこれから…      = IF(ISBLANK(A11)、””、VLOOKUP(A11、 'Product Database'!A2:D7,2、FALSE)) …からこれに…       = IF(ISBLANK(A11)、”” 、VLOOKUP(A11、製品、2、FALSE)) ...と、その後 数式を請求書アイテムの残りの行にコピーします。
  3. 私たちは、おそらく「ロック」のセル私たちの式を(というか含まれているであろうとロックを解除するの細胞)を、次に誰かが請求書を埋めるために来るとき、私たちを慎重に構築式が誤って上書きされないことを確実にするために、ワークシートを保護します。
  4. ファイルをテンプレートとして保存し、社内の全員が再利用できるようにします。

本当に賢いと感じたら、別のワークシートにすべての顧客のデータベースを作成し、セルF5に入力した顧客IDを使用して、セルB6、B7、B8に顧客の名前と住所を自動的に入力します。

VLOOKUPを使用して練習したい場合、または結果の請求書テンプレートを確認したい場合は、ここからダウンロードできます。