• 締切済み

エクセルで複数のシートからデータを抽出したい

例えば、 シート1  シート2  シート3     新しいシート あんず   めろん   あんず      あんず いちご   なし    もも    →  いちご みかん   りんご            かき りんご   かき             なし                      みかん                      めろん                      もも                      りんご                       という感じで、シート1から3を同じデータはダブらず新しいシートにまとめたいのです。ひとつひとつ見ていくのは大変なので、手っ取り早くできる方法を教えてください。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

関数では難しいとおもい、VBAでやってみました。 寄せ集めるシート名をSheet4にしてますが、自分のケースに合わせて下記の数箇所を変えてください。 ForNextの3重ループになってます。 一番外側は各シートの数だけの繰り返し 中は各シートのセルの上行から最終下行への行数分の繰り返し 最後はSheet4の中にすでに同じものがないか上のセルのから最下行セル(追加の度に下へ下がる)へのチェックの繰り返しです。 下記をVBEの標準モジュール(ALT+F11キー)に貼り付けて、実行(F5キー)します Sub test01() Dim sh As Worksheet k = 2 For Each sh In ActiveWorkbook.Worksheets 'MsgBox sh.Name If sh.Name = "Sheet4" Then Exit Sub ' sh.Activate d = sh.Range("A65536").End(xlUp).Row ' MsgBox d For i = 2 To d For j = 1 To k If Worksheets("Sheet4").Cells(j, "A") = sh.Cells(i, "A") Then GoTo p1 Next j Worksheets("Sheet4").Cells(k, "A") = sh.Cells(i, "A") k = k + 1 p1: Next i Next End Sub データが多いと処理完了時間が心配ですが、まあやってみてください。 A列以外がある時は Worksheets("Sheet4").Cells(k, "A") = sh.Cells(i, "A") の下行に(B列なら) Worksheets("Sheet4").Cells(k, "B") = sh.Cells(i, "B") を加えます。C列以下も同じです。

すると、全ての回答が全文表示されます。
  • OsieteG00
  • ベストアンサー率35% (777/2173)
回答No.1

「統合」機能を使うのが一番簡単かと。

参考URL:
http://www.eurus.dti.ne.jp/~yoneyama/Excel/syukei.html
すると、全ての回答が全文表示されます。
このQ&Aのポイント
  • 私は実家暮らし25歳後半の成人しています。物心ついた頃から周りの友達や幼馴染の物を盗んできました。そしてお金の存在を知ってからは家族や祖母幼馴染のお金をも盗んでいました。盗み癖は今も辞められることなく続いています。
  • 幼馴染のお金を盗んだりしていましたが、幼馴染家族とは生まれた時から両親同士が仲が良く今でも仲良くしてくれています。高校から成人、現在にかけても盗み癖は治らず一回留置所にも行っています。
  • お給料が多くもらえた時にはお金を盗んだりはしていませんが、自由に使えるお金が減ったり無くなったりすると母の口座などからお金を下ろしてしまいました。病気だ本当に治したいのであれば心療内科に行く予定です。
回答を見る

専門家に質問してみよう