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

我正在尝试使用excel公式只得到excel中的输出

我的input是每行1到10之间的数字。 我需要的输出是一个string包含input分隔or单个单元格

 AB 1 1 or 2 or 3 or 4 2 3 4 

谢谢

鉴于您正在使用Excel 2007 ,我已经在下面放了几个选项。

不幸的是,我不认为有什么好办法用Excel的本地函数做到这一点 – 因此,他们为什么在Excel 2016中创build了TEXTJOIN

选项1
最明显的解决办法是明确写出公式。 如果你只需要这样做一次,而且没有很多值(例如在这个例子中有4个值),那么这就好了

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

选项2
另外,如果你想用这几个不同的时间,可能有很多值。 我build议你使用一个UDF (用户定义函数)。 也就是说,编写一个完全符合你需要的函数,这样你可以在工作表上使用函数名称,如下所示:

 =JoinWithOr(A1:A4) 

例如给出1 or 2 or 3 or 4的输出。

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

 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