【Excelテクニック】複数のシート間の値をVLOOKUPで集計する

複数のシート間の値をVLOOKUPで集計することはないでしょうか。

そんなときに悩むことは、

・複数のシート間の値をVLOOKUPで集計する方法がわからない
・VLOOKUPの設定を行ったがうまく結果が出てこない

ではないでしょうか。

今回はそんなお悩みを解決する、
複数のワークシート(ワークブックも可)の値をキー値をもとに1つのワークシートへ値を集計する方法
についてまとめます。


複数のシート間の値をVLOOKUPで集計するサンプルデータ

今回サンプルは、あるブックの「Sheet1」のA列に記載されている商品IDをキーにして、
同ブック内の「Sheet2」「Sheet3」に記載されている「Sheet1」の商品IDと
一致する商品名の値を「Sheet1」のB列に表示させるようにしていきます。

「Sheet1」シート


「Sheet2」シート


「Sheet3」シート



VLOOKUP関数を挿入する

まず「Sheet1」のB2にこの値を入力します。

=IFERROR(VLOOKUP($A2,Sheet2!$A$2:$B$5,2,FALSE),VLOOKUP($A2,Sheet3!$A$2:$B$5,2,FALSE))

該当しない場合に”#VALUE!”と表示されないようにIFERROR関数を併用します。
処理内容は以下の通りとなります。

書式:FERROR(値, エラーの場合の値)
説明:エラーの場合に指定した値を返す
値(必須):必ず指定します。

エラーの場合の値(必須):エラー 数式がエラーと評価された場合に返す値。評価されるエラーの種類には、#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? または #NULL! があります。

VLOOKUPでA列の値を取得し、「Sheet2」に該当する値がなくエラーとなったら「Sheet3」の値を返すという内容となります。

どちらも該当がない場合は#N/Aとなります。

次にB2の右下をB5までドラッグします。

これで完成です!
反列に商品名が反映されましたね!



集計対象のシートを追加する場合の手順

次に集計対象のシートを追加する場合の手順を説明します。

「Sheet4」シートを追加します。項目は他のシートと同じ構成にし、値を入力します。

FERROR関数の末尾に「Sheet4」分の処置を加えます。

IFERROR(「Sheet2」の値, IFERROR(「Sheet3」の値, IFERROR(「Sheet4」の値))

IFERROR関数の処理の順序は初めの「Sheet2」シートに値が見つからない場合に次のシートの「Sheet3」を探し、
それでも見つからない場合は「Sheet4」を探しにいく形となります。

この多重構造を「入れ子」にする、「ネスト」すると表現します。
結果的にシートの数分入れ子の層ができていきます。

IFERROR関数にVLOOKUP関数を含めた値を入れます。

=IFERROR(VLOOKUP($A2,Sheet2!$A$2:$B$5,2,FALSE),VLOOKUP($A2,Sheet3!$A$2:$B$5,2,FALSE))

次に追加分の「Sheet4」の値を抽出するVLOOKUP「VLOOKUP($A2,Sheet4!$A$2:$B$5,2,FALSE)」を追加していきます。

先ほどの関数をコピペして、値参照セルをA2からA6へ、シート名を「Sheet3」、「Sheet4」に変更します。

=IFERROR(VLOOKUP($A6,Sheet3!$A$2:$B$5,2,FALSE),VLOOKUP($A6,Sheet4!$A$2:$B$5,2,FALSE))

これを、「=」を外した上、以下の黄色い範囲と入れ替えます。

=IFERROR(VLOOKUP($A2,Sheet2!$A$2:$B$5,2,FALSE),VLOOKUP($A2,Sheet3!$A$2:$B$5,2,FALSE))

=IFERROR(VLOOKUP($A2,Sheet2!$A$2:$B$5,2,FALSE), IFERROR(VLOOKUP($A6,Sheet3!$A$2:$B$5,2,FALSE),VLOOKUP($A6,Sheet4!$A$2:$B$5,2,FALSE)))

次に値を参照するセルを合わせます。今回はA6となります。

=IFERROR(VLOOKUP($A6,Sheet2!$A$2:$B$5,2,FALSE), IFERROR(VLOOKUP($A6,Sheet3!$A$2:$B$5,2,FALSE),VLOOKUP($A6,Sheet4!$A$2:$B$5,2,FALSE)))

B6に挿入しましょう。

できましたでしょうか。

また参照列を増やしたい場合はVLOOKUPの列番号を変更すればできます。

VLOOKUP($A6,Sheet3!$A$2:$B$5,2,FALSE)

複数のシートからデーター集計をする際にこの方法を覚えておけば、
コピペを繰り返す必要がなく楽になりますので活用してみてください。

タカヒロ@extanおすすめのVlookup本!

 

 

タカヒロ
タカヒロ
他にもVLOOKUPがカンタンにできる方法を紹介しています。
よろしければご参照ください。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です