ExcelでVLOOKUP式を複数のシートで使用する方法

  • これを共有
Hugh West

本日は、その使い方を紹介します。 VLOOKUP式 実は、Excelの機能の中で、最も重要で広く使われている機能の一つが VLOOKUP関数 さらに VBAのVLOOKUP関数 を使えば、1つのワークシート内、またはワークシートの範囲内で特定のデータを検索することができます。

また、今日はその活用方法を紹介します。 VLOOKUPの計算式 にある特定のデータを探すために マルチワークシート をExcelで表示します。

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

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

複数シートでのVLOOKUP式.xlsx 模擬試験成績表.xlsx

ExcelのVLOOKUP関数入門

=VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])です。

  • この関数は table_array を引数として与えます。
  • という特定の値を検索します。 ルックアップバリュー において 第一 の列があります。 table_array .
  • さらに、近似的に一致するものを探します。 [range_lookup】。] というのは それ以外の場合は完全一致を検索します。 ここでは、デフォルトは .
  • にマッチするものがあれば ルックアップバリュー において 第一 の列があります。 table_array は、特定の列に数ステップ右に移動します。 (col_index_number)とする。

そして、そのセルから値を返す。

さらに、この例を添付します。 ブイルック 関数があります。 さて、次の図を見てください。

フォーミュラ・ブレークダウン

ここで、式 VLOOKUP(G8,B4:D15,3,FALSE) の値を探した。 G8 セル " アンジェラ " の中にあります。 第一 の列があります。 B4:D15 .

1つ見つけると、すぐに移動しました。 3位 の欄があります(As col_index_number でございます 3 .)

そして、そこから値を返すと、でした。 322 .

ExcelでVLOOKUP式を複数のシートで使用する5つの方法

ここでは、3週間で何人かの受験者の筆記試験とビバ試験の点数を、異なるワークシートに分けて掲載しています。 なお、1人目の名前は 第1週 .

そして、その名前を 第2回 ワークシートは 第2週 .

最後に 3位 マークシート マルコ・グループ でございます 第3週 .

さて、今回の目的は、そのマークを抽出することです。 さん を使用して新しいワークシートに変換します。 ブイルック というExcelの関数があります。

1.各ワークシートを個別に検索するVLOOKUP式

ここでは、新しいワークシートである "VLOOKUPのみ" 候補者全員の名前をアルファベット順に並べたもので (AからZまで) .今度は ブイルック 数式を使用して、Excel の複数のシートから検索することができます。

まずは 3 のワークシートは別途ご用意ください。

ここでは、検索を行います。 ルックアップバリュー あるワークシートのセルを別のワークシートのセル範囲にコピーする。

計算式の構文は次のようになります。

=VLOOKUP(lookup_value,'Sheet_name'!table_array, col_index_number,FALSE)

  • を検索するには マークス において 第1週目の候補者 に、この数式を入力します。 C5 のセルは、新しいワークシートの
=VLOOKUP(B5,「第1週」!$B$5:$D$10,2,FALSE)

  • 続いて、 を押します。 エンタメ .

を表示しています。 #N/A! セルの値なのでエラー B5 において "VLOOKUPのみ" シートを使用します。 アレックス・ヘイルズ の範囲ではありません。 B5:D10 シート上 「第1週 " .

  • をドラッグします。 フィルハンドル アイコンを表示します。

その結果、受験者のみの点数が表示されます。 第1週 が表示され、残りはエラーが表示されます。

  • 同様に、ビバークマークを求めるには、次の計算式を D5 のセルがあります。
=VLOOKUP(B5,「第1週」!$B$5:$D$10,3,FALSE)

  • 次に、 を押します。 エンタメ .

  • をドラッグします。 フィルハンドル アイコンをクリックすると、残りのセルに数式が適用されます。

ということで、出題された受験者だけの点数を見ることができます。 第1週 が表示され、残りはエラーが表示されます。

