2017-10-19 108 views
0

我一直在尝试做一个Excel的公式,但无法找到正确的组合。过滤后只计数可见细胞

目标:我想要COUNTIFS细胞只在将过滤器应用到原始数据集后才可见。

电流/错误输出:38

正确的输出:15

这里是电流式:

=COUNTIFS(INDEX('Current Month'!$A:AJ,0,MATCH("Dryness + Absorbency",'Current Month'!$A$1:$AJ$1,0)),"POSITIVE")

我已经尝试了小计,但是这些值是错误的。其次,小计函数显示索引/匹配函数的错误。

这里是我的尝试:

=COUNTA(103,INDEX('Current Month'!$A:AJ,0,MATCH("Dryness + Absorbency",'Current Month'!$A$1:$AJ$1,0)),"POSITIVE")

我也试图与小计更换COUNTA,但它显示错误。

希望有人可以建议我可以使用什么语法来获取可见细胞数量,以及如何将其纳入我当前的公式。谢谢

+0

当2个阳性有只计算可见行的一个聪明的方式这里https://exceljet.net/formula/count-visible-rows-only-with-criteria –

+0

嗨,感谢您的帮助。我会尝试使用链接中提供的公式,但将索引匹配并入公式中似乎有点困难。 – Faheera

回答

0

嗯,这是,如果你替换你的索引功能,到我提到

=SUMPRODUCT((INDEX('Current month'!$A1:AJ10,0,MATCH("Dryness + Absorbency",'Current month'!$A$1:$AJ$1,0))=C10)*(SUBTOTAL(103,OFFSET(INDEX('Current month'!$A1:AJ10,1,MATCH("Dryness + Absorbency",'Current month'!$A$1:$AJ$1,0)),ROW(INDEX('Current month'!$A1:AJ10,0,MATCH("Dryness + Absorbency",'Current month'!$A$1:$AJ$1,0)))-MIN(ROW(INDEX('Current month'!$A1:AJ10,0,MATCH("Dryness + Absorbency",'Current month'!$A$1:$AJ$1,0)))),0)))) 

是的,它是一个位的标准公式,你会得到什么很长,但确实有效。

我已将全列引用更改为前十行以便对其进行测试。你可以使用全列引用,但它是一个有点慢

=SUMPRODUCT((INDEX('Current month'!A:AJ,0,MATCH("Dryness + Absorbency",'Current month'!A1:AJ1,0))=C10)*(SUBTOTAL(103,OFFSET(INDEX('Current month'!A:AJ,1,MATCH("Dryness + Absorbency",'Current month'!A1:AJ1,0)),ROW(INDEX('Current month'!A:AJ,0,MATCH("Dryness + Absorbency",'Current month'!A1:AJ1,0)))-MIN(ROW(INDEX('Current month'!A:AJ,0,MATCH("Dryness + Absorbency",'Current month'!A1:AJ1)))),0)))) 

我追踪的偏移从0到1得到的只是一个单一的单元格引用从以抵消更改该行参数在INDEX语句。

我的测试数据看起来像这样,并给出未过滤的5个阳性的计数,过滤为的“x”在列E.

enter image description here

+0

嗨汤姆夏普, 解决方案是伟大的,但我想补充一个条件,其中列c是帮宝适。是否可以在公式中添加一个条件?我尝试过,但我一直有错误,也许这可能是由于放置。 – Faheera

+0

对不起,我还没有回到你身边 - 我想我已经在家里的电脑上安装了这个设置,所以以后会试一试 –

+0

它应该是= SUMPRODUCT((当前月份!)C:C =“帮宝适“)* INDEX ...和公式的其余部分相同。 –