Excelで複数列のVLOOKUPを使用する方法(6例)

  • これを共有
Hugh West

本日は、以下のことについてお話します。 エムエスエクセル という人気の高い、よく使われる関数があります。 VLOOKUP関数 この関数は、任意のテーブルや範囲のデータを抽出、比較、シフト、検索するために使用されます。 これらの機能は、複数の列に対して使用することができます。 この記事では、次のように使用する方法を説明します。 複数列のVLOOKUP関数 を、Excelで様々な用途に使用することができます。

練習用ワークブックをダウンロードする

練習用ワークブックは、こちらからダウンロードできます。

複数列のVLOOKUPを使用する.xlsx

Excelで複数列のVLOOKUPを使用する6つの理想的な例

この記事では、以下のデータセットを使用しました。 このデータセットには 製品詳細 このデータセットを使って、「Selectronic Data Set」の作り方を説明します。 複数の列でVLOOKUPを使用する をExcelで表示します。

1.エクセルVLOOKUP関数で複数の列から値を取得する

を持っていると考えてみましょう。 商品詳細 をリストアップしています。 ID , 名称 そして 単価 という名前の別のテーブルがあります。 販売概要 このテーブルの中には ID , 名称 , 単価 , 数量 そして 売上高合計 の自動計算を生成することです。 売上高合計 を入力するだけで、表中の ID から商品名と価格を抽出します。 商品詳細 テーブルを生成し 売上高合計 を自動生成します。

では、その方法を見てみましょう。

ステップス

  • まず、製品が表示されるセルを選択します。 名称 ここで、私が選んだのは セルC15 .
  • 第二に セルC15 は次の式を書きなさい。
=VLOOKUP(B15,$B$6:$D$11,{2,3},0)

  • 3つ目は、プレス 入力 をクリックすると結果が表示されます。
  • の古いバージョンを使用している場合 マイクロソフトエクセル より エクセル2019 を押すと Ctrl + シフト + 入力 .

🔎 フォーミュラの仕組みは?

  • での ブイルック 関数の最初の引数には,テーブルの中で検索されるデータが渡されます。 ここでは B15 が含まれています。 ID これは、商品リストテーブルとマッチングされます。 ID .
  • B$6:$D$11 テーブルアレイ データを検索する範囲。
  • {2,3} これは、マッチした行の2番目と3番目の列の値を抽出することを意味します。
  • 0 は、完全一致で取得したいと定義しています。
  • その後、ドラッグして フィルハンドル をクリックすると、数式が他のセルにコピーされます。

  • 最後に、数式を他のセルにコピーして、目的の出力が得られたことがわかります。

を生成すること。 売上高合計 は、以下の式で計算しました。

=D15*E15

までコピーし、それを F20.

続きを読む Excel VLOOKUPで複数の値を縦に返す

2.異なるワークブックの複数の列に対してVLOOKUP関数を使用する

この例では、Excel ブイルック からデータを取得する関数です。 複数カラム データセットは同じですが、2つのテーブルが2つの異なるワークブックに存在します。 製品詳細 という名前のワークブックにあるテーブルです。 製品一覧表 .この例では、このテーブルから名前と価格を抽出してみます。

その手順を見てみましょう。

ステップス

  • はじめに、製品を表示するセルを選択します。 名称 .
  • そして、その選択したセルに次の数式を書き込みます。 ここでは、使用したExcelワークブックの名前を使っていますが、適宜変更する必要があります。
=VLOOKUP(B6,'[Product-List-Table.xlsx]Product Details'!$B$5:$D$10,{2,3},0)です。

  • 次に、 を押します。 入力 をクリックすると結果が表示されます。
  • の古いバージョンを使用している場合 マイクロソフトエクセル より エクセル2019 を押すと Ctrl + シフト + 入力 .

この式は、前のメソッドの式と同じです。 唯一の違いは、ソーステーブルが別のファイルにあるため、そのファイルの参照を '[商品一覧表.xlsx]商品詳細'!$B$5:$D$10 の部分です。

  • その後、ドラッグして フィルハンドル を押して、数式をコピーします。

  • 次の図では、数式を他のセルにコピーして、目的の出力を得ていることがわかります。

続きを読む Excelで複数の列を返すVLOOKUP(4例)

類似の読み物

  • VLOOKUPが動作しない(8つの理由と解決策)。
  • Excel VLOOKUPで列の最後の値を検索する(代替案あり)
  • ExcelでVLOOKUPしてすべてのマッチを返す(7つの方法)
  • VBA VLOOKUPを使用してExcelで別のワークシートの値を検索する

3.VLOOKUPを使用して複数の列から値を検索し、合計を取得する

この例では、次のようなデータセットを用意しました。 例えば、次のようなデータセットがあったとします。 名称 における一部の生徒とその成績は 物理学 化学 名前だけのテーブルがあり、名前の横に合計点を表示したい場合。 ブイルック から値を見つける関数です。 複数カラム を取得し 合計点数 をExcelで作成します。