さらに、同様の作業を 第2週 第3週 そのため、より良い方法を模索する必要があります。

お知らせ ここでは、相対セル参照で ルックアップバリュー (B5) の絶対セル参照です。 table_array ($B$5:$D$10) が欲しいからです。 ルックアップバリュー をドラッグしている間、1つずつ増えていきます。 フィルハンドル アイコンが表示されますが table_array は一定である。

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

2.ExcelのIFERROR関数で複数シートで検索する

今回はまず、1つ目のワークシートで候補を検索します( 第1週 ).

そして、1枚目のワークシートで見つからなければ、2枚目のワークシートで探すことになります( 第2週 ).

そして、それでも見つからない場合は、3枚目のワークシートで探します( 第3週 ).

もし、まだ見つからなければ、その人はいたと判断します。 欠席 試験から

前節で、我々は見た。 ブイルック 収益 N/A! に一致するものがない場合はエラーとなる。 ルックアップバリュー において table_array .

そこで今回は、ネスト ブイルック 関数内 その IFERROR関数 を使用して、エラーを処理します。

したがって、式の構文は次のようになる。

=IFERROR(VLOOKUP(lookup_value, "Sheet1_Name"!table_array,col_index_number,FALSE),IFERROR(VLOOKUP(lookup_value, "Sheet2_Name"!table_array,col_index_number,FALSE),IFERROR(VLOOKUP(lookup_value, "Sheet3_Name"!table_array,col_index_number,FALSE))), "Absent")

  • では、次の数式を C5 のセルがあります。 "VLOOKUP & IFERROR "です。 シートを使用します。
=IFERROR(VLOOKUP(B5,'Week 1'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5,'Week 2'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5,'Week 3'!$B$5:$D$10,2,FALSE), "Absent")))

  • 次に、 を押します。 エンタメ .

その結果、書き込まれたマークが表示されます。 アレックス・ヘイルズ .

そして、アレックス・ヘイルズのビバークマークを見つけます。

  • そこで、次の式を書き下すと D5 のセルがあります。
=IFERROR(VLOOKUP(B5,'Week 1'!$B$5:$D$10,3,FALSE),IFERROR(VLOOKUP(B5,'Week 2'!$B$5:$D$10,3,FALSE),IFERROR(VLOOKUP(B5,'Week 3'!$B$5:$D$10,3,FALSE), "Absent")))

  • その後 エンタメ .

  • 次に、両方のセルを選択します C5 D5 .
  • その結果、ドラッグ フィルハンドル へのアイコン オートフィル 残りのセルの対応するデータ C6:D24 .

最後に、すべての受験者の筆記試験とVivaの両方の点数が表示されます。

続きを読む Excelの2つのシート間のVLOOKUPの例

類似の読み物

  • VLOOKUPが動作しない(8つの理由と解決策)。
  • ExcelのLOOKUPとVLOOKUP:3つの例付き
  • VLOOKUPのテーブル配列とは(例題付きで解説)
  • エクセルでネストしたVLOOKUPを使う方法(3つの基準)
  • ExcelでVLOOKUPを複数条件で使用する(6つの方法+代替案)

3.結合式を使ってExcelの複数シートで検索する

実は、ネストされた イフエラー ブイエルオークアップ 基本的に、ワークシートがたくさんあると、混乱したり、エラーが発生したりする可能性が高くなります。

したがって、別の数式を INDIRECT , INDEX , MATCH そして COUNTIF という関数があり、見た目はさらに複雑ですが、ワークシートがたくさんある場合には比較的簡単に適用できます。

  • まず、すべてのワークシートの名前を格納した水平配列を作成します。 ここでは F5:H5 セルを使用します。

  • そして、以下の数式を C5 のセルがあります。
=IFERROR(VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,1,MATCH(TRUE,COUNTIF(INDIRECT("" &$F$5:$H$5&"'!B5:B10"),B5)>0,0))&'!$B$5:$D$10"),2,FALSE), "Absent").

  • 続いて、 を押します。 エンタメ .

