Excel チュートリアル: 複数のワークブック/ワークシートを1つに統合する
Excelでは、シートを結合することは多くのユーザーにとって一般的である一方で、特に初心者にとっては少し難しい作業です。このチュートリアルでは、あなたが直面する可能性のあるほぼすべての結合シナリオをリストアップし、それぞれに対応する専門的な解決策を提供します。以下のナビゲーションリストにあるリンクをクリックすれば、すぐに答えを見つけることができます。また、興味があれば、下のリンクを順番にたどることで、結合のスキルを学ぶこともできます。
Excelでは、結合は2つのタイプに分類できます。1つは内容のみを結合するもので、もう1つは内容を結合して計算を行うものです。
このチュートリアルのナビゲーション |
コンテンツを結合 |
2.1 「移動またはコピー」コマンドを使用してワークブックを1つのワークブックに結合する |
3. 複数のワークブックから特定のワークシートを1つのワークブックに結合 |
4.1 クエリを使用して1つのキー列に基づいて2つのテーブルを結合する(Excel 2016以降のバージョン) |
統合 |
Google スプレッドシート 1. 複数のGoogleスプレッドシートを1つのシートに統合する |
拡張機能 |
注釈
このチュートリアルでは、方法をより分かりやすく説明するためにいくつかのシートとデータを作成しています。以下のVBAコードや数式を使用する際は、必要に応じて参照を変更できます。また、サンプルをダウンロードして直接試すことも可能です。
コンテンツを結合
ここに、4つのシートを1つのシートに結合する必要があるワークブックがあります。
![]() | ![]() |
![]() | ![]() |
1.1 VBAコードを使用してすべてのシートを1つのシートに統合する
Excelでは、従来の方法(コピー&ペースト)以外にも、VBAコードを使用してすべてのシートを1つのシートに迅速に統合することができます。
1. 押す F11 および Alt 有効にするキー Microsoft Visual Basic for Applications ウィンドウ。
2. その後、表示されたウィンドウでクリックします。 挿入 > モジュール 新しい空白のモジュールを挿入するために。
3. 下記のコードを新しいモジュールにコピーして貼り付けます。
VBA: すべてのシートを1つに結合
Sub CombineAllSheetsIntoOneSheet()
'UpdatebyExtendoffice
Dim I As Long
Dim xRg As Range
On Error Resume Next
Worksheets.Add Sheets(1)
ActiveSheet.Name = "Combined"
For I = 2 To Sheets.Count
Set xRg = Sheets(1).UsedRange
If I > 2 Then
Set xRg = Sheets(1).Cells(xRg.Rows.Count + 1, 1)
End If
Sheets(I).Activate
ActiveSheet.UsedRange.Copy xRg
Next
End Sub
上記のコードでは、スクリプト「Combined」は結合された内容を配置するシートの名前です。必要に応じてこのスクリプトを他のものに変更できます。
4. を押します F5 コードを実行するキーとして、すべてのシートの前に「Combined」という名前のシートが作成され、すべてのシートの内容がそこに配置されます。
1.2 クエリを使用してすべてのテーブルまたは名前付き範囲を結合(Excel 2016以降)
Excel 2016以降のバージョンを使用している場合、クエリ機能を使用すると、作成されたすべてのテーブルや名前付き範囲を一度に統合することができます。
まず、範囲がテーブルまたは名前付き範囲として作成されていることを確認してください。テーブルや名前付き範囲の作成方法については、「Excelで範囲をテーブルに変換する方法またはその逆」および「数式で名前を定義して使用する方法」を参照してください。
1. 統合したいすべてのシートが含まれるワークブックを開き、クリックします。 データ > 新しいクエリ > 他のソースから > 空白のクエリ.
2. 表示されたクエリエディタウィンドウで、数式バーに移動し、次の数式を入力します。
=Excel.CurrentWorkbook()
押す 入力 キーにより、現在のワークブック内のすべてのテーブルがリストされています。
3. 横にある展開ボタンをクリックします コンテンツ および確認 展開 オプションと すべての列を選択 チェックボックス。
4. クリック OKすべてのテーブルが順番にリストされています。
列ヘッダーを右クリックして、選択した列に対して他の操作を行うことができます。
5. 次にクリックします ファイル > 閉じて読み込む場所….
6. で 読み込む場所 ダイアログ、確認 テーブル オプションを選択し、結合されたテーブルを読み込む必要がある場所を指定してください。 データを読み込む場所を選択してください セクションをクリック 読み込む.
新しいシートが作成され、すべてのマージされたテーブルが配置されます。
1.3 便利なツールを使用してすべてのシートを1つのシートに統合する
上記の方法で満足いただけない場合は、便利で使いやすいツールであるKutools for Excelをお試しください。そのCombine機能は強力で、すべてのシートを1つのシートに統合するだけでなく、高度な統合作業も可能です。例えば、シートを1つのワークブックに統合したり、同じ名前のシートを統合したり、選択したシートのみを統合したり、複数のファイルにまたがるシートを統合したりできます。
1. 結合したいワークブックを有効にし、クリックします Kutools Plus > 統合パスワードに関するいくつかの注意事項についてダイアログが表示されます。使用したいワークブックがパスワードに関係ない場合は、そのままクリックしてください。 OK 続行します。
2. で ワークシートの結合 – 3ステップ中のステップ1 ウィンドウ、確認 複数のワークブックからデータを1つのワークシートにコピー オプションをクリック 次へ ボタン。
3. 「ステップ 2/3」ウィンドウでは、デフォルトで現在のワークブックが「ワークブックリスト」ペインにリストアップされ、チェックされています。また、現在のワークブックのすべてのシートが「ワークシートリスト」ペインにリストアップされ、チェックされています。「次へ」をクリックして続行します。
注: 複数のワークブックを開いている場合、開いているすべてのワークブックが「ワークブックリスト」に表示されます。使用したいワークブックのみをチェックしてください。
4. 最後のステップで、必要に応じて結合モードを選択します。選択肢は次のとおりです。 行ごとにデータを統合 または 列ごとにデータを統合。次に、必要に応じて他のオプションを指定します。クリックしてください 完了 ボタン。
5. 結合したワークブックを配置するフォルダを選択するためのダイアログが表示されます。ここでファイル名を変更できます。 ファイル名 バーをクリック 保存 を完了します。
6. これで全てのシートが結合されました。設定をシナリオとして保存するかどうかを確認するダイアログが表示されます。クリックしてください。 はい または いいえ お好みに合わせて。
新しいワークブックがポップアップ表示され、結合結果がリストされます。出力ファイルのリンクをクリックして、結合されたシートを確認してください。
行ごとにデータを統合
列ごとにデータを統合
1.4 1つのシートに複数のシートを結合する拡張機能について
1.41 選択したシートのみを1つのシートに結合する便利なツール
ワークブック内の一部のシートだけを1つのシートに統合したい場合、Excelにはその機能が組み込まれていません。しかし、 Kutools for Excelの「統合」機能を使用すれば可能です。
1. 使用するワークブックを有効にしてクリックします Kutools Plus > 統合 > OK Combineウィザードを有効にするため。
2. で ステップ 1/3 ウィンドウ、確認 複数のワークブックからデータを1つのワークシートにコピー オプションをクリック 次へ ボタン。
3. 3ステップ中のステップ2ウィンドウでは、デフォルトで現在のワークブックが「ワークブックリスト」ペインにリストされ、チェックされています。また、現在のワークブックのすべてのシートが「ワークシートリスト」ペインにリストされ、チェックされています。結合する必要のないシートのチェックを外し、「次へ」をクリックして続行します。
4. 最後のステップで、必要に応じてオプションを指定します。クリックしてください。 完了 ボタン。
5. 結合したワークブックを配置するフォルダを選択するためのダイアログが表示されます。ファイル名は次の場所で変更できます: ファイル名 バーをクリック 保存 完了する。
6. これでチェックされたシートのみが結合され、設定をシナリオとして保存するかどうかを確認するダイアログが表示されます。クリックしてください。 はい または いいえ お好みに合わせて。
1.42 複数のワークブックからシートを1つのシートに統合する便利なツール
例えば、book1、book2、book3のすべてのシートを1つのシートに結合したい場合、以下のスクリーンショットのように、 統合 の機能 Kutools for Excel また、お手伝いできます。
Kutools for Excelを無料でインストール した後、以下のように操作してください:
1. 使用するワークブックを有効にし、Kutools Plus > 結合 > 完了 をクリックして、結合ウィザードを有効にします。
2. で ステップ 1/3 ウィンドウ、確認 複数のワークブックからデータを1つのワークシートにコピー オプションをクリック 次へ ボタン。
3. で ステップ 2/3 ウィンドウでは、すべての開いているワークブックがリストされ、チェックされています。 ワークブックリスト ペインに、開いているすべてのワークブックのシートがリストアップされ、チェックされています。 ワークシートリスト ペインをクリック 次へ 続行します。
ヒント: 統合するワークブックを追加したい場合は、[追加] ボタンをクリックして、ワークブックを追加するパスを選択してください。
4. 最後のステップで、必要に応じてオプションを選択します。完了ボタンをクリックしてください。
5. 結合したワークブックを保存するフォルダを選択するためのダイアログが表示されます。ここでファイル名を変更できます。 ファイル名 バーをクリック 保存 を完了します。
6. これで、開いているワークブック内のすべてのシートが統合されました。設定をシナリオとして保存するかどうかを尋ねるダイアログが表示されます。お好みで「はい」または「いいえ」をクリックしてください。
保存した結合されたワークブックを開くと、複数のワークブックにまたがるシートが1つのシートにマージされています。
ここでは、3つのワークブックを1つのワークブックに結合する必要があります。
1月 | 2月 | 3月 |
![]() | ![]() | ![]() |
2.1 「移動またはコピー」コマンドを使用してワークブックを1つのワークブックに結合する
少数のワークブックにまたがるシートを結合するだけであれば、Excelの「移動またはコピー」コマンドが役立ちます。
1. 結合したい最初の2つのワークブックを開き、最初のワークブックをアクティブにし、移動したいシートを選択して右クリックしてコンテキストメニューを表示し、クリックします。 移動またはコピー.
ヒント
1) すべてのシートを移動したい場合は、まずタブを右クリックしてコンテキストメニューから「すべて選択」を選んでください。その後、「移動またはコピー」コマンドを使用します。
2) Ctrlキーを押しながら、複数の隣接していないシートを選択します。
3) 最初のシートを選択し、Shift キーを押しながら最後のシートを選択して、複数の隣接するシートを選択します。
2. で 移動またはコピー ダイアログの 予約する ドロップダウンリストから、シートを移動したいワークブック(ここでは「Jan」を選択)を選び、シートを配置したい場所を指定します。 前のシート セクションをクリック OK.
注:
1) 「コピーを作成する」を確認した方が良いです。そうしないと、元のワークブックは移動後にワークシートを失います。
2) すべてのワークブックを新しいワークブックに配置したい場合は、選択してください (新しいブック) に 予約する ドロップダウンリスト。
すべてのシートがマスターワークブックに移動されました。
上記の手順を繰り返して、すべてのワークブックを1つに移動します。
2.2 複数のワークブック(1つのフォルダ内)をVBAコードを使用して1つのワークブックに結合する
一つのフォルダ内にある多くのワークブックを結合するには、VBAコードを使用できます。
1. すべてのワークブックをマージしたいワークブックを有効にし、次に押してください。 Alt + F11 開くためのキー Microsoft Visual Basic for Applications ウィンドウ。
2. 表示されたウィンドウで、クリックします。 挿入 > モジュール 新しい空白のモジュールを挿入するために。
3. 下記のVBAコードを新しいモジュールにコピーして貼り付けます。
VBA: 複数のワークブックを現在のワークブックに結合
Sub GetSheets()
'Updated by Extendoffice
Path = "C:\Users\AddinTestWin10\Desktop\combine sheets\combine sheets into one workbook\"
Filename = Dir(Path & "*.xlsx")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
注釈
VBAコードでは、スクリプト "C:\Users\AddinTestWin10\Desktop\combine sheets\combine sheets into one workbook\" は結合したいワークブックが保存されているフォルダのパスです。必要に応じて変更してください。
結合したいワークブックが異なるフォルダにある場合は、まずそれらを1つのフォルダにコピーしてください。
4. 押す F5 コードを実行するキーを押すと、すべてのワークブックが現在のワークブックの末尾にコピーされます。
ヒント: コピーされたすべてのシートは元の名前を使用します。ワークブック名を接頭辞として使用したい場合は、以下のコードをご利用ください:
Sub MergeWorkbooks()
'Updated by Extendoffice
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
On Error Resume Next
xStrPath = "C:\Users\AddinTestWin10\Desktop\combine sheets\combine sheets into one workbook\"
xStrFName = Dir(xStrPath & "*.xlsx")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
xMWS.Name = xStrAWBName & "(" & xMWS.Name & ")"
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
2.3 複数のフォルダにまたがる複数のワークブックを、便利なツールを使用して1つのワークブックに統合します。
場合によっては、異なるフォルダにあるすべてのワークブックを1つのワークブックに統合したいことがあるかもしれません。例えば、2020年と2021年のフォルダにあるすべてのワークブックを1つのワークブックにまとめる場合、Excelにはそれを直接処理する方法はありません。
しかし、Kutools for Excelの「統合」機能には、複数のフォルダにまたがるワークブックを1つに統合するオプションが用意されています。
Kutools for Excelを無料でインストール した後、以下のようにしてください:
1. Excelを有効にし、クリックします Kutools Plus > 統合パスワードに関するいくつかの注意事項を知らせるダイアログが表示されますが、使用したいワークブックがパスワードに関係ない場合は、そのままクリックしてください。 OK 続行するには。
2. で ワークシートの結合 – 3ステップ中のステップ1 ウィンドウ、確認 複数のワークブックからワークシートを1つのワークブックにコピー オプションをクリック 次へ ボタン。
3. で ステップ 2 / 3 ウィンドウで、の横にある矢印をクリックします。 追加 ドロップダウンメニューを表示するボタンをクリック フォルダ.
4. 次に、 フォルダを選択 ダイアログで、使用したいフォルダを1つ選択し、クリックしてください。 フォルダを選択 追加するには ワークブックリスト セクション。
5. 上記の手順を繰り返して、すべてのフォルダを追加し、すべてのワークブックをリストに表示します。 ワークブックリスト、クリック 次へ.
6. 最後のステップで、必要に応じてオプションを選択します。クリックしてください。 完了 ボタン。
7. 結合したワークブックを配置するフォルダを選択するためのダイアログが表示されます。ここでファイル名を変更できます。 ファイル名 バーをクリック 保存 を完了する。
8. これで全てのシートが結合されました。設定をシナリオとして保存するかどうかを確認するダイアログが表示されます。クリックしてください。 はい または いいえ お好みに合わせて。
新しいワークブックがポップアップ表示され、結合結果が一覧で表示されます。出力ファイルのリンクをクリックして、結合されたシートを確認してください。
結合結果
注: 結合されたワークブックでは、最初のシート(Kutools for Excelという名前)に元のワークシートおよび最終的に結合されたシートに関する情報がリストされています。必要ない場合は削除できます。
各ワークブックのすべてのシートではなく、ワークブック内の一部のシートだけを1つのワークブックに結合したい場合は、以下の方法を試してください。
quarter-1.xlsx
quarter-2.xlsx
quarter-3.xlsx
3.1 VBAコードを使用して、ワークブック(同じフォルダ内のすべてのワークブック)から特定のシートを1つのワークブックに結合する
1. 結合されたワークシートがあるワークブックを開き、Alt + F11 キーを押して Microsoft Visual Basic for Applications ウィンドウを開きます。
2. 表示されたウィンドウで、クリックします 挿入 > モジュール 新しい空白のモジュールを挿入するために。
3. 下記のVBAコードを新しいモジュールにコピーして貼り付けます。
VBA: 複数のワークブックから特定のワークシートを現在のワークブックに結合
Sub MergeSheets2()
'Updated by Extendoffice
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next
xStrPath = "C:\Users\AddinTestWin10\Desktop\combine sheets\combine specific sheets from multiple workbooks\"
xStrName = "A,B"
xArr = Split(xStrName, ",")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
注釈
1) VBAコードにおいて、スクリプト "C:\Users\AddinTestWin10\Desktop\combine sheets\combine specific sheets from multiple workbooks\" は、結合したいワークブックが保存されているパスです。必要に応じて変更してください。
2) VBAコードにおいて、スクリプト「A,B」は結合したいワークブック内の特定のシート名です。必要に応じて変更し、各シート名はカンマで区切ってください。
3) 統合したいワークブックが異なるフォルダにある場合は、まずそれらを1つのフォルダにコピーしてください。
4. 押す F5 コードを実行するキーを押すと、特定のワークシートのみが現在のワークブックの末尾にコピーされました。
3.2 複数のワークブック(複数のフォルダにまたがる)から特定のシートを便利なツールで結合
結合したいワークブックが多数の異なるフォルダにある場合、Kutools for Excelの「統合」機能を試してみてください。
Kutools for Excelを無料でインストール した後、以下のようにしてください:
1. Excelを有効にし、クリックします Kutools Plus > 統合パスワードに関するいくつかの注意事項を知らせるダイアログが表示されますが、使用したいワークブックがパスワードに関係ない場合は、そのままクリックしてください。 OK 続行するには。
2. で ワークシートの結合 – ステップ 1 of 3 ウィンドウ、確認 複数のワークブックからワークシートを1つのワークブックにコピー オプションをクリック 次へ ボタン。
3. で ステップ 2 / 3 ウィンドウで、の横にある矢印をクリックします 追加 ドロップダウンメニューを表示するボタンをクリック フォルダ.
4. 次に、「 フォルダを選択 ダイアログで、使用したいフォルダを1つ選択し、クリックしてください。 フォルダを選択 追加するには ワークブックリスト セクション。
5. 上記の手順を繰り返して、すべてのフォルダを追加し、すべてのワークブックをリストに表示します。 ワークブックリスト.
6. その後もそのまま ステップ 2 / 3 ウィンドウで、1つのワークブックを選択してください ワークブックリスト、そして使用したいシートのみをチェックしてください。 ワークシートリスト、次にクリックします。 同じワークシート ボタンをクリックすると、すべてのワークブック内の同名のワークシートが ワークブックリスト が確認されました。クリックしてください 次へ 続行するには。
7. 最後のステップで、必要に応じてオプションを選択します。クリックしてください。 完了 ボタン。
8. 結合したワークブックを配置するフォルダを選択するためのダイアログが表示されます。ここでファイル名を変更できます。 ファイル名 バーをクリック 保存 完了する
9. これで指定したシートが結合され、設定をシナリオとして保存するかどうかを尋ねるダイアログが表示されます。お好みで「はい」または「いいえ」をクリックしてください。
新しいワークブックがポップアップ表示され、結合結果が一覧で表示されます。出力ファイルのリンクをクリックして、結合されたシートを確認してください。
統合結果
注: 結合されたワークブックでは、Kutools for Excel という名前の最初のシートに元のワークシートおよび最終的に結合されたシートに関する情報がリストされています。必要ない場合は削除できます。
以下のスクリーンショットに示すように、2つのシートに2つのテーブルがあります。これらの2つのテーブルをExcelで1つのキー列に基づいて1つに結合したいとします。
表1 | 表2 |
![]() | ![]() |
結合されたテーブル |
![]() |
4.1 クエリを使用して1つのキー列に基づいて2つのテーブルを結合する(Excel 2016以降のバージョン)
Excel 2016以降のバージョンにおけるクエリ機能は非常に強力で、キー列に基づいて2つのテーブルを結合することをサポートしています。
Query機能を使用する前に、結合したい範囲がテーブルとして作成されていることを確認してください。
combine-two-tables-based-on-a-key-column-query.xlsx
1. 最初のテーブルの任意のセルをクリックし、[データ] > [ テーブルから] を [取得と変換] グループでクリックします。
2. で クエリエディター ダイアログをクリック ファイル > 閉じて読み込む に コマンド。スクリーンショットをご覧ください:
3. その後、表示された 読み込み先 ダイアログ、確認 接続のみを作成 オプションをクリック 読み込む.
ここで ワークブッククエリ ペイン表示が有効であり、表はリンクとしてペインにリストされています。
上記の手順を繰り返して、2番目のテーブルを追加します ワークブッククエリ ペイン。
4. 次に、[データ] > [新しいクエリ] > [クエリの結合] > [マージ] をクリックします。
5. で 結合 ウィンドウで、結合したい2つのテーブルを2つのドロップダウンリストからそれぞれ選択します。下部のテーブルが上部のテーブルに結合されます。
6. 結合したい2つのテーブルに基づいてキー列をクリックし、クリックします。 OK.
7. The マージ1 – クエリエディター ウィンドウがポップアウトしたら、横の展開ボタンをクリックします 新しい列, その後、キーカラム以外のすべての列をチェックし、チェックを外す 元の列名をプレフィックスとして使用 チェックボックスをクリック OK.
指定されたキー列に基づいて、2つのテーブルが1つにマージされました。
8. クリック ファイル > 閉じて読み込む場所、 読み込む場所 ダイアログ、確認 テーブル オプションを指定し、読み込む場所を選択してください。クリック 読み込む.
これで、2つのテーブルがキー列に基づいてマージされました。
4.2 1つのキー列を使用してExcel関数で2つのシートを結合する
あるシートから別のシートに1つか2つの列だけを移動し、キー列に基づいて位置を指定したい場合、Excelの関数が役立ちます。
例えば、シート2からシート1にデータ全体を移動し、列Aに基づいてデータの位置を特定します。
combine-two-sheets-based-on-a-key-column-functions.xlsx
シート1 | シート2 |
![]() | ![]() |
4.21 VLOOKUPを使用して列で2つのシートを結合する
1. シート1の表の横に、以下の数式をコピーして貼り付けてください:
=VLOOKUP(A2,Sheet2!$A$2:$B$5,2,FALSE)
説明:
A2: 最初の検索値(キーカラム);
Sheet2!$A$2:$B$5: テーブル範囲。このテーブルには、検索値の列と結果値の列が含まれる2つ以上の列があります。
2: 列インデックス、table_array内の特定の列番号(整数)で、一致する値を返す列です。
2. 押す 入力 最初の結果を得るためのキー。
3. 次に、すべてのデータを入力するためにオートフィルハンドルを下にドラッグします。
4. 数式セルがハイライトされた状態で、クリックします ホーム タブに移動し、必要に応じてセルの書式設定を行います。 数値 グループ。
VLOOKUP関数についての詳細情報は、こちらをクリックしてください。
4.22 MATCH関数とINDEX関数を組み合わせた数式を使用して列で2つのシートを結合する
1. シート1の表の横に、以下の数式をコピーして貼り付けます:
=INDEX(Sheet2!$B$2:$B$5,MATCH(Sheet1!A2,Sheet2!$A$2:$A$5,0))
説明:
Sheet2!$B$2:$B$5: 検索したい一致する値がある列;
Sheet1!A2: 最初の検索値(キー列内);
Sheet2!$A$2:$A$5: 2つのシートを結合する基準となるキーカラムです。
2. 押す 入力 最初の結果を得るためのキー。
3. 次に、すべてのデータで埋めるためにオートフィルハンドルを下にドラッグします。
4. 数式セルがハイライトされたまま、クリックします ホーム タブに移動し、必要に応じてセルの書式を設定します 数値 グループ。
4.3 便利なツールを使用して1つのキー列に基づいて2つのシートを結合する
結合機能のほかに、Kutools for Excelにはもう一つの強力な機能があります。それは「テーブルのマージ」です。この機能を使用すると、1つのキーカラムに基づいて2つのシートを迅速かつ簡単に結合できます。
combine-two-sheets-based-on-a-key-column-handy-tool.xlsx
Kutools for Excelを無料でインストール した後、以下のように操作してください:
1. クリック Kutools Plus >テーブルのマージ.
2. T でテーブルのマージ – ステップ 1 of 5 ウィンドウで、表の範囲を選択してください メインテーブルを選択してください そして ルックアップテーブルを選択してください セクションを個別にクリック 次へ.
3. で ステップ 2 / 5 ウィンドウで、結合する基準となるキーカラムを確認し、クリックしてください。 次へ.
4. で ステップ 3 / 5 ウィンドウでは、ルックアップテーブルに基づいてデータを更新したい列を確認できます。データを更新する必要がない場合は、直接クリックしてください。 次へ.
5. で ステップ 4/5 ウィンドウで、メインテーブルに結合したい列をここでチェックし、クリックします。 次へ.
6. 最後のステップで、必要に応じてオプションを指定し、クリックしてください。 完了.
この機能は、異なるワークブック内の2つのシートを結合することをサポートしています。
以下のスクリーンショットに示すように、sheet1 と sheet2 にそれぞれ2つのテーブルがあると仮定します。ここで、列 Project と列 Start_Date を基にして、sheet2 の End_Dates 列のデータを sheet1 に移動したい場合の手順は次の通りです:
Sheet1 | シート2 |
![]() | ![]() |
結合されたシート |
![]() |
Excelでは、組み込みの機能ではこの操作をサポートしていませんが、Kutools for ExcelのTables Merge(テーブルのマージ)機能を使用すれば対応可能です。
Kutools for Excelを無料でインストール した後、以下のようにしてください:
1. クリック Kutools Plus > テーブルのマージ.
2. で テーブルのマージ – ステップ 1 of 5 ウィンドウで、テーブルの範囲を選択してください メインテーブルを選択してください そして ルックアップテーブルを選択セクションを個別にクリックするには 次へ.
3. 「 ステップ 2 of 5」ウィンドウで、結合する基準となる2つの主キーカラムをチェックし、[次へ] をクリックします。
注: 自動的に、ルックアップテーブル内の関連する列が一致します。必要に応じて「ルックアップテーブルのカラム」の列名をクリックして変更できます。
4. 5つのステップのうち、ステップ3のウィンドウでは、ルックアップテーブルに基づいて更新したい列を確認できます。データの更新が必要ない場合は、そのまま「次へ」をクリックしてください。
5. で ステップ 4/5 ウィンドウで、メインテーブルに結合したい列をチェックし、次にクリックしてください。 次へ.
6. 最後のステップで、必要に応じてオプションを指定し、クリックしてください。 完了.
その後、追加したい列がメインテーブルの末尾に追加されています。
この機能は、異なるワークブック内の2つのシートを結合することをサポートしています。
以下のスクリーンショットに示すように、同じヘッダーを持つ複数のシートを結合するには:
![]() | ![]() |
![]() | ![]() |
結合されたシート |
![]() |
6.1 VBAを使用して同じヘッダーを持つすべてのシートを結合する
同じヘッダーを持つワークブックのすべてのシートを結合するVBAコードがあります。
1. 同じヘッダーを持つワークシートをマージしたいワークブックを有効にし、Alt + F11 キーを押して Microsoft Visual Basic for Applications ウィンドウを開きます。
2. 表示されたウィンドウで、クリックします。 挿入 > モジュール 新しい空白のモジュールを挿入するために。
3. 下記のVBAコードを新しいモジュールにコピーして貼り付けます。
VBA: 同じヘッダーを持つシートを結合
Sub Combine()
'Update by Extendoffice
Dim i As Integer
Dim xTCount As Variant
Dim xWs As Worksheet
On Error Resume Next
LInput:
xTCount = Application.InputBox("The number of title rows", "", "1")
If TypeName(xTCount) = "Boolean" Then Exit Sub
If Not IsNumeric(xTCount) Then
MsgBox "Only can enter number", , "Kutools for Excel"
GoTo LInput
End If
Set xWs = ActiveWorkbook.Worksheets.Add(Sheets(1))
xWs.Name = "Combined"
Worksheets(2).Range("A1").EntireRow.Copy Destination:=xWs.Range("A1")
For i = 2 To Worksheets.Count
Worksheets(i).Range("A1").CurrentRegion.Offset(CInt(xTCount), 0).Copy _
Destination:=xWs.Cells(xWs.UsedRange.Cells(xWs.UsedRange.Count).Row + 1, 1)
Next
End Sub
4. を押してください F5 コードを実行するキーを押すと、ヘッダー行の数を尋ねるダイアログが表示されます。テキストボックスに数字を入力し、クリックしてください。 OK.
これで、このワークブックのすべてのシートが「Combined」という名前の新しいシートに統合されました。
6.2 同じヘッダーを持つシートを便利なツールを使用して結合する
Kutools for Excelの「統合」機能もこの作業を処理でき、複数のワークブックにまたがるシートの統合をサポートしています。
Kutools for Excelを無料でインストール した後、以下のように操作してください:
1. 同じヘッダーを持つシートを結合したいワークブックを有効にし、クリックします。 Kutools Plus > 統合.
2. パスワードに関する何かを思い出させるためにダイアログが表示されます。使用しているワークブックにパスワードが関係ない場合は、クリックしてください。 OK 続行します。ポップアップされた ワークシートの結合 – ステップ 1 of 3 ウィンドウ、確認 複数のワークブックからデータを1つのワークシートにコピー オプションをクリック 次へ.
3. で ステップ 2 / 3 ウィンドウでは、すべてのシートがリストアップされ、チェックされています。 ワークシートリスト セクションをクリック 次へ 続けるために。
ヒント:
1) 特定のシートのみを結合したい場合は、必要なシート名にチェックを入れ、他のシートはチェックしないでください。
2) 追加するワークブックを統合したい場合は、クリックしてください 追加 ファイルやフォルダを追加するには ワークブックリスト セクション。
4. で ステップ 3/3、確認 行ごとにデータを統合 オプションを設定し、ヘッダー行数を入力してください ヘッダー行の数 テキストボックスで、必要に応じてその他の設定を指定します。クリックしてください。 完了.
5. フォルダを選択し、新しいワークブックの名前を付けてください。 マージ結果を保存する場所とファイル名を指定してください ダイアログをクリック 保存.
6. 設定をシナリオとして保存するかどうかを確認するダイアログが表示されます。クリックしてください。 はい または いいえ 必要なものをご確認ください。元のワークブックと新しいワークブックのリンクが記載されたワークブックが表示されます。新しいワークブックのパスリンクをクリックすると、内容を確認できます。
統合
例えば、同じ行ヘッダーと列ヘッダーを持つ3つのシートがあり、これらのシートを同じヘッダーで結合してデータの合計を求めたい場合、以下のスクリーンショットのように操作できます。
![]() | ![]() | ![]() |
結果 |
![]() |
1.1 コンソリデート機能を使用してシートを結合し計算を行う
Excelでは、統合機能を使用してシートを結合し、計算を行うことができます。
1. 結合したいシートを持つワークブックを有効にし、結合したデータを配置したいセルを選択して、クリックします。 データ > 統合.
2. 「統合」ダイアログで、以下の設定を行います:
1) で 関数 ドロップダウンメニューから、シートを結合後に実行したい計算を選択してください。
2) 傍にある選択アイコンをクリック 参照 結合する範囲を選択するボタンをクリック 追加 に すべての参照 セクション。
この手順を繰り返して、結合する必要があるすべての範囲を追加します。 すべての参照 セクション。
3) で ラベルの位置 セクションで確認する 最上行 および 左列 行ヘッダーと列ヘッダーの両方がある場合、範囲のチェックボックス。
4) 結合された内容をソースデータの変更に合わせて変更したい場合は、チェックしてください ソースデータへのリンクを作成 チェックボックス。
3. クリック OK範囲はヘッダーに基づいて結合され、合計されました。
注: 統合したい範囲が他のワークブックにある場合は、[統合] ダイアログで [参照] をクリックしてワークブックを選択し、シート名と範囲をテキストボックスに入力して [追加] をクリックすると、その範囲が [すべての参照] セクションに追加されます。
Kutools for Excelの統合機能は、複数のワークブック内のシートを統合し、1つのシートに計算を行うことをサポートしています。
Kutools for Excelを無料でインストール した後、以下のように操作してください:
1. 統合したいワークブックを有効にし、クリックします。 Kutools Plus > 統合.
2. パスワードに関する何かを思い出させるためにダイアログがポップアップします。使用しているワークブックにパスワードが関係ない場合は、クリックしてください。 OK 続行します。ポップアップされた ワークシートの結合 – 3ステップ中のステップ1 ウィンドウ、確認 複数のワークブックからデータを統合して計算 オプションをクリック 次へ.
3. で ステップ 2 / 3 ウィンドウでは、開いているワークブックのすべてのシートがリスト表示され、チェックされています。 ワークシートリスト セクションをクリック 次へ 続けるために。
ヒント: 特定のシートのみを結合したい場合は、必要なシート名にチェックを入れ、他のものはチェックしないでください。さらに多くのワークブックを結合したい場合は、[追加]をクリックしてファイルまたはフォルダを[ワークブックリスト]セクションに追加してください。
4. で ステップ 3/3, 必要な計算やラベルを指定します。クリックしてください。 完了.
5. フォルダを選択し、新しいワークブックの名前を付けてください。 マージ結果を保存する場所とファイル名を指定してください ダイアログをクリック 保存.
6. 設定をシナリオとして保存するかどうかを確認するダイアログが表示されます。クリックしてください。 はい または いいえ 必要なものをご確認ください。元のワークブックと新しいワークブックのリンクが記載されたワークブックが表示されます。新しいワークブックのパスリンクをクリックすると、それを開いて確認できます。
データが以下のスクリーンショットのようなシンプルな構造の場合、シートを直接PivotTableに統合することができます。
![]() |
![]() |
![]() |
1. 使用するワークブックを有効にし、クリックします クイックアクセスツールバーをカスタマイズ > その他のコマンド.
2. 表示されたポップアップで Excelのオプション ウィンドウで選択 すべてのコマンド から コマンドを選択 セクションで、スクロールバーをドラッグして選択します ピボットテーブルとピボットチャートウィザード.
3. クリック 追加 追加するための ピボットテーブルとピボットチャートウィザード に クイックアクセスツールバーをカスタマイズ、クリック OK.
4. をクリックします ピボットテーブルとピボットチャートウィザード ツールバーからのコマンドを実行し、 ステップ 1 / 3、確認する 複数の範囲を統合してピボットテーブルを作成 オプションをクリック 次へ.
5. で ステップ 2a / 3, ページフィールドのオプションを作成することを確認し、クリックします 次へ.
6. で ステップ 2b / 3, 結合したい範囲を選択するための選択アイコンをクリックし、その後クリックします 追加 それを追加するには すべての範囲 セクションでは、結合に使用するすべての範囲を追加するためにこの手順を繰り返します。0 をチェックしてください いくつのページフィールドが必要ですかをクリック 次へ.
7. ピボットテーブルを作成する場所を選択してください ステップ 3/3、クリック 完了.
ピボットテーブルが作成されました。次の設定を指定してください: ピボットテーブルのフィールド 必要に応じてペインを設定してください。
注: データの構造が複雑な場合、私の意見では、上記の一般的な方法でシートを結合し、その後に結果のシートをピボットテーブルに変換してください。
Google スプレッドシート
以下のスクリーンショットに示すように、3つのGoogleシートを1つに結合する必要があるとします:
![]() | ![]() | ![]() |
1.1 フィルター機能を使用してGoogleスプレッドシートを1つのシートに統合する
結合したデータを配置したいシートで、セルを選択し、以下の数式を入力します:
=({filter(A!A2:B, len(A!A2:A)); filter(B!A2:B, len(B!A2:A)); filter('C'!A2:B, len('C'!A2:A)) })
その後、シート A、B、C のデータがコピーされました。
数式において:
A、B、Cはシート名であり、A2:Bは各シート内のデータ範囲、A2:Aは各データ範囲の最初の列です。
1.2 IMPORTRANGE関数を使用してGoogleスプレッドシートを1つのシートに統合する
この数式は、Googleスプレッドシートで2つの範囲を結合するために頻繁に使用されます。
最初のデータ範囲の下にあるセルを選択し、以下の数式を入力します:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/13K4vuZukmS4-x0qJs0EAXQkneIdNqelruDBF5ff5xNQ/edit","B!A2:B4")
その後、シート B のデータは下にコピーされました。
数式では、
https://docs.google.com/spreadsheets/d/13K4vuZukmS4-x0qJs0EAXQkneIdNqelruDBF5ff5xNQ/edit
はシートの場所です。ウェブアドレスバーで確認できます。
B!A2:B4 は、最初の範囲にコピーしたいシート B 内のセル範囲です。
注: 数式が入力されたセルが以前に編集されていた場合、数式は #REF! を返します。
Google スプレッドシートで複数のワークブックからシートを結合したい場合、Excel のような迅速な方法はありません。
複数のワークブックからGoogleスプレッドシートを1つのワークブックに統合するには、右クリックメニューの「コピー先」コマンドを使用できます。
使用したいシートを右クリックし、クリックしてください コピー先 > 新しいスプレッドシート または 既存のスプレッドシート.
もし選択した場合 新しいスプレッドシート、シートがコピーされたことを通知するダイアログが表示されます。クリックしてください。 OK現在のシートは新しいワークブックにコピーされました。クリックできます スプレッドシートを開く 確認するため。
「 既存のスプレッドシート」を選択すると、「このワークシートをコピーするスプレッドシートを選択」ダイアログが表示されます。
1) 既存のスプレッドシートがある場所を選択してください;
2) ファイル内の、シートをコピーしたいワークブックを選択してください。
3) または、コピー先のワークブックのWebアドレスをまたはここにWebアドレスを貼り付けバーに直接入力することもできます。
4) クリック 選択.
シートが新しいスプレッドシートにコピーされた場合、新しいワークブック内のシート名は元の名前と同じになります。既存のスプレッドシートにコピーされた場合、結合されたワークブック内のシート名には「Copy of」の接頭辞が追加されます。
拡張機能
2つのシートにいくつかの重複があると仮定し、以下のスクリーンショットに示すように、データを結合して重複を削除する必要があります。
![]() | ![]() |
全般的な結果 | 重複を削除 |
![]() | ![]() |
Excel では、重複を削除 機能を使用すると、重複するデータを迅速に削除できます。
上記の方法を使用してシートを結合した後、結合されたデータを選択し、クリックします。 データ > 重複を削除.
において 重複を削除 ダイアログで、重複を削除したい列を選択してください。確認のためにチェックできます。 データにヘッダーが含まれている ヘッダーを無視するには、クリックしてください OK.
その後、重複行が削除されました。
1.2 便利なツールを使用してシートを結合し、重複を削除する
結合して重複を削除する必要がある範囲が2つしかない場合、Kutools for Excelのテーブルのマージ機能を使用すると、結合中に直接重複を削除できます。
Kutools for Excelを無料でインストール した後、以下のようにしてください:
1. 結合したいデータが含まれているワークブックを有効にし、クリックします。 Kutools Plus > テーブルのマージ.
2. Tでテーブルのマージ – ステップ 1 of 5 ウィンドウで、結合したい2つの範囲を選択し、表に2つのヘッダーがある場合はチェックしてください。 メインテーブルにヘッダーがある そして ルックアップテーブルにヘッダーがある チェックボックスをクリック 次へ.
3. で 5段階のステップ2 ウィンドウで、範囲を結合する基準となるキーカラムを確認し、クリックしてください。 次へ.
4. 5つのステップのうち、ステップ3のウィンドウでは、ルックアップテーブルに基づいてデータを更新したい列を確認でき、[次へ]をクリックして最後のステップに進みます。
ヒント: ルックアップテーブルにメインテーブルに追加する必要がある新しい列がある場合、列を追加するためのステップ 4/5 のウィンドウが表示されます。
5. で ステップ 5/5 ウィンドウ、 追加オプション セクション、確認 マッチしない行をメインテーブルの末尾に追加する チェックボックス、 更新オプション セクション、確認 ルックアップテーブルにデータがある場合にのみセルを更新します チェックボックスをクリック 完了.
その後、2つのテーブルは重複なしでメインテーブルに結合されます。
複数のワークブックに同じ名前のシート(例:sheet1、sheet2)があると仮定します。ここで、sheet1という名前のすべてのシートを1つのシートに、sheet2という名前のすべてのシートを別の1つのシートに統合したい場合(下のスクリーンショット参照)、Kutools for Excelの「統合」機能を使用してこの作業を迅速に処理できます。
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
Kutools for Excelを無料でインストール した後、以下のように操作してください:
1. 結合するワークブックを有効にし、Kutools をクリックします。Kutools Plus > 統合.
2. パスワードに関する何かを思い出させるためにダイアログがポップアップします。使用しているワークブックにパスワードが関係ない場合は、クリックしてください。 OK 続行します。ポップアップされた ワークシートの結合 – 3ステップ中のステップ1 ウィンドウ、確認 複数のワークブックから同じワークシート名のデータを統合 オプションをクリック 次へ.
3. で ステップ 2 / 3 ウィンドウでは、開いているワークブックのすべてのシートがリスト表示され、チェックされています。 ワークシートリスト セクションをクリック 次へ 続けるために。
ヒント:
特定のシートのみを結合したい場合は、必要なシート名にチェックを入れ、他のシートはチェックしないでください。
さらに結合するワークブックを追加したい場合は、クリックしてください。 追加 ファイルやフォルダを追加するための ワークブックリスト セクション。
4. で ステップ 3/3必要に応じて設定を指定します。クリックしてください。 完了.
5. フォルダを選択し、新しいワークブックの名前を付けてください。 マージ結果を保存する場所とファイル名を指定してください ダイアログをクリック 保存.
6. 設定をシナリオとして保存するかどうかを確認するダイアログが表示されます。クリックしてください。 はい または いいえ 必要な内容のためです。元のワークブックと新しいワークブックのリンクが記載されたワークブックが表示されます。新しいワークブックのパスリンクをクリックして、確認のために開いてください。
行ごとにデータを統合
列ごとにデータを統合
複数のシートにまたがる同じ範囲を1つのシートに結合したい場合、例えば、ワークブックAとワークブックBの範囲A1:B5だけを1つのシートに結合したい場合、Kutools for Excelの「統合」機能が最適な選択肢です。
A | B | 結合結果 |
![]() | ![]() | ![]() |
1. 使用するワークブックを有効にし、クリックします Kutools Plus > 統合.
2. パスワードに関する何かを思い出させるためにダイアログが表示されます。使用しているワークブックにパスワードが関係ない場合は、クリックしてください。 OK 続行します。ポップアップ表示された ワークシートの結合 – ステップ 1 of 3 ウィンドウ、確認 複数のワークブックからデータを1つのワークシートにコピー オプションをクリック 次へ.
3. で ステップ 2 / 3 ウィンドウでは、開いているワークブックのすべてのシートがリスト表示され、チェックされています。 ワークシートリスト セクションで、選択アイコンをクリックします ワークシートリスト、次に使用したい範囲を選択します。その後、クリックしてください。 同じ範囲 すべてのシートの範囲をA1:B5に設定するボタンをクリック 次へ.
ヒント:
1) 特定のシートのみを結合したい場合は、必要なシート名にチェックを入れ、他のシートはチェックしないでください。
2) 追加するワークブックをさらに追加したい場合は、[追加]をクリックして、ファイルまたはフォルダを[ワークブックリスト]セクションに追加します。
4. 3ステップ中のステップ3で、必要な設定を指定します。完了をクリックします。
5. フォルダを選択し、[マージ結果を保存する場所とファイル名を指定してください] ダイアログで新しいワークブックの名前を入力して、[保存] をクリックします。
6. 設定をシナリオとして保存するかどうかを確認するダイアログが表示されます。必要に応じて「はい」または「いいえ」をクリックしてください。元のワークブックと新しいワークブックのリンクが記載されたワークブックが表示されますので、新しいワークブックのパスリンクをクリックして開き、確認してください。
あなたも興味があるかもしれません |
複数のCSVファイルを複数のワークシートに結合/インポート Excelでセルを結合し、セルの書式を保持する Excelでデータを失うことなく複数のセルの内容を結合する Excelで日付と時刻を1つのセルに結合する |
最高のOffice生産性ツール
Kutools for Excel は、ほとんどの問題を解決し、生産性を80%向上させます。
- スーパー数式バー(複数行のテキストや数式を簡単に編集可能); 閲覧レイアウト(多数のセルを簡単に読み取り・編集可能); フィルター範囲への貼り付け...
- セル/行/列を結合してデータを保持; セル内容を分割; 重複する行を統合して合計/平均を計算... 重複セルを防止; 範囲を比較...
- 重複または一意の行を選択; 空白行を選択(すべてのセルが空); スーパー検索および多くのワークブックでのあいまい検索; ランダム選択...
- 数式参照を変更せずに複数のセルを正確にコピー; 複数のシートへの自動参照作成; 箇条書き、チェックボックスなどを挿入...
- お気に入りの数式、範囲、グラフ、画像を素早く挿入; パスワードでセルを暗号化; メーリングリストを作成してメールを送信...
- テキストの抽出、テキストの追加、特定の位置の文字を削除、スペースを削除; ページング小計の作成と印刷; セルの内容とコメント間の変換...
- スーパーフィルター(他のシートにフィルタースキームを保存して適用); 月/週/日ごとの高度な並べ替え、頻度など; 太字、斜体による特殊フィルタリング...
- ワークブックとワークシートを統合; 主キーカラムに基づいてテーブルをマージ; データを複数のシートに分割; xls、xlsx、PDFの一括変換...
- ピボットテーブルのグループ化(週番号、曜日など)... ロックされたセルとロックされていないセルを異なる色で表示; 数式/名前を持つセルをハイライト...

- Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付き編集と閲覧を有効化します。
- 新しいウィンドウではなく、同じウィンドウ内の新しいタブで複数のドキュメントを開き、作成します。
- 生産性を50%向上させ、毎日数百回のマウスクリックを削減します!
