Excel公式,用于连接单个单元格中每行的值
我正在尝试仅使用excel公式在excel中获得以下输出 我的输入是每行1到10之间的数字。我需要输出是一个字符串,包含单个单元格中由Excel公式,用于连接单个单元格中每行的值,excel,excel-formula,excel-2007,Excel,Excel Formula,Excel 2007,我正在尝试仅使用excel公式在excel中获得以下输出 我的输入是每行1到10之间的数字。我需要输出是一个字符串,包含单个单元格中由或分隔的输入 A B 1 1 or 2 or 3 or 4 2 3 4 谢谢鉴于您正在使用Excel 2007,我在下面列出了一些选项 不幸的是,我不认为有任何好的方法可以使用Excel的本机函数实现这一点,因此他们在Excel 2016中创建了TEXTJOIN 选项1 最明显的解决方案是显式写出公式。如果您只需要执行一次,并且没有太多
或分隔的输入
A B
1 1 or 2 or 3 or 4
2
3
4
谢谢鉴于您正在使用Excel 2007,我在下面列出了一些选项
不幸的是,我不认为有任何好的方法可以使用Excel的本机函数实现这一点,因此他们在Excel 2016中创建了TEXTJOIN
选项1
最明显的解决方案是显式写出公式。如果您只需要执行一次,并且没有太多值(例如,示例中有4个值),那么这很好
=A1&" or "&A2&" or "&A3&" or "&A4
选项2
或者,如果您希望在可能有许多值的情况下多次使用此选项。我建议您使用UDF(用户定义函数)。也就是说,编写一个函数,该函数完全满足您的要求,以便在工作表上使用函数名,如下所示:
=JoinWithOr(A1:A4)
给出输出1或2或3或4
——例如
该函数的代码如下所示。您需要打开VBA编辑器,添加模块
,然后将代码粘贴到其中,才能使用该功能
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
您使用的是哪个版本的excel?较新的有TextJoin我正在使用excel 2007