2016-06-08 87 views
0

我試圖在將定期更新的表單上動態使用Sumproduct。如何在excel中的sumproduct中動態選擇單元格範圍

我的動機是爲了不手動選擇的列(即,不使用變速鍵和向下鍵選擇範圍A2:A6如所附快照所示)

我想有公式「= SUMPRODUCT( - (A2:A6 =「TX」))「動態選取A2:A6,因爲我在工作表中的數據說A不斷變化。因此,當數據增長到A8時,它可以以某種方式動態地比手動使用密鑰。

可以這樣做嗎?如果我的問題不明確,請讓我知道。

Screenshot of my xls

問候 SM

回答

1

是的,你可以動態定義的範圍內。不過,鑑於當前的公式,我看不出有什麼理由你不應該切換到COUNTIF這裏,即:

=COUNTIF(A:A,"TX")

爲其使用整列引用(A:A這裏)有沒有損害性能的功能(這完全不符合SUMPRODUCT)。

Regards

+0

謝謝XOR LX,現在看來,這可以成爲我的目的。以下是我正在使用的公式。 = SUMPRODUCT( - (月($'FQ事件'。$ F $ 3:$ F $ 32)= C $ 2); - (年份($'FQ Incidents'。$ F $ 3:$ F $ 32)= 2016) - (($'FQ Incidents'。$ D $ 3:$ D $ 32 = $ A $ 8)))。所以爲了有動態選擇,我可以用COUNTIF替換SUMPRODUCT嗎? – SusanMiller

+0

您的引用在這裏看起來不對。爲什麼'FQ事件'在它之前有一個美元符號($)?爲什麼在它之後的一段時間(。)?並且在任何地方也沒有感嘆號(!)?無論您使用的是哪個版本,這個語法當然會被Excel拒絕?我會想:SUMPRODUCT( - (MONTH('FQ Incidents'!$ F $ 3:$ F $ 32)= C $ 2); - (YEAR('FQ Incidents'!$ F $ 3:$ F $ 32)= 2016年); - (('FQ Incidents'!$ D $ 3:$ D $ 32 = $ A $ 8)))是正確的。 –

+0

XOR LX,Workseet 1包含我使用的列F和D等。我使用工作表2作爲摘要,這是我使用公式引用工作表1所以我沒有看到任何錯誤。可能也許是因爲我正在使用公開的辦公室..(我猜)。無論如何,我可以使用類似$ F:$ F的動態選擇列嗎? – SusanMiller

0

低劣的建議傢伙,在這裏。

您可以在表單中首先插入新行嗎?你可以把它放在任何你想要的地方,甚至可以隱藏它,第一條線對我來說很合適。

如果可以,只需將其作爲整個列上的「count.values」函數,並使用適當的減法將計數調整爲正確的數據長度即可。例如。除去這個輔助單元格值和一個標題將是「= count.values(A:A)-2」。

稍後,在您的VBA上,您可以將此值檢索到一個變量並將其連接到主函數。比方說,你做單元格A1輔助(座標1,1)

Dim auxLine As Integer auxLine = cells(1, 1).value whatever.formular1c1 = "=SUMPRODUCT(--(A2:A" & auxLine & ="TX"))"

相關問題