如何在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"))"