在製作Excel表格時,經常需要將相同內容的單元格進行合併,本篇文章分享3種快速批量合併相同內容單元格的方法。
下圖為待處理的數據源
方法一:使用分類匯總
合併A列中相同內容的單元格
步驟1:選中A列數據區域,點擊數據—分類匯總,單擊確定。
得到結果如下:
步驟2:從A2單元格開始向下選中A列數據區域,按Ctrl+H鍵,調出定位對話框,在對話框中選擇空值,選中空值單元格區域,點擊開始—合併後居中,合併空值單元格。
合併結果如下:
步驟3:選中B列數據,點擊數據—分類匯總,在「分類匯總」對話框中,點擊「全部刪除」。
刪除結果如下:
步驟4:選中A列數據,使用格式刷將A列格式複製到B列,刪除A列數據。
最終結果如下:
方法二:使用數據透視表
步驟1:選中數據區域,點擊插入—數據透視表,調出「數據透視表」對話框,點擊確定。
步驟2:將欄位小組、姓名、工號、性別、業務能力分類依次添加到行標籤,銷量、銷售額添加到值標籤;右鍵點擊任一數據透視表所在單元格,選擇數據透視表選項,在打開的對話框的顯示頁面下,勾選經典布局;點擊設計-分類匯總,取消分類匯總顯示。
得到如下數據透視表:
步驟3:右鍵點擊任一數據透視表所在單元格,選擇數據透視表選項,打開「數據透視表選項」對話框,點擊「布局和格式」,勾選「合併且居中排列帶標籤的單元格」。
得到下表:
步驟4:選中整個工作表將數據粘貼為值。
最終結果如下:
方法三:使用vba代碼
步驟1:點擊開發工具—插入—插入命令按鈕控制項,並將控制項標題修改為「縱向合併」。
步驟2:右鍵點擊命令按鈕,選擇查看代碼,打開VBA編輯器,在代碼窗口輸入以下代碼:
Private Sub CommandButton1_Click()
Dim a%, b%
Dim n As Long
n = Selection.Rows.Count '選中區域的行數
a = Selection.Row '選中區域的起始行
b = Selection.Column '選中區域的起始列
Application.DisplayAlerts = False '禁用警告提示
For i = a + n - 1 To a + 1 Step -1 '從選中區域的最後一個單元格向上循環
If Cells(i - 1, b) = Cells(i, b) Then '若當前單元格內容與上一個單元格內容相同,則
Range(Cells(i - 1, b), Cells(i, b)).Merge '合併當前單元格和上一個單元格
End If
Next
Application.DisplayAlerts = True '恢復警告提示
End Sub
結果展示: