CountIf与过滤的数据

我正在研究一种方法来计算一列数据中零的数量,即使数据被过滤了。 我发现了以下解决scheme:

=SUMPRODUCT(SUBTOTAL(3,OFFSET(B2:B18,ROW(B2:B18)-MIN(ROW(B2:B18)),,1)),ISNUMBER(SEARCH("Pear",B2:B18))+0) 

其中B2:B18是数据总数, "Pear"是计数标准。

  • 有人可以解释这个公式如何完成这个任务吗?
  • 有没有更简单的方法呢?

我能够确定:

 SUBTOTAL(3,OFFSET(B2:B18,ROW(B2:B18)-MIN(ROW(B2:B18)),,1)) 

用于返回在该范围内可见和隐藏的单元格的数组。 1返回可见,0返回隐藏。

 ISNUMBER(SEARCH("Pear",B2:B18))+0) 

用于返回包含"Pear"单元格的数组。 如果find“Pear”,返回1,否则返回0。

 SUMPRODUCT(arrayofvisiblecells , arrayofcellswithPear) 

用于将单元格可见的所有时间相加,并且存在“Pear”。 1*1否则您将乘以0