如何连接数百个单元格的string?

我正在尝试将来自各种单元格的句子合并到一个单元格中。 例:

A1 – “你好”
A2 – “如何”
A3 – “你”

A4 – =合并(A1:A3)—->“你好吗”

我知道这个技巧: =A1 & " " & A2.....但是我有700个单元格组合成一个单元格,这种方法看起来很野蛮。 如果有内置函数,那将是理想的。 我不介意VBA的答案,只要答案是非常详细的从如何打开VBA开始,因为我不知道VBA。

有但是并不好多less​​: concatenate

在你的情况下,这将是concatenate(A1;" ";A2;" ";A3)

处理700个细胞也不是好的方法。

VBA解决scheme会更好。 要打开VBA编辑器,请按ALT + F11(有关graphics说明,请参阅本文 )。

之后,转到顶部的“插入”菜单并select“模块”。 编辑器将准备好接受input。 只需粘贴以下内容(删除可能有的任何其他文本):

 Option Explicit Public Function MyConcatenate(ByVal myRange As Range) Dim vCell, vResult As String For Each vCell In myRange.Cells vResult = vResult & " " & vCell.Text Next MyConcatenate = Mid(vResult, 2) End Function 

您现在可以closures编辑器并返回到工作簿。

要使用它,请在单元格中写入以下内容: =MyConcatenate(A1:A3)

您可以使用此页面中的StringConcat函数: http : //www.cpearson.com/excel/stringconcatenation.aspx

那么你可以像这样使用它:

 =StringConcat("|",B1:B5) 

您将收到范围内的所有值: B1:B5|分隔 。

如果链接被破坏,您可以在这里find函数的来源: http : //pastebin.com/JNS9pYWA 。

对于一个相对温和的700单元格公式似乎是可行的。

在B1: =A1&" "
在C1: =B1
在B2:复制B1 (ie =A2&" "
在C2中: =C1&B2

然后根据需要复制B2:C2

我也有同样的问题。 我在A1:A980 A列中有数据。 但我已经find了解决scheme如下。

在B2中,我将公式设为=CONCATENATE(B1," ",A1," ",A2)并从B3input公式as =CONCATENATE(B2," ",A3) ,在B3中as =CONCATENATE(B3," ",A4)直到B980。

这会给你在最后的B90单元中的结果,也没有任何VBA。

希望你可能有同样的问题,那么这可能会解决这个问题。