フォーミュラ・ブレークダウン

  • まず最初に。 COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!B5:B10"),B5) の値が何倍になっているかを返します。 B5 は範囲内に存在する '1週目′!B5:B10 , 2週目」!B5:B10 3週目」!B5:B10 それぞれ、[ここ F$5:$H$5 はワークシートの名前です。 ですから INDIRECT 式受信 'シート名'!B5:B10 .]
    • 出力:{0,0,1}。 .
  • 2つ目は MATCH(TRUE,{0,0,1}>0,0) の値がどのワークシートに格納されているかを返します。 B5 が存在する。
    • 出力します。 3 .
  • ここで、それが返ってきた 3 の値として使用します。 B5 ( アレックス・ヘイルズ ) は、ワークシート No. 3 ( 第3週 ).
  • 3つ目。 index($f$5:$h$5,1,3)です。 の値が格納されているワークシートの名前を返す。 B5 です。
    • 出力:"3週目" .
  • 第四に INDIRECT("'"& "Week 3″&"'!$B$4:$D$9") の値が含まれるワークシートのセル範囲の合計を返します。 B5 が存在する。
    • 出力:{"Nathan Mills",72,59; "Ruth Williamson",53,55; "Alex Hales",67,70; "Matthew Shepherd",76,45; "Christina Paul",69,75; "Ricardo Moyes",57,61} です。
  • 最後に VLOOKUP(B5,{"Nathan Mills",72,59; "Ruth Williamson",53,55; "Alex Hales",67,70; "Matthew Shepherd",76,45; "Christina Paul",69,75; "Ricardo Moyes",57,61}, 2,FALSE)]を参照してください。 を返します。 2列目 その範囲内の行のうち、セルの値が B5 のマッチングを行います。
    • 出力:67 .
  • つまり、これが求めていた筆記試験の点数です。
  • そして、どのワークシートにも名前がない場合は、次のように返します。 "欠席" の中にネストしているからです。 イフエラー 関数を使用します。

ここでは、同様の計算式で ビバ は受験生の点数です。

  • で、変更します。 col_index_number から 2 まで 3 を書き、その式を書きましょう。
=IFERROR(VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,1,MATCH(TRUE,COUNTIF(INDIRECT("" &$F$5:$H$5&"'!B5:B10"),B5)>0,0))&'!$B$5:$D$10"),3,FALSE), "Absent").

  • 次に、 を押します。 エンタメ をクリックすると結果が表示されます。

  • をドラッグしてください。 フィルハンドル アイコンを表示します。

最後に、すべての受験者の筆記試験とビバの点数を入手しました。 また、名前が見つからない受験者は欠席扱いにしてあります。

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

4.動的な列インデックス番号を持つVLOOKUP式

これまでは、筆記試験の点数を抽出するために col_index_num かわりに 2 .ビバのマークにも。 3 .

実際には、両列に別々に数式を挿入しています。

いずれ、複数の列がある場合、すべての列に個別に数式を挿入するのはかなり面倒なことになる。

そこで、今回は数式を生成して、その数式を挿入できるようにします。 第一 の列から、すべての列にドラッグしてください。 フィルハンドル アイコンを表示します。

シンプルに、純粋な数値を挿入するのではなく col_index_num インサート columns($c$1:d1) にある場合、その式は C列 ( 筆記試験の場合 ).

そして、次のように返します。 2 .

そして、それをドラッグすると E列 となる。 columns($c$1:e1) と返す 3 などなど。

  • そこで今度は、前節の計算式をこう変えてみる。
