如何在excel中的sumproduct中dynamicselect单元格范围

我试图在将定期更新的工作表上dynamic使用Sumproduct。

我的动机是不要手动select列(即不要使用shift键和down键来select范围A2:A6所示的附加快照)

我想要公式“= SUMPRODUCT( – (A2:A6 =”TX“))”dynamic地selectA2:A6,因为我的数据在工作表中说A不断变化。 所以,当数据增长到A8时,它可以以某种方式dynamic地比使用密钥手动获取。

可以这样做吗? 请让我知道如果我的问题不清楚。

我的xls的屏幕截图

问候SM

是的,你可以dynamic地定义范围。 但是,根据你现在的公式,我没有看到你不应该在这里切换到COUNTIF原因,即:

=COUNTIF(A:A,"TX")

一个使用整个列引用( A:A here)的函数对性能没有影响( SUMPRODUCT并不是这样)。

问候

低调的build议家伙,在这里。

你可以在你的工作表中首先插入一个新的行吗? 你可以把它放在任何你想要的地方,你甚至可以把它藏起来,第一条线对我来说很合适。

如果可以的话,只需在整列上使用一个“count.values”函数,并用适当的减法将计数调整到正确的数据长度即可。 例如,删除这个辅助单元格值和一个标题将是“= count.values(A:A)-2”。

后来,在你的VBA上,你可以将这个值检索到一个variables,并将其连接到你的主函数。 假设你在单元格A1(坐标1,1)上做了辅助,

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