Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel公式,用于连接单个单元格中每行的值_Excel_Excel Formula_Excel 2007 - Fatal编程技术网

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

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 最明显的解决方案是显式写出公式。如果您只需要执行一次,并且没有太多

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

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

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