複数のワークシートを1つに凝縮する(Microsoft Excel)
各ワークシートに同じ構造のデータがあるワークブックを入手する場合は、複数のワークシートを1つの大きなワークシートに結合する方法に興味があるかもしれません。
凝縮を行う背後にある概念はかなり簡単です。2番目以降のワークシートから最初のワークシートの最初の空の行にデータをコピーするだけです。幸い、Excelには、まさにこのプロセスを実行できる機能である統合ツールが含まれています。
統合ツールを使用すると、データが位置またはカテゴリによって定義されているワークシートを組み合わせることができます。位置とは、データがすべてのワークシートで同じ位置にあることを意味します。たとえば、各ワークシートのデータテーブルにまったく同じ列がある場合は、位置ごとに統合します。カテゴリとは、データが一貫した構造を使用していない可能性のあるテーブルのデータを結合することを意味します。データテーブルの列の順序が異なる場合は、このタイプの統合を使用します。
ワークシートを統合するワークブックで、データ|を選択します。統合します。 Excelに[統合]ダイアログボックスが表示されます。 (図1を参照)
ダイアログボックスには多くのコントロールがありますが、心配する必要がある主なことは、統合する範囲を指定することです。
図1. [統合]ダイアログボックス。
[参照]ボックスを使用して範囲を指定します。統合する最初の範囲をボックスに指定します。位置で連結する場合、参照には列ラベルを含めないでください。カテゴリ別の場合は、そうする必要があります。範囲参照を指定する場合は、[追加]をクリックすると、その参照が[すべての参照]リストに表示されます。すべてが完了するまで、基準範囲を定義し続けます。
統合データに元のデータへのリンクを含める場合は、[ソースデータへのリンクを作成する]チェックボックスがオンになっていることを確認します。それ以外の場合はオフにします。次に、[OK]をクリックして統合を実行できます。
[統合]ダイアログボックスには他のコントロールがあることに注意してください。上記のコントロールは、少なくとも注意を払う必要があるコントロールです。他の人が何をしているのかを知る最良の方法は、いくつかの統合を行って、他の人と遊んでみることです。
統合ツールを使用したくない場合は、各ワークシートの構造が同じであれば、統合を実行するマクロを簡単に作成できます。次のマクロは、すべてのワークシートをステップスルーし、ワークブックの先頭に追加する新しいワークシートにデータを結合します。
Sub Combine() Dim J As Integer On Error Resume Next Sheets(1).Select Worksheets.Add ' add a sheet in first place Sheets(1).Name = "Combined" ' copy headings Sheets(2).Activate Range("A1").EntireRow.Select Selection.Copy Destination:=Sheets(1).Range("A1") ' work through sheets For J = 2 To Sheets.Count ' from sheet 2 to last sheet Sheets(J).Activate ' make the sheet active Range("A1").Select Selection.CurrentRegion.Select ' select all cells in this sheets ' select all lines except title Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select ' copy cells selected in the new sheet on last line Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2) Next End Sub
マクロが完了すると、Combinedという名前のブックの最初のシートに、他のワークシートのすべてのデータが含まれます。他のワークシートは変更されません。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(3005)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link:/ excelribbon-Condensing_Multiple_Worksheets_Into_One [複数のワークシートを1つに凝縮]
。