计算带有条件的可见行数

时间:2017-02-01 11:19:57

标签: excel vba excel-vba excel-formula

在开始时我使用了这个公式SUBTOTAL(3;(A14:A150>0))并且它完美地工作但现在我需要添加一个条件,我必须计算F列中的值大于0的行数。

这个公式COUNTIF(F14:F150;">0")会返回正确的结果,但是当我过滤时,我没有正确的结果。

我也尝试SUMPRODUCT(SUBTOTAL(3;F14:F150)/A1*(F14:F150>0))它返回与COUNTIF相同的东西。

3 个答案:

答案 0 :(得分:2)

您可以添加另一个包含公式的列:

=IF(SUBTOTAL(103;F14))

因为您正在使用过滤器,所以此公式将帮助您确定您的单元格是否隐藏。 现在你可以使用,假设后一个公式在G列中:

=COUNTIFS(F14:F150;">0";G14:G150;">0")

答案 1 :(得分:1)

使用Ctrl + Shift + Enter输入数组:

=SUMPRODUCT(--(F14:F150>0),IF(SUBTOTAL(3,OFFSET(F14:F150,ROW(F14:F150)-MIN(ROW(F14:F150)),,1)),F14:F150,""))/A1

答案 2 :(得分:0)

我没有完全满足您的需求,但您可能想要使用

=SUMIFS(F14:F150,F14:F150,">0",A14:A150,">0")

=COUNTIFS(F14:F150,">0",A14:A150,">0")