Excel公式,用于连接单个单元格中每行的值

时间:2017-01-08 12:37:09

标签: excel excel-formula excel-2007

我试图仅使用excel公式在Excel中获得以下输出

我的输入是每行1到10之间的数字。我需要输出为一个字符串,其中包含在单个单元格中由or分隔的输入

A   B
1   1 or 2 or 3 or 4
2   
3   
4   

由于

1 个答案:

答案 0 :(得分:1)

鉴于您使用的是Excel 2007 ,我在下面提供了一些选项。

不幸的是,我不认为使用Excel的本机函数有很好的方法 - 因此他们在Excel 2016中创建TEXTJOIN的原因

选项1
最明显的解决方案是明确写出公式。如果您只需要执行此操作并且没有多少值(例如示例中的4个值)那么这很好

=A1&" or "&A2&" or "&A3&" or "&A4

选项2
或者,如果您希望在几个不同的时间使用此可能的许多值。我建议您使用 UDF (用户定义函数)。也就是说,编写一个完全符合您要求的函数,以便在工作表上使用函数名,如下所示:

=JoinWithOr(A1:A4)

输出1 or 2 or 3 or 4 - 例如。

该功能的代码如下。您需要打开VBA编辑器,添加module并粘贴代码以便能够使用该功能。

Function JoinWithOr(rng As Range) As String
    Dim r As Range
    Dim result As String, orString As String

    orString = " or "

    For Each r In rng
        result = result & r.Value & orString
    Next r

    JoinWithOr = Left(result, Len(result) - Len(orString)) 
End Function