Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

列の値に基づいて Excel シートを複数のシートに分割する方法

Excel シートを複数のシートに分割する最も簡単な方法を探している場合 列の値に基づいている場合は、この記事が役に立ちます。

列に基づいて大量のデータ セットを分割し、メイン シートを分割した後に複数のシートで作業することが必要になる場合があります。この仕事を効果的に行う方法を知るために、記事に飛び込みましょう。

ワークブックをダウンロード

列の値に基づいて Excel シートを複数のシートに分割する 5 つの方法

大学のさまざまな学生の結果を含む次のデータ テーブルを使用します。 Student Name 列に基づいて、このシートを 3 つのシートに分割します。

この目的のために、 Microsoft Excel 365 を使用しています バージョンですが、ご都合に合わせて他のバージョンを使用できます。

列の値に基づいて Excel シートを複数のシートに分割する方法

方法-1 :列の値に基づいてシートを複数のシートに分割する FILTER 関数

Student Name に基づいてデータシートを複数のシートに分割する場合 の場合、FILTER 関数を使用できます .ここでは、次のシートを Daniel Defoe のデータを含む 3 つのシートに分割します。 、ヘンリー ジャクソンドナルド ポール

列の値に基づいて Excel シートを複数のシートに分割する方法

ステップ-01 :
➤ 3 人の生徒の名前にちなんで名付けられた 3 枚のシートを作成します。
B3 などのセルを選択します 生徒のシート Daniel Defoe .

列の値に基づいて Excel シートを複数のシートに分割する方法

➤次の式を入力してください

=FILTER(Filter!B5:D16,Filter!B5:B16="Daniel Defoe")

フィルタ!B5:D16 Filter という名前のメイン シートのヘッダーのないデータ範囲です。 および Filter!B5:B16 学生名 の範囲です メイン シートでは 「Daniel Defoe」 と同じになります。 .

列の値に基づいて Excel シートを複数のシートに分割する方法

ENTER を押します
ここで、生徒 Daniel Defoe のデータを取得します。

列の値に基づいて Excel シートを複数のシートに分割する方法

➤すべての列の上にヘッダー名を入力して、このデータ テーブルの境界線を作成しましょう。

列の値に基づいて Excel シートを複数のシートに分割する方法

ステップ-02 :
Step-01 に従った後 学生の Henry Jackson の他の 2 つのシートのこのメソッドの と ドナルド ポール 次の 2 つの表がそれぞれのシートに表示されます。

列の値に基づいて Excel シートを複数のシートに分割する方法
列の値に基づいて Excel シートを複数のシートに分割する方法

続きを読む: Excel VBA:行に基づいてシートを複数のシートに分割

方法-2 :列の値に基づいてシートを複数のシートに分割するピボット テーブル

学生名列に基づいて、次のシートを 3 人の学生用に 3 つのシートに分割できます。 ピボット テーブルを使用して .

列の値に基づいて Excel シートを複数のシートに分割する方法

ステップ-01 :
挿入 に移動 タブ>>ピボットテーブル オプション

列の値に基づいて Excel シートを複数のシートに分割する方法

テーブルまたは範囲からのピボットテーブル ダイアログボックスが表示されます。
テーブル/範囲を選択
新しいワークシートをクリックします (ピボット テーブルを配置することをお勧めします 新しいシートに)
OK を押します

列の値に基づいて Excel シートを複数のシートに分割する方法

その後、2 つの部分を持つ新しいシートが開きます。 ピボットテーブル 1 およびピボットテーブル フィールド .

列の値に基づいて Excel シートを複数のシートに分割する方法

学生名を下にドラッグします フィルタで エリア (メイン シートを複数のシートに分割する際の基準となる任意の列) と 件名 等級

列の値に基づいて Excel シートを複数のシートに分割する方法

デザイン に移動 タブ>>レイアウト グループ>>レポート レイアウト ドロップダウン>>アウトライン形式で表示 オプション

列の値に基づいて Excel シートを複数のシートに分割する方法

デザインに従う タブ>>レイアウト グループ>>総計 ドロップダウン>>行と列はオフ オプション。

列の値に基づいて Excel シートを複数のシートに分割する方法

➤ 次に ピボットテーブル分析 に移動します タブ>>ピボットテーブル グループ>>オプション ドロップダウン>>レポート フィルタ ページを表示 オプション。

列の値に基づいて Excel シートを複数のシートに分割する方法

次に レポート フィルタ ページの表示 ウィザードがポップアップします。
➤ [学生名] 列を選択します。 フィルタ にありました 範囲。
OK を押します .

列の値に基づいて Excel シートを複数のシートに分割する方法

結果 :
その後、3 人の生徒用に 3 枚の異なるシートを受け取ります Daniel Defoeヘンリー ジャクソン、ドナルド ポール

列の値に基づいて Excel シートを複数のシートに分割する方法
列の値に基づいて Excel シートを複数のシートに分割する方法
列の値に基づいて Excel シートを複数のシートに分割する方法

続きを読む: 行に基づいて Excel シートを複数のシートに分割

方法-3 :テーブル オプションの使用

Student Name 列に基づいてメイン シートを複数のシートに分割する場合 を使用できます オプション。

列の値に基づいて Excel シートを複数のシートに分割する方法

ステップ-01 :
➤ 3 人の生徒の名前にちなんで名付けられた 3 枚のシートを作成します。
➤メイン シートからデータ テーブルをコピーし、これら 3 つの異なるシートに貼り付けます。

列の値に基づいて Excel シートを複数のシートに分割する方法

ステップ-02 :
挿入 に移動 タブ>>テーブル オプション

