您可以将一列数据移至单个单元格,并用逗号分隔列中的值吗?有点像将文本反转为列。
例如,
1
2
3
4
5
在1,2,3,4,5
单个单元格中。
答案1
使用用户定义函数比逐个单元格进行硬编码更加灵活
使用新公式,例如 D6 单元格快照中的公式
=ConCat(A1:A5)
您可以使用更复杂的公式,例如 D7
=ConCat(A1:A5,A7:A24)
或 D8 中的 2D公式
=concat(A1:B5,A7:A24)
Function ConCat(ParamArray rng1()) As String
Dim X
Dim strOut As String
Dim strDelim As String
Dim rng As Range
Dim lngRow As Long
Dim lngCol As Long
Dim lngCnt As Long
strDelim = ", "
For lngCnt = LBound(rng1) To UBound(rng1)
If TypeOf rng1(lngCnt) Is Range Then
If rng1(lngCnt).Cells.Count > 1 Then
X = rng1(lngCnt).Value2
For lngRow = 1 To UBound(X, 1)
For lngCol = 1 To UBound(X, 2)
strOut = strOut & (strDelim & X(lngRow, lngCol))
Next
Next
Else
strOut = strOut & (strDelim & rng2.Value)
End If
End If
Next
ConCat = Right$(strOut, Len(strOut) - Len(strDelim))
End Function
答案2
首先,
=concatenate(A1,",")
在您有值的列旁边的下一列中。
其次,复制整列并转到另一张表执行选择性粘贴->转置。
- 第三,复制刚刚得到的值,打开一个word文档,然后选择粘贴选项->选择“A”,
- 最后,将 word 文档中的所有内容复制回 excel 工作表中的单元格,您将在一个单元格中获得所有值
答案3
您可以使用连接功能并在单元格和字符串之间交替","
:
=CONCATENATE(A1,",",A2,",",A3,",",A4,",",A5)
答案4
很棒的回答,karthikeyan。我也不想在 VB 上浪费时间,甚至不想退出 Ctrl+H。这是最简单的,我正在这样做。
- 在顶部插入新行(A)。
- 在数字 1 的正上方(即 A1 上),输入等号 (=)。
- 将逗号 (,) 从 B1 复制/粘贴到 B23(而不是 B24)。
- 选择 A1 到 B24,在记事本中复制/粘贴。
- 在记事本中按(全选)Ctrl+A,按(复制)Ctrl+C,然后单击 Excel 中的单个单元格(F2),然后按(粘贴)Ctrl+V。