その方法をお教えしましょう。

ステップス

  • まず、"Select "コマンドを実行するセルを選択します。 合計点数 ここで、私が選んだのは セルG5 .
  • 第二に セルG5 は次の式を書きなさい。
=sum(vlookup(f5,$b$5:$d$12,{2,3},false))です。

  • 3つ目は、プレス 入力 を取得することができます。 合計 マークス .
  • の古いバージョンを使用している場合 マイクロソフトエクセル より エクセル2019 を押すと Ctrl + シフト + 入力 .

🔎 フォーミュラの仕組みは?

  • vlookup(f5,$b$5:$d$12,{2,3},false)。 ここでは、その中で ブイルック 関数を選択しました。 F5 かわりに ルックアップバリュー , B$5:$D$12 かわりに table_array , {2,3} かわりに col_index_num そして ファルス かわりに レンジルック のマッチを返します。 ルックアップバリュー 列より 2 3 table_array .
  • sum(vlookup(f5,$b$5:$d$12,{2,3},false)): 今すぐ SUM関数 を返します。 小括 から取得した2つの値のうち ブイルック 関数を使用します。
  • その後、ドラッグして フィルハンドル をクリックすると、数式が他のセルにコピーされます。

  • 次に、他のすべてのセルに数式をコピーして、目的の出力が得られたことがわかります。

4.VLOOKUP関数とIFERROR関数を使ってExcelで複数の列を比較する

のデータセットがあるとします。 タスク と、そのタスクにアサインされた社員の名前 を含むカラムがあります。 旧社員 その業務に従事した者の氏名は 新入社員 その業務に従事された方々のお名前と 現在想定している従業員数 の2つの列の名前を比較することです。 旧社員 新入社員 を比較し、一致するものを特定する必要があります。 現在想定している従業員数 Names カラムに一致する名前があれば、その名前を返します。 3 の欄があります。

その方法をみてみましょう。

ステップス

  • まず、名前を付けたいセルを選択します。 社員数 .
  • そして、その選択されたセルに次の数式を書き込む。
=ferror(vlookup(iferror(vlookup(c6:c11,d6:d11,1,false),""),e6:e11,1,false),"")

  • 最後に 入力 の古いバージョンを使用している場合は、その結果を得ることができます。 マイクロソフトエクセル より エクセル2019 を押すと Ctrl + シフト + 入力 .

🔎 フォーミュラの仕組みは?

  • VLOOKUP(C6:C11,D6:D11,1,FALSE)。 を比較する部分です。 旧社員 の列と 新入社員 の欄があります。
  • iferror(vlookup(c6:c11,d6:d11,1,false),""): 今すぐ IFERROR関数 に置き換わります。 #該当なし をもって 空の文字列 .
  • vlookup(iferror(vlookup(c6:c11,d6:d11,1,false),""),e6:e11,1,false): ここでは ブイルック 関数が比較します。 現在想定している従業員数 カラムと、最初の ブイルック 関数を使用します。
  • iferror(vlookup(c6:c11,d6:d11,1,false),""),e6:e11,1,false),""): 最後に イフエラー 関数に置き換わります。 #該当なし をもって 空の文字列 .

続きを読む VLOOKUPでマッチがあるのになぜN/Aを返すのか?

5.CHOOSE関数とVLOOKUP関数を組み合わせて、複数の条件を設定する。

からデータを抽出する方法を紹介します。 複数カラム 使って たげんてき という売上情報のデータセットがあるとする。 セールスパーソン , そして 売上高 今、あなたの仕事は、各列が各月を表す列ですべての売上を表示する新しいテーブルを作成することです。

その手順を見てみましょう。

ステップス

  • まずはじめに、「SELECT」を表示させたいセルを選択します。 売上高 を1ヶ月間選択しました。 セルG6 .
  • 次に セルG6 は次の式を書きなさい。
=VLOOKUP($F6&G$5,CHOOSE({1,2},$B$5:$B$12&$C$5:$C$12,$D$5:$D$12)),2,0)

  • その後、 を押してください。 入力 をクリックすると結果が表示されます。
  • の古いバージョンを使用している場合 マイクロソフトエクセル より エクセル2019 を押すと Ctrl + シフト + 入力 .

🔎 フォーミュラの仕組みは?

  • CHOOSE({1,2},$B$5:$B$12&$C$5:$C$12,$D$5:$D$12): ここでは CHOOSE機能 を選択しました。 {1,2} かわりに インデックスナンバー , B$5:$B$12&$C$5:$C$12 かわりに 値1 そして D$5:$D$12 かわりに 値2 を使って値を返す式です。 インデックス・ナンバー .
  • VLOOKUP($F6&G$5,CHOOSE({1,2},$B$5:$B$12&$C$5:$C$12,$D$5:$D$12),2,0) を参照してください。 では、その ブイルック 関数は,一致するものを見つけ,それに応じて値を返します。
  • 次に フィルハンドル を押して、数式をコピーします。

  • をドラッグします。 フィルハンドル右 .

  • 最後に、他のすべてのセルに数式をコピーして、希望する出力が得られたことがわかります。

