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