所以我有這個數據。爲什麼我的數組公式只返回一個值?
|Col M | Col N | Col O | Col P | Col Q | Col R| |<formula>| A | B | C | D | E |
我試圖把一個公式插入列男,使用{=$N$6:$R$6&", "}
,但它只返回A,
,而不是A, B, C, D, E
。爲什麼會發生?
所以我有這個數據。爲什麼我的數組公式只返回一個值?
|Col M | Col N | Col O | Col P | Col Q | Col R| |<formula>| A | B | C | D | E |
我試圖把一個公式插入列男,使用{=$N$6:$R$6&", "}
,但它只返回A,
,而不是A, B, C, D, E
。爲什麼會發生?
您試圖完成的任何本機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, ";")
我現在幾乎在使用UDF來創建它,但我認爲會有一種實際的方式來做到這一點,所有這一切都是在以後。大聲笑 –
是的,不幸的是,UDF's是實現這一目標的唯一方法。 –
什麼公式? – deanosaur
@deanosaur,它在問題中的權利......'{= $ N $ 6:$ R $ 6&「,」}' –
這不是連接的方式。或者你應該使用'&'或者你可以使用' concatenate' excel功能。 –