続きを読む ExcelでVLOOKUPを複数条件で使用する(6つの方法+代替案)

6.VLOOKUP関数とMATCH関数を適用して、複数の列から動的に値を検索する

この例では、複数のカラムから動的に値を見つける方法を紹介します。 ブイルック この例では、次のようなデータセットを使用します。 学生証 , 名称 そして マークス 別のテーブルで 学生証 . さて、今回は ブイルック という関数があり、これに対して値を求めます。 学生証 を動的に表示します。

その方法をみてみましょう。

ステップス

  • まず、"S "を入力するセルを選択します。 マークス .
  • 次に、その選択したセルに次の数式を書き込みます。
=vlookup(f5,$b$4:$d$12,マッチ($g$4,$b$4:$d$4,0),false)

  • 3つ目は、プレス 入力 をクリックすると結果が表示されます。

🔎 フォーミュラの仕組みは?

  • match($g$4,$b$4:$d$4,0)。 ここでは MATCH機能 を選択しました。 $G$4 ついては ookup_value , B$4:$D$4 かわりに ルックアップ_アレイ そして 0 かわりに マッチタイプ の相対位置が返されます。 ルックアップバリュー において ルックアップ_アレイ .
  • vlookup(f5,$b$4:$d$12,match($g$4,$b$4:$d$4,0),false): では、その ブイルック 関数はそのマッチを返す。
  • その後、ドラッグして フィルハンドル を押して、数式をコピーします。

  • 最後に、数式を他のセルにコピーして、目的の出力が得られたことがわかります。

Excelの複数列のVLOOKUP関数の代替機能

この項では、同じ操作でも、機能を変えて(無 ブイルック を使用します。 INDEX機能 とのことです。 マッチ 関数を使います。 さて、最初の例で使ったのと同じデータセットを考えてみましょう。 単価 を使用した製品の 名称 ID .

その手順を見てみましょう。

ステップス

  • を表示させたいセルを選択します。 単価 .
  • 次に、その選択したセルに次の数式を書きます。
=index(d:d,match(1,(c:c=c15)*(b:b=b15),0))

  • 3つ目は、プレス 入力 をクリックすると結果が表示されます。
  • の古いバージョンを使用している場合 マイクロソフトエクセル より エクセル2019 を押すと Ctrl + シフト + 入力 .

🔎 フォーミュラの仕組みは?

  • MATCH(1,(C:C=C15)*(B:B=B15),0): この部分の数式は、入力された ID 名称 をデータセットとし "1" ここでいう を満たす行番号を返すように。 .
  • index(d:d,match(1,(c:c=c15)*(b:b=b15),0)): では、その INDEX の範囲内の値を返す関数です。 D:D .
  • をドラッグします。 フィルハンドル をクリックすると、数式が他のセルにコピーされます。

  • 最後に、他のすべてのセルに数式をコピーして、希望する出力が得られたことがわかります。

続きを読む INDEX MATCHとVLOOKUP関数の比較 (9例)

これらの関数を使用する際によくあるエラー

よくあるエラー

表示するとき

#N/A エラー このエラーは、数式が配列数式である場合に、先ほど 入力 解決するには、 を押します。 CTRL + SHIFT + エンタメ .
#該当なし において ブイルック 実際には、このエラーが表示される理由は、以下のように多岐にわたります。
  • ルックアップ値がテーブル内に存在しない。
  • ルックアップ値のスペルが間違っているか、余分なスペースが含まれています。
  • テーブルの範囲が正しく入力されていない。
  • コピーしている ブイルック で、テーブルの参照はロックされていない。
#バリュー において 選択 もし インデックスナンバー は範囲外です。 選択 が返ってきます。 #バリュー のエラーが発生しました。
範囲または配列定数 選択 関数は、範囲や配列の定数から値を取得することはありません。
#バリュー において INDEX すべての範囲を1枚のシートにまとめてください。 INDEX を返します。 #バリュー のエラーが発生しました。

覚えておきたいこと

  • の古いバージョンを使用している場合 マイクロソフトエクセル より エクセル2019 を押すと Ctrl + シフト + 入力 にとって 配列式 .

プラクティス部門

ここでは、各例に練習用のセクションを設けて、使い方を練習できるようにしました。 複数列のVLOOKUP関数 をExcelで表示します。

結論

ということで、これらの使い方は 複数列のVLOOKUP関数 ここでは、すべての方法とその例を示しましたが、他にもいろいろな方法が考えられます。 また、使用する関数の基本についても説明しました。 さらに、記事の冒頭には練習用のワークブックも付けています。 ダウンロードして練習してください。 もし、これ以外の方法をお持ちでしたら、ぜひ私たちと一緒に共有してください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。