在系列中的每个单元格值之间附加string

比方说,我有一系列像这样的单元格:

A 1 Foo 2 Bar 3 Hello 4 World 5 Random Text 

我想要做的是我的公式的结果填充另一个单元格:

 Foo, Bar, Hello, World, Random Text 

现在,我知道如何连接两个单元格:

 =A1&", "&A2 

但是我怎样才能对整个系列做同样的事情呢?

以下是您可以使用的function。 简单地把它放在你的工作簿代码模块中,然后你可以像下面这样在单元格中input它:

=JoinRange(A1:A6)=JoinRange(A2:D15)

 Public Function JoinRange(ByVal rng As Range) As String Dim dlmt As String: dlmt = "," Dim multiRow As Boolean: multiRow = rng.Rows.Count > 1 Dim r As Long, c As Long Select Case rng.Columns.Count Case 1 If multiRow Then JoinRange = Join(Application.WorksheetFunction.Transpose(rng), dlmt) Else: 'a single cell JoinRange = rng End If Case Is > 1 If multiRow Then 'a 2d range of cells: For r = 1 To rng.Rows.Count For c = 1 To rng.Columns.Count JoinRange = JoinRange & rng(r, c) & dlmt Next Next JoinRange = Left(JoinRange, Len(JoinRange) - 1) Else: JoinRange = Join(Application.WorksheetFunction.Transpose( _ Application.WorksheetFunction.Transpose(rng)), dlmt) End If Case Else End Select End Function 

在单元格B1中input逗号和空格,然后使用以下公式:

 =CONCATENATE(A1,B1,A2,B1,A3,B1,A4, B1, A5) 

对于以下问题,您可以尝试以下几个答案,其中包括VBA选项和公式:

需要连接不同数量的单元格…

在B1中有=A1 ,那么=B1&", "&A2 B2中的=B1&", "&A2复制下来似乎工作。