E.g
A1:I
A2:am
A3:a
A4:boy
我想把它们合并成一个单元格"Iamaboy“
这个例子显示了4个单元格合并成1个单元格,但是我有很多单元格(超过100个),我不能用A1 & A2 & A3 & A4
逐个输入它们,我能做什么?
发布于 2011-11-15 20:29:36
我向您介绍我的Jean VBA函数(感谢ConcatenateRange的命名建议!)它将接受一系列单元格(任何维度、任何方向等)。并将它们合并成一个字符串。作为可选的第三个参数,您可以添加分隔符(如空格或逗号)。
在本例中,您可以编写以下代码来使用它:
=ConcatenateRange(A1:A4)
Function ConcatenateRange(ByVal cell_range As range, _
Optional ByVal separator As String) As String
Dim newString As String
Dim cell As Variant
For Each cell in cell_range
If Len(cell) <> 0 Then
newString = newString & (separator & cell)
End if
Next
If Len(newString) <> 0 Then
newString = Right$(newString, (Len(newString) - Len(separator)))
End If
ConcatenateRange = newString
End Function
发布于 2014-01-10 00:21:42
我使用CONCATENATE
方法获取列的值并用引号将它们括起来,以便快速填充WHERE IN ()
语句的SQL子句。
我总是只需要输入=CONCATENATE("'",B2,"'",",")
,然后选择它并向下拖动它,这将创建=CONCATENATE("'",B3,"'",",")
、=CONCATENATE("'",B4,"'",",")
等,然后高亮显示整个列,将粘贴复制到纯文本编辑器中并在需要时粘贴回去,这样就去掉了行分隔。它是有效的,但同样,作为一次性交易,对于一直需要它的人来说,这不是一个好的解决方案。
发布于 2019-10-17 06:19:25
我知道这是一个非常古老的问题,但我也在做同样的事情,我在excel中偶然发现了一个名为"TEXTJOIN“的新公式。
对于这个问题,以下公式解决了这个问题
=TEXTJOIN("",TRUE,(a1:a4))
"TEXTJOIN“的签名解释为TEXTJOIN(delimiter,ignore_empty,text1,text2,text3,...)
https://stackoverflow.com/questions/8135995
复制相似问题