=IFERROR(VLOOKUP($B5,INDIRECT("'"&INDEX($F$5:$H$5,1,MATCH(TRUE,COUNTIF(INDIRECT("" &$F$5:$H$5&"'!B5:B10"),$B5)>0,0))&'!$B$5:$D$10"),COLUMNS($C$1:D1),FALSE), "Absent").

  • 次に、 を押します。 エンタメ .

  • その後、ドラッグして フィルハンドル を取得するために、右側にある ビバ マークが表示されます。

  • をドラッグします。 フィルハンドル アイコンを下に表示します。

最後に、すべての受験者の筆記試験とVivaの両方の点数が表示されます。

お知らせ ここでは ルックアップバリュー から B5から$B5 右へドラッグすると変化せず、下へドラッグすると変化するように。

続きを読む エクセルダイナミックVLOOKUP(3つの数式付き)

5.Excelの関数を組み合わせたVLOOKUP式

ここでは、別の ブイルック を無視して、複数のシートを持つExcelで計算することができます。 イフエラー それでは、以下の手順をご覧ください。

ステップス

  • まず最初に、新しいセルを選択する必要があります C5 書き込んだマークを保存したい場所
  • 次に、以下に示す計算式で C5 のセルがあります。
=VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,MATCH(1,--(COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!$B$5:$D$10"),B5)>0),0))&"'!$B$5:$D$10"),2,FALSE)

  • 3つ目は、プレス エンタメ .

  • 同様に、以下の計算式で D5 セルでVivaマークを取得する。
=VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,MATCH(1,--(COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!$B$5:$D$10"),B5)>0),0))&"'!$B$5:$D$10"),3,FALSE)

  • 続いて、 を押します。 エンタメ .

  • をドラッグしてください。 フィルハンドル アイコンを表示します。

最後に、すべての受験者の筆記試験とビバの点数が表示されます。 さらに、受験者の成績も表示されます。 #該当なし 記載されたシートの名前が抜けているエラーが発生しました。

VLOOKUP関数の制限とExcelでの代替機能

  • ここでは ブイルック という関数があります。 ルックアップバリュー が入っていない。 第一 のカラムを使用することができます。 たとえば、前の例では ブイルック を取得した受験者の名前を知るための機能です。 90 筆記試験で
  • ただし イフ , アイエフエス , INDEX MATCH , XLOOKUP または フィルター の関数で解決できます。 本品 ).
  • さらに ブイルック のみが返されます。 第一 にマッチする値が複数ある場合は ルックアップバリュー このような場合は フィルター 関数ですべての値を取得します。 本品 ).

複数のワークブックを持つExcelでVLOOKUP式を適用する方法

を適用する方法について説明します。 ブイルック の式を、複数のワークブックを持つExcelで使うことができます。 さて、次のようなワークブックがあるとします。 模擬試験マーク さらに、そのワークブックには さん ワークシートもあります。 第1週、第2週 そして 第3週 .

このとき、受験者の筆記試験の点数を比較したいと思います。 まず、筆記試験の点数を求めます。 これは、これまでの方法で求めることができます。 次に、別のワークブックから筆記試験の点数を抽出します。

  • そこで、次の式を書き下すと D5 のセルがあります。
=IFERROR(VLOOKUP(B5,'[Mock Test Marks.xlsx]Week 1'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5, '[Mock Test Marks.xlsx]Week 2'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5, '[Mock Test Marks.xlsx]Week 3'!$B$5:$D$10,2,FALSE), "Absent") ) ))

ここで、この数式を使う場合、両方のワークブックを開く必要があります。 そうでない場合は フィルパス/ロケーション を、ファイル名だけでなく

  • 次に、 を押します。 エンタメ .

  • をドラッグします。 フィルハンドル アイコンを下に表示します。

最後に、すべての受験者の筆記試験の最終点と予備点の両方が表示されます。

プラクティス部門

さて、説明した方法を自分で実践してみましょう。

結論

これらの方法を用いて ブイルック 関数で、ワークブック内の複数のシートからデータを抽出するための数式として使用できます。 それでは、他にご質問はございませんか? お気軽にお問い合わせください。

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