我正在研究一种计算一列数据中零的数量的方法,即使数据被过滤了。我找到了以下解决方案:
=SUMPRODUCT(SUBTOTAL(3,OFFSET(B2:B18,ROW(B2:B18)-MIN(ROW(B2:B18)),,1)),ISNUMBER(SEARCH("Pear",B2:B18))+0)
其中,B2:B18
是总数据列表,"Pear"
是要计算的标准。
答案 0 :(得分:3)
我能够确定:
SUBTOTAL(3,OFFSET(B2:B18,ROW(B2:B18)-MIN(ROW(B2:B18)),,1))
用于返回一个数组,该数组在该范围内可见并隐藏。返回1表示可见,0表示隐藏。
ISNUMBER(SEARCH("Pear",B2:B18))+0)
用于返回其中包含"Pear"
个单元格的数组。如果" Pear"找到,返回1,否则返回0.
SUMPRODUCT(arrayofvisiblecells , arrayofcellswithPear)
用于对细胞可见时的所有时间求和。" Pear"存在。 1*1
否则您将乘以0
。
答案 1 :(得分:-1)
= SUMPRODUCT(SUBTOTAL(3,OFFSET(Sheet1!$ A $ 1:$ A $ 1006,ROW(Sheet1!$ A $ 1:$ A $ 1006)-MIN(ROW(Sheet1!$ A $ 1:$ A $ 1006)) ,, 1)),ISNUMBER(SEARCH(B861,Sheet1!$ A $ 1:$ A $ 1006))+ 0)
B861是您正在引用的单元格。