我正在尝试将来自不同细胞的句子组合成一个细胞。例如:
A1 - “你好”
A2 - “怎么样”
A3 - “你”
A4 - =组合(A1:A3)----> “你好,你好吗”
我知道这个诀窍:=A1 & " " & A2.....
但我有700个细胞组合成一个细胞,这种方法似乎是野蛮的。如果有内置功能,那将是理想的。我不介意VBA中的答案,只要答案非常详细,从如何打开VBA开始,因为我不知道VBA。
答案 0 :(得分:4)
虽然有好处但是concatenate
。
在您的情况下,那将是concatenate(A1;" ";A2;" ";A3)
。
也不是处理700个细胞的好方法。
VBA解决方案会更好。要打开VBA编辑器,请按ALT + F11(有关图形说明,请参阅this article)。
然后,转到顶部的“插入”菜单,然后选择“模块”。编辑随后将准备好接受输入。只需粘贴以下内容(删除它可能包含的任何其他文本):
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
您现在可以关闭编辑器并返回工作簿。
要使用它,请在单元格中写下以下内容:=MyConcatenate(A1:A3)
。
答案 1 :(得分:1)
您可以使用此页面中的StringConcat
功能:http://www.cpearson.com/excel/stringconcatenation.aspx
然后你可以像这样使用它:
=StringConcat("|",B1:B5)
您将收到以B1:B5
分隔的|
范围内的所有值。
如果链接断开,您可以在此处找到该功能的来源:http://pastebin.com/JNS9pYWA。
答案 2 :(得分:1)
对于相对适度的700细胞,配方似乎是可行的。
B1中的:=A1&" "
在C1:=B1
在B2中:复制B1
(即=A2&" "
)
在C2中:=C1&B2
然后根据需要复制B2:C2
。
答案 3 :(得分:0)
我也有同样的问题。我在A1:A980
的A列中有数据。
但我已经找到了解决方案如下。
在B2中,我将公式设为=CONCATENATE(B1," ",A1," ",A2)
从B3我输入公式=CONCATENATE(B2," ",A3)
,在B3输入=CONCATENATE(B3," ",A4)
直到B980。
这将在最后一个B90单元格中为您提供结果,而且没有任何VBA也是如此。
希望您可能遇到同样的问题,这可能会解决问题。