为什么我的Array Formula只返回一个值?

时间:2014-04-03 14:24:43

标签: arrays excel formula

所以我有这些数据。

|Col M | Col N | Col O | Col P | Col Q | Col R| |<formula>| A | B | C | D | E |

我尝试使用{=$N$6:$R$6&", "}将公式放入M列,但它只返回A,而不是A, B, C, D, E。为什么会这样?

1 个答案:

答案 0 :(得分:0)

您尝试完成的任何内容Excel公式(连接数组)都无法实现。您正在使用的数组公式只是返回第一个结果,这是它可以做的全部。您必须编写自定义函数来连接数组。像

这样的东西
Option Explicit
Public Function ARRCONCAT(ByVal rng As Range, Optional ByVal sep As String = ", ") As String

If rng Is Nothing Then
    ARRCONCAT = xlErrNull
    Exit Function
End If

Dim c       As Range
Dim result  As String

For Each c In rng
    If result = "" Then
        result = c.Value
    Else: result = result + sep + c.Value
    End If
Next c

ARRCONCAT = result

End Function

将该代码放入工作簿中的新模块中,然后调用它:

=ARRCONCAT($N$1:$R$1)

=ARRCONCAT($N$1:$R$1, ";")