2

我正在尝试将来自不同单元格的句子组合成一个单元格。例子:

A1 - “你好”
A2 -
“你好吗” A3 - “你”

A4 - =combine(A1:A3) ---- > “你好,你好吗”

我知道这个技巧:=A1 & " " & A2.....但是我有 700 个细胞可以组合成一个细胞,这种方法似乎很野蛮。如果有内置功能,那将是理想的。我不介意 VBA 中的答案,只要答案从如何打开 VBA 开始非常详细,因为我不知道 VBA。

4

4 回答 4

4

有,但也好不到哪里去: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)

于 2013-07-08T15:58:11.333 回答
1

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

然后你可以像这样使用它:

=StringConcat("|",B1:B5)

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

如果链接断开,您可以在此处找到函数的来源:http: //pastebin.com/JNS9pYWA

于 2013-07-08T15:49:50.507 回答
1

对于相对适中的 700 个单元格,公式似乎是可行的。

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

然后根据需要复制下来B2:C2

于 2013-07-08T16:10:51.713 回答
0

我也有同样的问题。我在 A 列中有数据A1:A980。但我找到了如下解决方案。

在 B2 中=CONCATENATE(B1," ",A1," ",A2) ,我输入公式,从 B3 输入公式=CONCATENATE(B2," ",A3),在 B3 中输入公式,=CONCATENATE(B3," ",A4)直到 B980。

这将在最后一个 B90 单元格中为您提供结果,并且在没有任何 VBA 的情况下也是如此。

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

于 2015-10-08T08:46:54.927 回答