列の値に基づいて Excel シートを複数のシートに分割する方法
Excel シートを複数のシートに分割する最も簡単な方法を探している場合 列の値に基づいている場合は、この記事が役に立ちます。
列に基づいて大量のデータ セットを分割し、メイン シートを分割した後に複数のシートで作業することが必要になる場合があります。この仕事を効果的に行う方法を知るために、記事に飛び込みましょう。
ワークブックをダウンロード
列の値に基づいて Excel シートを複数のシートに分割する 5 つの方法
大学のさまざまな学生の結果を含む次のデータ テーブルを使用します。 Student Name 列に基づいて、このシートを 3 つのシートに分割します。
この目的のために、 Microsoft Excel 365 を使用しています バージョンですが、ご都合に合わせて他のバージョンを使用できます。
方法-1 :列の値に基づいてシートを複数のシートに分割する FILTER 関数
列 Student Name に基づいてデータシートを複数のシートに分割する場合 の場合、FILTER 関数を使用できます .ここでは、次のシートを Daniel Defoe のデータを含む 3 つのシートに分割します。 、ヘンリー ジャクソン と ドナルド ポール
ステップ-01 :
➤ 3 人の生徒の名前にちなんで名付けられた 3 枚のシートを作成します。
➤ B3 などのセルを選択します 生徒のシート Daniel Defoe .
➤次の式を入力してください
=FILTER(Filter!B5:D16,Filter!B5:B16="Daniel Defoe")
フィルタ!B5:D16 Filter という名前のメイン シートのヘッダーのないデータ範囲です。 および Filter!B5:B16 は 学生名 の範囲です メイン シートでは 「Daniel Defoe」 と同じになります。 .
➤ENTER を押します
ここで、生徒 Daniel Defoe のデータを取得します。
➤すべての列の上にヘッダー名を入力して、このデータ テーブルの境界線を作成しましょう。
ステップ-02 :
Step-01 に従った後 学生の Henry Jackson の他の 2 つのシートのこのメソッドの と ドナルド ポール 次の 2 つの表がそれぞれのシートに表示されます。
続きを読む: Excel VBA:行に基づいてシートを複数のシートに分割
方法-2 :列の値に基づいてシートを複数のシートに分割するピボット テーブル
学生名列に基づいて、次のシートを 3 人の学生用に 3 つのシートに分割できます。 ピボット テーブルを使用して .
ステップ-01 :
➤ 挿入 に移動 タブ>>ピボットテーブル オプション
テーブルまたは範囲からのピボットテーブル ダイアログボックスが表示されます。
➤テーブル/範囲を選択
➤新しいワークシートをクリックします (ピボット テーブルを配置することをお勧めします 新しいシートに)
➤OK を押します
その後、2 つの部分を持つ新しいシートが開きます。 ピボットテーブル 1 およびピボットテーブル フィールド .
➤学生名を下にドラッグします フィルタで エリア (メイン シートを複数のシートに分割する際の基準となる任意の列) と 件名 と 等級 行へ
➤ デザイン に移動 タブ>>レイアウト グループ>>レポート レイアウト ドロップダウン>>アウトライン形式で表示 オプション
➤デザインに従う タブ>>レイアウト グループ>>総計 ドロップダウン>>行と列はオフ オプション。
➤ 次に ピボットテーブル分析 に移動します タブ>>ピボットテーブル グループ>>オプション ドロップダウン>>レポート フィルタ ページを表示 オプション。
次に レポート フィルタ ページの表示 ウィザードがポップアップします。
➤ [学生名] 列を選択します。 フィルタ にありました 範囲。
➤OK を押します .
結果 :
その後、3 人の生徒用に 3 枚の異なるシートを受け取ります Daniel Defoe 、ヘンリー ジャクソン、 と ドナルド ポール
続きを読む: 行に基づいて Excel シートを複数のシートに分割
方法-3 :テーブル オプションの使用
Student Name 列に基づいてメイン シートを複数のシートに分割する場合 表を使用できます オプション。
ステップ-01 :
➤ 3 人の生徒の名前にちなんで名付けられた 3 枚のシートを作成します。
➤メイン シートからデータ テーブルをコピーし、これら 3 つの異なるシートに貼り付けます。
ステップ-02 :
➤ 挿入 に移動 タブ>>テーブル オプション
次に テーブルの作成 ダイアログボックスが表示されます。
➤データを選択 テーブルの .
➤My table has headers をクリックします
➤OK を押します
次に、次のテーブルが作成されます。
➤ テーブル デザイン に移動 タブ>>ツール ドロップダウン>>スライサーを挿入 オプション
その後 スライサーを挿入 ダイアログボックスがポップアップします。
➤学生名列を選択します (シートを分割する基になる列)
➤OK を押します .
その後、 生徒の名前 3 つのオプション (3 つの学生名) を含むボックスが表示されます
➤ Daniel Defoe をクリックします。 この学生のシートのために。
結果 :
生徒 Daniel Defoe のデータを取得します。
ステップ-03 :
➤Step-02 に従う 残りの 2 枚のシート。
このようにして、Henry Jackson の他の 2 つのシートを作成します。 と ドナルド ポール 以下のように。
続きを読む: Excel シートを複数のファイルに分割する方法 (3 つの簡単な方法)
類似の読み物
- Excel で画面を分割する方法 (3 つの方法)
- [修正:] Excel の並べて表示が機能しない
- Excel で縦方向に並べて表示する方法
方法-4 :フィルター オプションの使用
Student Name 列に基づいてメイン シートを複数のシートに分割する場合 フィルタを使用します このメソッドのオプション。
ステップ-01 :
➤ 3 人の生徒の名前にちなんで名付けられたシートを 3 枚作成します。
➤メイン シートからデータ テーブルをコピーし、これら 3 つの異なるシートに貼り付けます。
ステップ-02 :
➤データテーブルを選択
➤ データ に移動 タブ>>フィルタ オプション
次に、 フィルタ このデータ テーブルのオプションが有効になります。
➤ ドロップダウン をクリックします。 sign in the Student Name column .
➤Select the name Daniel Defoe for this sheet and Press OK .
Result :
Afterward, you will get the data for the student Daniel Defoe in the sheet for this student.
ステップ-03 :
➤Follow Step-02 for the other two sheets.
Then, you will get the other two sheets for Henry Jackson and Donald Paul like below.
続きを読む: How to Separate Sheets in Excel (6 Effective Ways)
方法-5 :VBA Code to Split Sheet into Multiple Sheets Based on Column Value
You can split a sheet into multiple sheets based on column value by using a VBA code like this method.
ステップ-01 :
➤Go to Developer Tab>>Visual Basic Option
Then, the Visual Basic Editor will open up.
➤Go to Insert Tab>> Module Option
After that, a Module will be created.
ステップ-02 :
➤Write the following code
Sub Splitsheet()
Dim lr As Long
Dim sheet As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox("Select the header row:", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox _
("Select the column on the basis of which split data:", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set sheet = xTRg.Worksheet
lr = sheet.Cells(sheet.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = sheet.Columns.Count
sheet.Cells(1, icol) = "Unique"
Application.DisplayAlerts = False
If Not Evaluate("=ISREF('xTRgWs_Sheet!A1')") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
Else
Sheets("xTRgWs_Sheet").Delete
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets("xTRgWs_Sheet")
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range("A1")
sheet.Activate
For i = (titlerow + xTRg.Rows.Count) To lr
On Error Resume Next
If sheet.Cells(i, vcol) <> "" And Application.WorksheetFunction. _
Match(ws.Cells(i, vcol), sheet.Columns(icol), 0) = 0 Then
sheet.Cells(sheet.Rows.Count, icol).End(xlUp).Offset(1) = sheet.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(sheet.Columns(icol). _
SpecialCells(xlCellTypeConstants))
sheet.Columns(icol).Clear
For i = 2 To UBound(myarr)
sheet.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
Sheets(myarr(i) & "").Paste Destination:=Sheets(myarr(i) & "").Range("A1")
sheet.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr) _
.EntireRow.Copy Sheets(myarr(i) & "").Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
sheet.AutoFilterMode = False
sheet.Activate
Application.DisplayAlerts = True
End Sub
Here, Splitsheet() is the Sub procedure name and the variables lr , sheet , vcol , i , icol , myarr , title , titlerow , xTRg , xVRg , xWSTRg are declared as different data types by using the Dimension parameter.
Here, multiple IF and FOR loops have been used for splitting up the sheet into multiple sheets.
➤Press F5
Select the header row: Dialog Box will open up.
➤Select the range of the header row and Press OK .
Then Select the column on the basis of which split data: Wizard will pop up.
➤Select the Student Name column OK を押します .
Result :
Finally, you will get the three sheets for Daniel Defoe , Henry Jackson, and Donald Paul like below.
Here we have used the paste destination at the A1 cell, that’s why split data are started from that cell.
続きを読む: How to Split a Workbook to Separate Excel Files with VBA Code
練習セクション
For doing practice by yourself we have provided a Practice section like below in a sheet named Practice . Please do it by yourself.
結論
In this article, I tried to cover the easiest ways to split an Excel sheet into multiple sheets based on column value in Excel effectively. Hope you will find it useful. If you have any suggestions or questions feel free to share them with us.
参考文献
- Split Sheets into Separate Workbooks in Excel (4 Methods)
- How to Open Two Excel Files Separately (5 Easy Methods)
- Open Multiple Excel Files in One Workbook (4 Easy Ways)
- How to View Excel Sheets in Separate Windows (4 Methods)
-
Excel でセルの値に基づいて 1 行おきに色を付ける方法
Excel でセルの値に基づいて行を 1 行おきに色付けする方法を学ぶ必要があります ?大きなデータシートで作業する場合、行の色を交互にする必要があります データセットをよりよく視覚化します。そのようなユニークな種類のトリックを探しているなら、あなたは正しい場所に来ました.ここでは、10 について説明します Excel のセル値に基づいて行の色を交互に変更する簡単で便利な方法。 次の Excel ワークブックをダウンロードして、理解を深め、練習してください。 Excel でセル値に基づいて代替行に色を付ける 10 の方法 アプローチを実証するために、Daily Sales- Fruits
-
Excel で複数の CSV ファイルを 1 つのワークブックに結合する方法
エクセル 大規模なデータセットを処理するために最も広く使用されているツールです。 Excel では、多次元の無数のタスクを実行できます .この記事では、複数の CSV ファイルを 1 つの Excel ワークブックに結合する方法について説明します。 Excel で複数の CSV ファイルを 1 つのワークブックに結合する 3 つの簡単な方法 CSV ファイルは Comma Separated Values を表します ファイル。 エクセル CSV の表形式でデータを保存します ファイル。これらのファイルは、コンピューターのスペースをあまり消費しません。 2 つの CSV を含むフォルダ