こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルで複数シートに記載のデータを集計する方法

エクセルで下記【各シート】のように複数のシート毎にデータが記載してあり、これを【集計イメージ】のようにひとつのシートにまとめたいと思っています。

 【各シート】〔※記載している各項目・列の配置は同じ。但し、記載している行がばらばらです。〕
 < Sheet1 >  < Sheet2 >  < Sheet3 > ・・・・<Sheet50>
   A : B     A  : B     A : B
 1名前:田中  1住所:大阪  1性別:男
 2住所:東京  2名前:佐藤  2名前:山田
 3性別:男    3性別:女    3住所:群馬

 【集計イメージ】
 <      集計シート      >
   A     : B : C  : D
 1シート番号:名前 :住所 :性別
 2    1   :田中 :東京 :男
 3    2   :佐藤 :大阪 :女
 4    3   :山田 :群馬 :男
   ・
   ・

そこで、各シートの行が順序ばらばらになっているため、シート名に連続性(Sheet1・Sheet2・Sheet3・・・・SheetNのようにシート番号のみかえる形)を持たせたうえで、以下の式のようにVLOOKUP関数にて各項目を検索し、オートフィルにてすべての各シートの値を集計しようとしたのですが、#valueエラーが出てしまい上手くできません。

  【式 B2=VLOOKUP("名前","Sheet"&$A2&"!1:65536",2) 】

ここで、ご質問なのですが、
 (1)恐らく、範囲("Sheet"&$A2&"!1:65536")が間違っているのだと思いますが、どのように修正すればよいでしょうか?
 (2)また、VLOOKUP関数の他に良い方法がございましたら、合わせて教えていただければ助かります。

よろしくお願いします。

投稿日時 - 2012-05-18 11:57:18

QNo.7482231

すぐに回答ほしいです

質問者が選んだベストアンサー

VLOOKUPの範囲は" "が使えませんので、

範囲はINDIRECT関数で別の作業用セル(E2)から呼び出してはいかがでしょう。
=VLOOKUP("名前",INDIRECT(E2),2,FALSE)

E2セルには、
="Sheet"&$A2&"!A:B"

投稿日時 - 2012-05-18 13:42:10

お礼

早速ご回答ありがとうございます。
ご教授いただいたとおりに行い、解決できました。
本当にありがとうございました。

投稿日時 - 2012-05-18 14:44:44

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

B2に
=VLOOKUP(B$1,INDIRECT("Sheet"&$A2&"!A:B"),2,FALSE)
と記入し,右にコピー,下にコピー。

投稿日時 - 2012-05-18 13:21:02

お礼

早速ご回答ありがとうございます。
ご教授いただいたとおりに行い、解決できました。
本当にありがとうございました。

投稿日時 - 2012-05-18 14:43:52

あなたにオススメの質問