所以我有这些数据。
|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
。为什么会这样?
答案 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, ";")