列の値に基づいて Excel シートを複数のシートに分割する方法

次に テーブルの作成 ダイアログボックスが表示されます。
データを選択 テーブルの .
My table has headers をクリックします
OK を押します

列の値に基づいて Excel シートを複数のシートに分割する方法

次に、次のテーブルが作成されます。

列の値に基づいて Excel シートを複数のシートに分割する方法

テーブル デザイン に移動 タブ>>ツール ドロップダウン>>スライサーを挿入 オプション

列の値に基づいて Excel シートを複数のシートに分割する方法

その後 スライサーを挿入 ダイアログボックスがポップアップします。
学生名列を選択します (シートを分割する基になる列)
OK を押します .

列の値に基づいて Excel シートを複数のシートに分割する方法

その後、 生徒の名前 3 つのオプション (3 つの学生名) を含むボックスが表示されます

列の値に基づいて Excel シートを複数のシートに分割する方法

Daniel Defoe をクリックします。 この学生のシートのために。

結果 :
生徒 Daniel Defoe のデータを取得します。

列の値に基づいて Excel シートを複数のシートに分割する方法

ステップ-03 :
Step-02 に従う 残りの 2 枚のシート。
このようにして、Henry Jackson の他の 2 つのシートを作成します。 と ドナルド ポール 以下のように。

列の値に基づいて Excel シートを複数のシートに分割する方法
列の値に基づいて Excel シートを複数のシートに分割する方法

続きを読む: Excel シートを複数のファイルに分割する方法 (3 つの簡単な方法)

類似の読み物

  • Excel で画面を分割する方法 (3 つの方法)
  • [修正:] Excel の並べて表示が機能しない
  • Excel で縦方向に並べて表示する方法

方法-4 :フィルター オプションの使用

Student Name 列に基づいてメイン シートを複数のシートに分割する場合 フィルタを使用します このメソッドのオプション。

列の値に基づいて Excel シートを複数のシートに分割する方法

ステップ-01 :
➤ 3 人の生徒の名前にちなんで名付けられたシートを 3 枚作成します。
➤メイン シートからデータ テーブルをコピーし、これら 3 つの異なるシートに貼り付けます。

列の値に基づいて Excel シートを複数のシートに分割する方法

ステップ-02 :
➤データテーブルを選択
データ に移動 タブ>>フィルタ オプション

列の値に基づいて Excel シートを複数のシートに分割する方法

次に、 フィルタ このデータ テーブルのオプションが有効になります。
ドロップダウン をクリックします。 sign in the Student Name column .

列の値に基づいて Excel シートを複数のシートに分割する方法

➤Select the name Daniel Defoe for this sheet and Press OK .

列の値に基づいて Excel シートを複数のシートに分割する方法

Result :
Afterward, you will get the data for the student Daniel Defoe in the sheet for this student.

列の値に基づいて Excel シートを複数のシートに分割する方法

ステップ-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.

列の値に基づいて Excel シートを複数のシートに分割する方法
列の値に基づいて Excel シートを複数のシートに分割する方法

続きを読む: 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.

列の値に基づいて Excel シートを複数のシートに分割する方法

ステップ-01 :
➤Go to Developer Tab>>Visual Basic Option

列の値に基づいて Excel シートを複数のシートに分割する方法

Then, the Visual Basic Editor will open up.
➤Go to Insert Tab>> Module Option

列の値に基づいて Excel シートを複数のシートに分割する方法

After that, a Module will be created.

列の値に基づいて Excel シートを複数のシートに分割する方法

ステップ-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.

列の値に基づいて Excel シートを複数のシートに分割する方法

➤Press F5

Select the header row: Dialog Box will open up.
➤Select the range of the header row and Press OK .

列の値に基づいて Excel シートを複数のシートに分割する方法

Then Select the column on the basis of which split data: Wizard will pop up.
➤Select the Student Name column OK を押します .

列の値に基づいて Excel シートを複数のシートに分割する方法

Result :
Finally, you will get the three sheets for Daniel Defoe , Henry Jackson, and Donald Paul like below.

列の値に基づいて Excel シートを複数のシートに分割する方法
列の値に基づいて Excel シートを複数のシートに分割する方法
列の値に基づいて Excel シートを複数のシートに分割する方法

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.

列の値に基づいて Excel シートを複数のシートに分割する方法

結論

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)

  1. Excel でセルの値に基づいて 1 行おきに色を付ける方法

    Excel でセルの値に基づいて行を 1 行おきに色付けする方法を学ぶ必要があります ?大きなデータシートで作業する場合、行の色を交互にする必要があります データセットをよりよく視覚化します。そのようなユニークな種類のトリックを探しているなら、あなたは正しい場所に来ました.ここでは、10 について説明します Excel のセル値に基づいて行の色を交互に変更する簡単で便利な方法。 次の Excel ワークブックをダウンロードして、理解を深め、練習してください。 Excel でセル値に基づいて代替行に色を付ける 10 の方法 アプローチを実証するために、Daily Sales- Fruits

  2. Excel で複数の CSV ファイルを 1 つのワークブックに結合する方法

    エクセル 大規模なデータセットを処理するために最も広く使用されているツールです。 Excel では、多次元の無数のタスクを実行できます .この記事では、複数の CSV ファイルを 1 つの Excel ワークブックに結合する方法について説明します。 Excel で複数の CSV ファイルを 1 つのワークブックに結合する 3 つの簡単な方法 CSV ファイルは Comma Separated Values を表します ファイル。 エクセル CSV の表形式でデータを保存します ファイル。これらのファイルは、コンピューターのスペースをあまり消費しません。 2 つの CSV を含むフォルダ