excel将一行中的值组合为逗号分隔的字符串

时间:2013-10-01 11:57:06

标签: string excel

我正在寻找解决这个问题的方法,但我找不到让我满意的解决方案。 所以这就是事情: 在excel中,我有一行具有未指定数量的值(可以是30,可以是40,没有人知道)。我想要的是将所有这些值组合在一个单元格中,用逗号分隔(一个字符串)。 我怎么能用迭代来做到这一点? 还有一件事:如果字段为空,则循环必须结束(在值列表的末尾)

以下是一些样本数据:

ROW A:
----
a
b
c
d
e
f
g

结果:

a,b,c,d,e,f,g

由于

1 个答案:

答案 0 :(得分:2)

考虑以下用户定义函数(UDF):

Public Function conkittenate(rIn As Range) As String
    Dim r As Range
    conkittenate = ""
    For Each r In rIn
        If r.Value <> "" Then
            If conkittenate = "" Then
                conkittenate = r.Text
            Else
                conkittenate = conkittenate & ", " & r.Text
            End If
        End If
    Next
End Function

在工作表中,它可以像:

一样使用

= conkittenate(A1:H1)

= conkittenate(A1:A5)