Excel 教程:組合列、行、單元格
組合列、行或單元格在我們日常的 Excel 工作中經常用到,比如將兩列中的名字和姓氏組合成一列得到全名,將基於相同 ID 的行組合併求和對應的值,組合將一系列單元格合併為一個單元格,依此類推。 本教程列出了在 Excel 中組合列/行/單元格的所有場景,並為您提供了不同的解決方案。
本教程的導航 |
1 將列/行合併到一個單元格中1.12 使用CONCATENATE函數(Excel 2016或更早版本) |
2.合併具有相同ID的行 |
3. 合併單元格3.12 使用CONCATENATE函數(Excel 2016或更早版本) |
在本教程中,我創建了一些示例來解釋方法,您可以在使用下面的 VBA 代碼或公式時更改您需要的參考,或者您可以直接下載示例來嘗試方法。
1 將列/行合併到一個單元格中
將列或行組合到一個單元格中,並用逗號、空格或其他分隔符分隔結果,如下圖所示,在 Excel 中使用最廣泛。
將列合併為一個單元格 |
![]() |
將行合併為一個單元格 |
![]() |
在 Excel 中,與符號 & 通常用於連接文本。
示例:將名字(A 列)和姓氏(B 列)組合成全名
選擇要放置組合結果的單元格,然後鍵入如下公式:
=A2&" "&B2
公式中&用於連接文本,A2和B2是需要合併的兩個文本,“”是結果單元格中分隔兩個文本的分隔符(空格),如果要使用逗號作為分隔符,只需鍵入用雙引號“,”括起來的逗號。
媒體推介 Enter 鍵獲取組合結果,然後向下拖動自動填充手柄以獲取組合結果。
示例:將編號(第 15 行)和名稱(第 16 行)合併到一個單元格中
如果要將行合併為一個單元格,請根據需要更改公式中的單元格引用和分隔符,並將自動填充手柄向右拖動以獲得合併結果。
1.12 使用CONCATENATE函數(Excel 2016或更早版本)
如果您使用的是 Excel 2016 或更早版本,CONCATENATE 函數可以為您提供幫助。
CONCATENATE 的語法 |
CONCATENATE (text1,[text2],…) |
有關 CONCATENATE 函數的更多詳細信息,請訪問: CONCATENATE.
示例:將名稱(F 列)和地址(G 列)合併為一列
選擇要放置組合結果的單元格,然後鍵入如下公式:
=連接(F2,",",G2)
公式中,F2和G2是需要合併的兩個文本,“,”是結果單元格中兩個文本的分隔符(逗號),如果要使用空格作為分隔符,只需輸入一個空格即可用雙引號“”括起來。
媒體推介 Enter 鍵獲取組合結果,然後向下拖動自動填充手柄以獲取組合結果。
對於組合行,只需根據需要更改單元格引用和分隔符,然後將自動填充手柄拖動到右側。
1.13 使用 CONCAT 函數或 TEXTJOIN 函數(Excel 2019 或 Excel 365)
如果您使用 Excel 2019 或 Excel 365,CONCAT 函數和 TEXTJOIN 函數可能是更好的選擇。
關於 CONCAT 的語法 |
CONCAT (text1,[text2],…) |
有關 CONCAT 函數的更多詳細信息,請訪問: 康卡特.
CONCAT函數的用法與CONCATENATE函數相同,將兩列中的名字和姓氏分別合併為一列,公式使用如下:
=CONCAT(A21," ",B21)
公式中,A21和B21是需要合併的兩個文本,“”是結果單元格中兩個文本的分隔符(空格),如果要使用其他分隔符,只需鍵入用double括起來的分隔符即可引號“”。
按 Enter 鍵獲取組合結果,然後向下拖動自動填充手柄以獲取組合結果。
與合併列不同,合併行時,輸入第一個公式後,需要將自動填充手柄向右拖動,直到得到所有合併結果。
關於 TEXTJOINT 的語法 |
TEXTJOIN (delimiter, ignore_empty, text1, [text2], ...) |
有關 TEXTJOIN 函數的更多詳細信息,請訪問: 文字加入.
使用 TEXTJOIN 組合列或行:
=TEXTJOIN(",",TRUE,E21:G21))
公式中,E21:G21 是一個需要合併的連續範圍。 “”是分隔結果單元格中兩個文本的分隔符(空格),如果要使用其他分隔符,只需鍵入用雙引號“”括起來的分隔符。 邏輯文本“TRUE”表示在合併時忽略空單元格,如果要與空格合併,請將TRUE替換為FALSE。
按 Enter 鍵獲取組合結果,然後向下拖動自動填充手柄以獲取組合結果。
忽略空格 |
![]() |
包括空格 |
![]() |
1.使用記事本也可以實現合併列(對合併行沒有影響)。
選擇要將列合併為一個的範圍,然後按 按Ctrl + C 鍵複製範圍。
2。 打開一個 記事本,然後按 按Ctrl + V 粘貼複製的範圍。
3. 在記事本中選擇兩個文本之間的選項卡,然後按 按Ctrl + H 啟用 更換 功能,標籤符號已放置在 查找內容 文本框。
4。 在裡面 更換 文本框,鍵入要分隔組合文本的分隔符,然後單擊 “全部替換”。 然後關閉 更換 對話。
5. 現在選擇記事本中的文本,然後按 按Ctrl + C 複製它們,然後轉到 Excel,選擇一個單元格並按 按Ctrl + V 粘貼組合結果。
如果您想將列或行組合成一個帶有換行符的單元格,如下圖所示:
首先,你應該意識到在 Excel 中, 字符() 函數可用於指定難以在公式中輸入的字符,例如 CHAR(10) 返回一個換行符。
然後在上面列出的公式中使用 CHAR(10) 來組合列或行,並以換行符作為分隔符:
& 符號:
=A49&CHAR(10)&B49
連接函數:
=CONCATENATE(A49,CHAR(10),B49)
CONCAT功能
=CONCAT(A49,CHAR(10),B49)
TEXTJOIN函數
=TEXTJOIN(CHAR(10),TRUE,A49:B49)
在上面輸入公式後,選擇結果,然後點擊 首頁
> 自動換行.
現在,這些列合併為一個並由換行符分隔。
如果您只想將一列中的行合併到一個單元格中,Excel 中的對齊功能可以幫助您。 選擇具有多行的列,然後單擊 首頁
> 填 > 辯解,然後這些行將組合到範圍的頂部單元格中,並以空格作為分隔符。
![]() |
![]() |
在這一部分中,教程介紹了將列或行合併為一個單元格並跳過空單元格的方法,如下圖所示:
1.21 使用 TEXTJOIN 函數(Excel 2019 或 Excel 365)
如果您使用的是 Excel 2019 或 Excel 365,幸運的是,新功能 TEXTJOIN 可以輕鬆解決這項工作。
CONCATENATE 的語法 |
TEXTJOIN (delimiter, ignore_empty, text1, [text2], ...) |
有關 TEXTJOIN 函數的更多詳細信息,請訪問: 文字加入.
示例:將姓名(A 列)和編號(B 列)和域(C 列)組合到一個單元格中,生成一個電子郵件地址,有些編號可能為空。
選擇一個用於放置組合結果的單元格,輸入公式如下:
=TEXTJOIN("",TRUE,A2:C2)
在公式中,A2:C2 是包含需要合併的文本的範圍,“”是分隔結果單元格中兩個文本的分隔符(無),如果要使用分隔符來分隔文本,只需鍵入用雙引號“”括起來的分隔符,例如“,”。 邏輯文本“TRUE”表示在合併時忽略空單元格,如果要與空格合併,請將TRUE替換為FALSE。
媒體推介 Enter 鍵獲得第一個結果,然後根據需要向下或向右拖動自動填充手柄以生成所有結果。
如果您使用的是 Excel 2016 或更早的 Excel 版本,請使用 & 符號將文本一一連接並手動跳過空白。
選擇要放置組合結果的單元格,然後鍵入如下公式:
=A10&C10
公式中 & 用於連接文本,A10 和 C10 是需要合併的兩個文本,如果要使用逗號作為分隔符,只需鍵入一個用雙引號括起來的逗號,如“,”,然後使用& 連接兩個文本。
媒體推介 Enter 獲得組合結果的關鍵。 然後更改公式的引用以獲得下一個組合結果。
對於 Excel 2016 及更早版本的 Excel 用戶,如果有多個列或行需要合併,同時跳過空白,您可以使用 VBA 創建一個定義函數來快速解決這個工作。
1。 按 其他 + F11 啟用 Microsoft Visual Basic for Applications 窗口。
2。 點擊 插入 > 模塊 插入一個新模塊。
3. 將以下代碼複製並粘貼到新模塊並保存。
VBA:組合單元格跳過空單元格
Function Concatenatecells(ConcatArea As Range) As String
'updateby Extendoffice
For Each n In ConcatArea: nn = IIf(n = "", nn & "", nn & n & "_"): Next
Concatenatecells = Left(nn, Len(nn) - 1)
End Function
4.返回工作表,選擇一個放置組合結果的單元格,輸入公式
=Concatenatecells(A15:C15)
在公式中,A15:C15 是包含需要合併的文本的範圍。 在 VBA 代碼中,“_”表示用於分隔組合結果中文本的分隔符,您可以根據需要更改分隔符。
如果你已經安裝 Kutools for Excel 在 Excel 中, 合併行,列或單元格而不會丟失數據 功能對各種組合工作很有幫助。
1. 選擇要合併的單元格和要放置合併結果的單元格。
2。 點擊 庫工具 > 合併與拆分 > 合併行,列或單元格而不會丟失數據.
3. 在彈出的對話框中,指定如下選項:
1)指定合併列,或合併行,或將所有單元格合併為一個。
合併列例如。 | 合併行 例如。 | 組合成單個單元格,例如。 |
![]() |
![]() |
![]() |
2) 指定組合結果中文本的分隔符。
3) 指定組合結果的位置(選擇組合成單個單元格選項時禁用)
選擇“合併列”選項時,您可以指定將結果放置在所選範圍的左側單元格中,或者將結果放置在所選範圍的右側單元格中。
左單元格 例如。 | 右單元格 |
![]() |
![]() |
選擇時 合併行 選項,您可以指定將結果放置在所選範圍的頂部單元格中,或所選範圍的底部單元格中。
頂部單元格 | 底部單元格 |
![]() |
![]() |
4) 指定關於合併結果的操作。
4。 點擊 Ok or 登記 完成組合。
保留合併單元格的內容 |
![]() |
刪除合併單元格的內容 |
![]() |
;合併合併的單元格 |
![]() |
有關此功能的更多詳細信息,請訪問 合併列、行、單元格而不丟失數據.
有關 Kutools for Excel 的更多詳細信息,請訪問 Kutools for Excel.
對於 Kutools for Excel 的 30 天免費試用,請 下載 現在。
有時,如果其中一列包含空白單元格,您可能希望合併兩列。 假設有兩列,A列包含用戶名和一些空白單元格,B列包含名稱,現在只需將兩列合併時將A列中的空白單元格與B列中的相應內容填充,如下圖所示:
IF 函數用於測試特定條件。 在這裡您可以使用 IF 函數來測試單元格是否為空白,然後用另一列中的內容填充空白。
IF 函數的語法 |
IF (logical_test, [value_if_true], [value_if_false]) |
有關 IF 功能的更多詳細信息,請訪問: IF
選擇要放置組合結果的列的頂部單元格,然後復製或輸入以下公式:
=IF(A2="",B2,A2)
然後按 Enter 鍵獲取第一個結果,然後向下拖動自動填充手柄以獲取所有結果。
現在只有 A 列中的空白單元格被 B 列中的內容填充了。
這是一個VBA代碼也可以處理這個工作。
1。 按 其他 + F11 啟用 Microsoft Visual Basic for Applications 窗口,然後單擊 插入 > 模塊 創建一個新的空白模塊。
2. 將以下代碼複製並粘貼到新模塊中。
VBA:如果空白則合併兩列
Sub MergebyBlank()
'UpdatebyExtendoffice20220506
Dim xRg1, xRg2, xRgUser As Range
Dim xRg As Range
Dim xWsh As Worksheet
Dim xCount, xFNum As Integer
Set xRg1 = Range("A:A")
Set xRg2 = Range("B:B")
Set xWsh = xRg1.Worksheet
Set xRgUser = xWsh.UsedRange
Set xRg1 = Intersect(xRgUser, xRg1)
Set xWsh = xRg2.Worksheet
Set xRgUser = xWsh.UsedRange
Set xRg2 = Intersect(xRgUser, xRg2)
xCount = xRg1.Count
If (xCount > xRg2.Count) Then
xCount = xRg2.Count
End If
For xFNum = 1 To xCount
If (xRg1.Item(xFNum).Value = "") Then
If (xRg2.Item(xFNum).Value <> "") Then
xRg1.Item(xFNum).Value = xRg2.Item(xFNum).Value
End If
ElseIf (xRg2.Item(xFNum).Value = "") Then
If (xRg1.Item(xFNum).Value <> "") Then
xRg2.Item(xFNum).Value = xRg1.Item(xFNum).Value
End If
End If
Next
End Sub
在代碼中,A:A 和 B:B 是將要合併的兩列,只需根據需要更改它們即可。
3.然後按 F5 鍵或單擊 跑 按鈕,則如果 A 列中的值為空,則 A 列將填充 B 列中的值。
2 合併具有相同ID的行
假設有一個包含多列的表,其中一列包含具有重複項的 ID 值。 現在教程提供了基於相同ID組合表的行並進行一些計算的方法。
在這一部分中,它提供了將具有相同 ID 並用逗號分隔的行組合的方法,如下圖所示:
這裡提供了一個可以處理這個工作的 VBA 代碼
1。 按 其他 + F11 啟用 Microsoft Visual Basic for Applications 窗口,然後單擊 插入 > 模塊 創建一個新的空白模塊。
2. 將以下代碼複製並粘貼到新模塊中。
VBA:組合具有相同ID的行
Sub Combine_Rows()
'UpdatebyExtendoffice20220506
Dim xRg As Range
Dim xRows As Long
Dim I As Long, J As Long, K As Long
On Error Resume Next
Set xRg = Application.InputBox("Select Range:", "Kutools For Excel", Selection.Address, , , , , 8)
Set xRg = Range(Intersect(xRg, ActiveSheet.UsedRange).Address)
If xRg Is Nothing Then Exit Sub
xRows = xRg.Rows.Count
For I = xRows To 2 Step -1
For J = 1 To I - 1
If xRg(I, 1).Value = xRg(J, 1).Value And J <> I Then
For K = 2 To xRg.Columns.Count
If xRg(J, K).Value <> "" Then
If xRg(I, K).Value = "" Then
xRg(I, K) = xRg(J, K).Text
Else
xRg(I, K) = xRg(I, K).Text & "," & xRg(J, K).Text 'here uses comma as separator, you can change it to others as you need
End If
End If
Next
xRg(J, 1).EntireRow.Delete
I = I - 1
J = J - 1
End If
Next
Next
ActiveSheet.UsedRange.Columns.AutoFit
End Sub
3.然後按 F5 鍵或單擊 跑 按鈕,然後彈出一個 Kutools for Excel 對話框供您選擇需要組合具有相同ID的行的表。
4。 點擊 OK. 現在選定的表已經根據相同的 ID 組合了行。
如果只有兩列,並且您想將具有相同 ID 的行組合在一起,並且另一列值用逗號分隔,如下面的屏幕截圖所示,IF 函數可以幫您一個忙。
1.將ID從A到Z排序。選擇ID列,點擊 數據 > 將A到Z排序.
2.然後在 排序警告 對話框,檢查 擴大 選擇選項,點擊 分類.
現在,相同的 ID 已被排序在一起。
3. 在相鄰列中,使用 IF 函數如下:
=IF(A17=A18,C17&", "&B18,B18)
式中,A17和A18為ID列相鄰的兩個單元格(A17為ID列的表頭),B18為A18單元格對應的單元格。 “,” 表示用逗號分隔值。 您可以根據需要更改引用和分隔符。
4。 按 Enter 鍵獲取第一個結果,然後向下拖動自動填充手柄以獲取所有結果。
5. 轉到相鄰列,輸入公式如下:
=IF(A18<>A19,"合併","")
公式中A18和A19為ID列中相鄰的兩個單元格,如果相鄰單元格不相等,則返回“已合併”,否則返回空。
6。 按 Enter 鍵獲取第一個結果,然後向下拖動自動填充手柄以獲取所有結果。
7. 選擇包括標題在內的最後一個公式列,然後單擊 數據 > 篩選.
8。 點擊 篩選 按鈕和勾選 合併的 下拉菜單中的複選框,單擊 OK.
現在只過濾掉了合併的行,複製過濾後的數據並將它們粘貼到另一個地方。
有關 IF 函數的更多詳細信息。 請拜訪: IF.
如果你已經安裝 Kutools for Excel 在 Excel 中, 高級合併行 可以輕鬆完成這項工作。
1. 選擇表格然後點擊 庫工具 > 合併與拆分 > 高級合併行.
2。 在裡面 高級合併行 對話框,請按以下步驟操作:
1)選擇ID列,並將其設置為 首要的關鍵;
2) 選擇要將值與分隔符組合的列,單擊 結合 並選擇一個分隔符。
3)點擊 Ok.
現在這些行已按相同的 ID 組合在一起。
高級合併行功能會破壞原始數據,請在使用前將數據保存為副本。
有關此功能的更多詳細信息,請訪問 高級合併行.
有關 Kutools for Excel 的更多詳細信息,請訪問 Kutools for Excel.
對於 Kutools for Excel 的 30 天免費試用,請 下載 現在。
如果您想組合具有相同 ID 的行,然後將值相加或進行其他計算,如下面的屏幕截圖所示,以下方法可以幫助您。
如果只有兩列,一列包含文本(ID),另一列包含需要計算的值,例如sum,Excel內置功能 整合 可以幫你一個忙。
1. 選擇要放置組合結果的單元格,然後單擊 數據 > 整合.
2。 在裡面 整合 對話框中,請執行以下操作:
1)選擇 操作功能 根據需要
2)點擊箭頭選擇表格;
3)點擊 加入 將所選範圍添加到 所有參考 清單;
4)勾選複選框 第一排 及 左欄;
5)點擊 OK.
現在該表已根據相同的 ID 求和。
這是一個 VBA,它還可以組合具有相同 ID 的行,然後對值求和。
1。 按 其他 + F11 啟用 Microsoft Visual Basic for Applications 窗口,然後單擊 插入 > 模塊 創建一個新的空白模塊。
2. 在新模塊中,將以下 VBA 代碼複製並粘貼到其中。
VBA:合併重複行並求和
Sub CombineRows()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Dic As Variant
Dim arr As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set Dic = CreateObject("Scripting.Dictionary")
arr = WorkRng.Value
For i = 1 To UBound(arr, 1)
Dic(arr(i, 1)) = Dic(arr(i, 1)) + arr(i, 2)
Next
Application.ScreenUpdating = False
WorkRng.ClearContents
WorkRng.Range("A1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.keys)
WorkRng.Range("B1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.items)
Application.ScreenUpdating = True
End Sub
3.然後按 F5 鍵或單擊 跑 按鈕,然後會彈出一個對話框選擇您使用的表,然後單擊 OK.
現在所選範圍已與相同的值組合併求和。
VBA會破壞原始數據,請在使用VBA前將數據保存為副本。
如果表中有兩列以上要合併計算,比如有三列,第一列包含重複的商品名稱,需要合併在一起,第二列包含需要合併的店鋪名稱。用逗號合併和分隔,最後一列包含需要根據第一列中的重複行求和的數字,如下圖所示,Kutools for Excel 的高級合併行可以幫助您。
1. 選擇表格然後點擊 庫工具 > 合併與拆分 > 高級合併行.
2。 在裡面 高級合併行 對話框,請按以下步驟操作:
1)選擇ID列,並將其設置為 首要的關鍵;
2) 選擇要使用分隔符組合值的列,單擊 結合 並選擇一個分隔符。
3) 選擇要計算的列,點擊 計算 並選擇一種計算。
4)點擊 Ok.
現在這些行已與相同的行合併併計算。
高級合併行功能會破壞原始數據,請在使用前將數據保存為副本。
有關此功能的更多詳細信息,請訪問 高級合併行.
有關 Kutools for Excel 的更多詳細信息,請訪問 Kutools for Excel.
對於 Kutools for Excel 的 30 天免費試用,請 下載 現在。
如果有一個包含多列的表,其中一列包含一些重複的值,現在的工作是將該列中的相鄰行與以下屏幕截圖所示的相同值組合起來。 你怎麼能解決它?
在 Excel 中,沒有可以直接解決這個工作的內置功能,但這裡提供了一個 VBA 可以處理它。
1。 按 其他 + F11 啟用 Microsoft Visual Basic for Applications 窗口,然後單擊 插入 > 模塊 創建一個新的空白模塊。
2. 在新模塊中,將以下 VBA 代碼複製並粘貼到其中。
VBA:組合具有相同值的相鄰行
Sub MergeSameCell()
'Updateby Extendoffice
Dim Rng As Range, xCell As Range
Dim xRows As Integer
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xRows = WorkRng.Rows.Count
For Each Rng In WorkRng.Columns
For i = 1 To xRows - 1
For j = i + 1 To xRows
If Rng.Cells(i, 1).Value <> Rng.Cells(j, 1).Value Then
Exit For
End If
Next
WorkRng.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Merge
i = j - 1
Next
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
3.然後按 F5 鍵或單擊 跑 按鈕啟用此 VBA,然後會彈出一個對話框選擇您使用的表,然後單擊 OK.
現在,第一列中具有相同值的相鄰行將組合在所選範圍內。
VBA會破壞原始數據,請在使用VBA前將數據保存為副本。 此 VBA 將合併所選表的第一列中的相同值。
如果你有 Kutools for Excel 安裝在 Excel 中, 合併相同的單元格 Kutools for Excel 的功能可以一步解決這項工作。
選擇要組合相同值的列,然後單擊 庫工具 > 合併與拆分 > 合併相同的單元格.
現在具有相同值的相鄰單元格已被合併。
I 如果您想取消合併合併的單元格並重新填充值,您可以應用 取消合併單元格和填充值 功能。
有關此功能的更多詳細信息,請訪問 合併相同的單元格.
有關此功能的更多詳細信息,請訪問 解除單元格.
有關 Kutools for Excel 的更多詳細信息,請訪問 Kutools for Excel.
對於 Kutools for Excel 的 30 天免費試用,請 下載 。
3 合併單元格
為了將具有多行和多列的範圍合併到一個單元格中,這裡提供了四種方法。
示例:合併範圍 A1:C3
在 Excel 中,與符號 & 通常用於連接文本。
選擇要放置組合結果的單元格,然後鍵入如下公式:
=A1&"、"&B1&"、"&C1&"、"&A2&"、"&B2&"、"&C2&"、"&A3&"、"&B3&"、"&C3
在公式中,&用於連接文本,“,”是分隔結果單元格中兩個文本的分隔符(逗號+空格),如果要使用其他分隔符,只需鍵入用雙引號括起來的分隔符即可。
媒體推介 Enter 獲得組合結果的關鍵。
3.12 使用CONCATENATE函數(Excel 2016或更早版本)
如果您使用的是 Excel 2016 或更早版本,CONCATENATE 函數可以為您提供幫助。
CONCATENATE 的語法 |
CONCATENATE (text1,[text2],…) |
有關 CONCATENATE 函數的更多詳細信息,請訪問: CONCATENATE
選擇要放置組合結果的單元格,然後鍵入如下公式:
=CONCATENATE(A1,", ",B1,", ",C1,", ",A2,", ",B2,", ",C2,", ",A3,", ",B3,", " ,C3)
在公式中,A1、B1…、C3 是要合併的文本。 “,”是分隔結果單元格中兩個文本的分隔符(逗號+空格),如果要使用其他分隔符,只需鍵入用雙引號括起來的分隔符即可。
然後按 Enter 獲得組合結果的關鍵。
3. 13 使用 CONCAT 函數或 TEXTJOIN 函數(Excel 2019 或 Excel 365)
如果您使用 Excel 2019 或 Excel 365,CONCAT 函數和 TEXTJOIN 函數可能是更好的選擇。
關於 CONCAT 的語法 |
CONCAT (text1,[text2],…) |
有關 CONCAT 函數的更多詳細信息,請訪問: 康卡特.
CONCAT 函數的用法與 CONCATENATE 函數相同,將分別在兩列中的名字和姓氏合併為一列,公式使用如下:
=CONCAT(A1,", ",B1,", ",C1,", ",A2,", ",B2,", ",C2,", ",A3,", ",B3,", " ,C3)
在公式中,A1、B1…、C3 是要合併的文本。 “,”是分隔結果單元格中兩個文本的分隔符(逗號+空格),如果要使用其他分隔符,只需鍵入用雙引號括起來的分隔符即可。
然後按 Enter 獲得組合結果的關鍵。
關於 TEXTJOIN 的語法 |
TEXTJOIN (delimiter, ignore_empty, text1, [text2], ...) |
有關 TEXTJOIN 函數的更多詳細信息,請訪問: 文字加入.
使用 TEXTJOIN 組合列或行:
=TEXTJOIN(", ",TRUE,A1:C3)
式中,A1:C3 是一個需要合併的連續範圍。 “,”是分隔結果單元格中兩個文本的分隔符(逗號+空格),如果要使用其他分隔符,只需鍵入用雙引號“”括起來的分隔符。 邏輯文本“TRUE”表示在合併時忽略空單元格,如果要與空格合併,請將TRUE替換為FALSE。
然後按 Enter 獲得組合結果的關鍵。
如果要使用換行符作為分隔符,請在公式中使用 CHAR(10),例如 =TEXTJOIN(CHAR(10),TRUE,A1:C3),然後將結果單元格格式化為 Wrap Text。
如果您在 Excel 中安裝了 Kutools for Excel,則 合併行,列或單元格而不會丟失數據 功能可以快速處理這項工作。
1. 選擇要合併為一個單元格的單元格範圍,然後單擊 庫工具 > 合併與拆分 > 合併行,列或單元格而不會丟失數據.
2.在彈出的對話框中,選中 合併成單個單元格 並根據需要指定分隔符,然後單擊 Ok.
現在這些單元格被合併到一個帶有特定分隔符的單元格中。 如果單元格內容太多而無法在合併單元格中顯示,您可以單擊 自動換行 在 首頁
選項卡以顯示它們。
有關此功能的更多詳細信息,請訪問 合併列、行、單元格而不丟失數據.
有關 Kutools for Excel 的更多詳細信息,請訪問 Kutools for Excel.
對於 Kutools for Excel 的 30 天免費試用,請 下載 現在。
將單元格轉置為一列 |
![]() |
將單元格轉置為一行 |
![]() |
如果要將單元格範圍轉換為單個列,可以命名範圍,然後使用 INDEX 函數。
1. 選擇單元格範圍,右鍵單擊啟用上下文菜單,然後單擊 定義名稱.
2.在彈出 新名字 對話框中,輸入名稱 姓名 文本框,單擊 OK.
3.命名範圍後,然後選擇一個放置轉置數據的單元格,使用INDEX函數如下:
=INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1)
有關 INDEX 功能的更多詳細信息,請訪問 這裡.
4。 按 Enter 鍵,然後向下拖動自動填充手柄以填充此公式,直到出現#REF! 出現錯誤值。
5. 去掉錯誤值,單元格區域合併為一列。
要將單元格組合成一列,這裡有一個也可以工作的 VBA。
1。 按 其他 + F11 啟用 Microsoft Visual Basic for Applications 窗口,然後單擊 插入 > 模塊 創建一個新的空白模塊。
2.將下面的VBA代碼複製並粘貼到空白模塊..
VBA:將範圍轉換為列
Sub ConvertRangeToColumn()
'UpdatebyExtendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
Rng.Copy
Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3.然後按 F5 鍵或單擊 跑 按鈕,彈出一個對話框選擇單元格範圍,單擊 OK.
4. 彈出另一個對話框選擇一個單元格來放置結果,點擊 OK.
如果要將單元格合併為一行,Excel 中沒有內置功能支持它。 但是,如果你有 Kutools for Excel 安裝,其 變換範圍 功能支持將範圍轉換為單列或單行,還支持將行或列轉換為範圍。
1. 選擇單元格範圍,然後單擊 庫工具 > 範圍 > 變換範圍.
2。 在裡面 變換範圍 對話框,檢查 範圍到單列 or 範圍到單行 根據需要選擇。 點擊 OK.
3. 彈出一個對話框選擇一個單元格來放置結果,點擊 OK.
現在單元格範圍已轉換為行或列。
有關此功能的更多詳細信息,請訪問 變換範圍.
有關 Kutools for Excel 的更多詳細信息,請訪問 Kutools for Excel.
對於 Kutools for Excel 的 30 天免費試用,請 下載 現在。
如果在具有多列的表中有一些重複項,如何將這些列堆疊成一列而沒有重複項,如下面的屏幕截圖所示?
在這一部分中,它提供了三種不同的方法來處理這項工作。
在 Excel 中,解決此工作的一般方法是逐列複製和粘貼,然後刪除重複值。
1. 選擇第一列並按 按Ctrl + C 鍵複製它,然後選擇一個目標單元格並按 按Ctrl + V 鍵。
2.然後重複步驟1複製其他列並將它們粘貼到第一列下方。
3.然後選擇堆積柱,點擊 數據 > 刪除重複項,然後在 刪除重複 對話框,檢查列名,單擊 OK.
4. 現在會彈出一個對話框,提醒您刪除重複值。 點擊 OK 關閉它,堆疊列只保留唯一值。
如果有數百列,則一一複制和粘貼非常耗時。 但是,如果你有 Kutools for Excel 安裝在 Excel 中, 變換範圍 功能可以快速將範圍轉換為列,然後應用 刪除重複項 Excel 的特點。
選擇列範圍,然後單擊 庫工具 > 範圍 > 變換範圍.
然後檢查 範圍到單列 選項,然後單擊 OK 選擇一個單元格來放置堆疊的列。
然後應用 Remove Duplicates 刪除重複值。
有關此功能的更多詳細信息,請訪問 變換範圍.
有關 Kutools for Excel 的更多詳細信息,請訪問 Kutools for Excel.
對於 Kutools for Excel 的 30 天免費試用,請 下載 現在。
此外,這裡有一個 VBA 代碼可以解決這個問題。
1。 按 其他 + F11 啟用 Microsoft Visual Basic for Applications 窗口,然後單擊 插入 > 模塊 創建一個新的空白模塊。
2. 將以下代碼複製並粘貼到新模塊中。
VBA:將列堆疊成一列而不重複
Sub FindUniques()
'UpdatebyExtendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set dic = CreateObject("Scripting.Dictionary")
For j = 1 To InputRng.Columns.Count
For i = 1 To InputRng.Rows.Count
xValue = InputRng.Cells(i, j).Value
If xValue <> "" And Not dic.Exists(xValue) Then
OutRng.Value = xValue
dic(xValue) = ""
Set OutRng = OutRng.Offset(1, 0)
End If
Next
Next
End Sub
3.然後按 F5 鍵或單擊 跑 按鈕,然後彈出一個對話框選擇需要堆疊的列,單擊確定。
4. 然後在第二個彈出對話框中,選擇一個目標單元格來放置堆疊列,然後單擊 OK.
現在,這些列已堆疊成一列,僅具有唯一值。
如果有兩列,其中一列被格式化為特殊格式,例如自定義 DateTimemm/dd/yyyy,用普通方法將這兩列合併為一列,自定義格式將被刪除,如下圖所示:
現在在這一部分中,它將提供一些組合單元格並保持格式的方法。
TEXT 函數用於將數字轉換為特定格式的文本。 在這裡,我們可以先將單元格(包含數字)轉換為格式,然後使用“&”、CONCATENATE 函數、CONCAT 函數或 TEXTJOIN 函數將其與其他單元格組合。
有關一般合併單元格的詳細信息,請返回 1.1.
關於 TEXT 函數的語法 |
TEXT (value, format_text) |
有關 TEXT 功能的更多詳細信息,請訪問 TEXT 的功能。
這里以在 CONCAT 函數中嵌入 TEXT 函數為例。
請將以下公式複制並粘貼到要放置組合結果的單元格中:
=CONCAT(TEXT(A2,"mm/dd/yyyy hh:mm")," ",B2)
在公式中,A2 是您要保留其格式的單元格,“mm/dd/yyyy hh:mm”是您使用的格式,B2 是用於合併的另一個單元格。 “”表示用空格分隔值。 您可以根據需要更改引用、格式和分隔符。
媒體推介 Enter 鍵並向下拖動自動填充手柄以使用此公式填充單元格。
1. 選擇要合併單元格的表格,然後按 按Ctrl + C 複製它們。
2.打開一個空白 Word 文件,按 按Ctrl + V 放置它們,然後單擊文檔中的表格,現在表格的右上角會出現一個十字圖標。
3。 點擊 佈局 選項卡,然後單擊 轉換為文本 在 數據 組,在彈出 將表格轉換成文字 對話框中,指定列的分隔符。 點擊 OK.
現在 Word 中表格的內容已轉換為文本。
4. 選擇轉換後的文本並按 按Ctrl + C 複製它們,然後返回 Excel 並選擇一個空白單元格,按 按Ctrl + V 粘貼組合結果。
最有效的方法必須是使用 K適用於Excel的utools“ 合併行,列或單元格而不會丟失數據 功能,只需要勾選 使用格式化的值 應用該功能時復選框,組合結果將保持數據格式。
1. 選擇包含放置結果的單元格的表格,單擊 庫工具 > 合併與拆分 > 合併行,列或單元格而不會丟失數據.
2. 在彈出的對話框中,根據需要指定合併操作,並取消勾選 使用格式化的值 複選框(默認情況下,勾選此選項)。 點擊 Ok.
現在數據已被合併並保持格式。
有關此功能的更多詳細信息,請訪問 合併列、行、單元格而不丟失數據.
有關 Kutools for Excel 的更多詳細信息,請訪問 Kutools for Excel.
如需{module745}天免費試用 Kutools for Excel,請 下載 現在。
假設有一個表格,其中包含分隔列中的年、月和日,工作是組合列並生成日期,如下圖所示:
DATE 函數用於創建帶有年、月和日的日期。
DATE 函數的語法 |
DATE( year, month, day ) |
有關 DATE 功能的更多詳細信息,請訪問 DATE 功能。
將以下公式複制並粘貼到將放置日期的單元格中:
=DATE(A2,B2,C2)
在公式中,A2、B2 和 C2 是包含年、月和日值的單元格。
媒體推介 Enter 鍵獲取第一個日期,然後向下拖動自動填充手柄以獲取所有日期。
更多 Excel 教程:
將多個工作簿/工作表合併為一個
本教程,列出了您可能遇到的幾乎所有組合場景,並為您提供了相關專業的解決方案。
拆分文本、數字和日期單元格(分成多列)
本教程分為三個部分:拆分文本單元格、拆分數字單元格和拆分日期單元格。 每個部分都提供了不同的示例,以幫助您了解在遇到相同問題時如何處理拆分作業。
在Excel中合併多個單元格的內容而不會丟失數據
本教程將提取範圍縮小到單元格中的特定位置,並收集了不同的方法來幫助在 Excel 中按特定位置從單元格中提取文本或數字。
在 Excel 中比較兩列的匹配和差異
本文涵蓋了您可能遇到的比較兩列的大多數可能場景,希望對您有所幫助。
- 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
- 合併單元格/行/列 和保存數據; 拆分單元格內容; 合併重複的行和總和/平均值...防止細胞重複; 比較範圍...
- 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
- 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
- 收藏并快速插入公式,範圍,圖表和圖片; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
- 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
- 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
- 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
- 數據透視表分組依據 週號,週幾等 顯示未鎖定的單元格 用不同的顏色 突出顯示具有公式/名稱的單元格...

- 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
- 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
- 每天將您的工作效率提高50%,並減少數百次鼠標單擊!
