各位小夥伴有沒有遇到過這樣的問題:當我們把所有的信息匯總在一張表裡後,又需要將這張大表按某一條件再拆分成多個工作表。那怎麼才能實現呢?可能最笨的方法就是在原工作表篩選數據然後複製粘貼到新工作表,不過這種方法不適合數據多的案例,並且新工作表也需要一一重命名,顯得繁瑣。今天就給大家介紹兩種快捷實用的工作表拆分方法。
如圖,現在要把這個工作表的內容按城市拆分成多個工作表。
第1種:極速拆分——VBA(文中提供有代碼)
VBA是EXCEL處理大量重複工作最好用的工具。不過很多人對VBA一竅不通,所以今天給大家分享一段代碼,並且詳細解釋了如何根據實際表格修改代碼值,方便大家在工作中使用。
(1)按住Alt+F11打開VBA編輯器,點擊「插入」菜單下的「模塊」。
(2)在右側代碼窗口輸入下列代碼。不想動手輸入的可以加群下載已經準備好的代碼文件,直接複製粘貼即可。
Sub拆分表()
Dim i, iRow, iCol, t, iNum As Integer, sh As Worksheet, str As String
Application.ScreenUpdating = False
With Worksheets("Sheet1")
iRow = .Range("A65535").End(xlUp).Row
iCol = .Range("IV1").End(xlToLeft).Column
t = 3
For i = 2 To iRow
str = .Cells(i, t).Value
On Error Resume Next
Set sh = Worksheets(str)
If Err.Number 0 Then
Set sh = Worksheets.Add(, Worksheets(Worksheets.Count))
sh.Name = str
End If
sh.Range("A1").Resize(1, iCol).Value = .Range("A1").Resize(1, iCol).Value
iNum = sh.Range("A" & Rows.Count).End(xlUp).Row
sh.Range("A" & iNum + 1).Resize(1, iCol).Value = .Range("A" & i).Resize(1, iCol).Value
Next i
End With
Application.ScreenUpdating = True
End Sub
代碼解析:
(3)代碼輸入完成後,點擊菜單欄裡的「運行子過程」。這樣工作表就拆分完成了。
完成如下:
這樣就通過這種方式一鍵完成工作表拆分了。
第2種:常規拆分——數據透視表
數據透視表真的非常好用,它不僅在數據統計分析上擁有絕對的優勢,而且利用篩選頁也可以幫助我們實現拆分工作表的功能。步驟如下:
(1)選擇數據源任一單元格,單擊插入選項卡下的「數據透視表」。位置選擇現有工作表,單擊確定。
(2)把要拆分的欄位「城市」放到篩選欄位,「日期」「業務員」欄位放在行欄位,「銷售額」放在值欄位。
(3)修改數據透視表格式,便於在生成新工作表的時候形成表格格式。
選擇「數據透視表工具」下方「設計」選項卡裡的「報表布局」下拉菜單的「以表格形式顯示」。
選擇「數據透視表工具」下方「設計」選項卡裡的「報表布局」下拉菜單的「重複所有項目標籤」。
選擇「數據透視表工具」下方「設計」選項卡裡的「分類匯總」下拉菜單的「不顯示分類匯總」。
完成結果如下:
(4)最後把透視表拆分到各個工作表。選擇「數據透視表工具」下方「分析」選項卡「數據透視表」功能塊裡的「選項」下拉菜單的「顯示報表篩選頁」,選定要顯示的報表篩選頁欄位為「城市」。
(5)為了方便後續處理,把數據透視表修改成普通表格。選擇第一個工作表 「北京」,按住Shift,點擊最後一個工作表「重慶」,形成工作表組。這樣就能批量對所有工作表進行統一操作。
全選複製粘貼為值。
刪除前兩行,再把日期這列列寬調整一下就完成了。結果如下:
數據透視表這種方法比較容易上手,但是步驟比較多,而VBA操作簡單,但需要學習的東西很多。大家根據自己實際情況選擇使用,如果有什麼疑問或妙招,一起交流學習!
****部落窩教育-excel快速拆分技巧****
原創:夏雪/部落窩教育(未經同意,請勿轉載)