2014-04-03 90 views
0

所以我有這個數據。爲什麼我的數組公式只返回一個值?

|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。爲什麼會發生?

+0

什麼公式? – deanosaur

+0

@deanosaur,它在問題中的權利......'{= $ N $ 6:$ R $ 6&「,」}' –

+0

這不是連接的方式。或者你應該使用'&'或者你可以使用' concatenate' excel功能。 –

回答

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, ";") 
+0

我現在幾乎在使用UDF來創建它,但我認爲會有一種實際的方式來做到這一點,所有這一切都是在以後。大聲笑 –

+0

是的,不幸的是,UDF's是實現這一目標的唯一方法。 –

相關問題