在 Excel 中将 Countif 添加到数组公式(小计)
Posted
技术标签:
【中文标题】在 Excel 中将 Countif 添加到数组公式(小计)【英文标题】:Add Countif to Array Formula (Subtotal) in Excel 【发布时间】:2018-07-25 07:07:43 【问题描述】:我是数组公式的新手,并注意到虽然SUBTOTAL
包含许多函数,但它没有COUNTIF
(仅COUNT
和COUNTA
)。
我正在尝试弄清楚如何将COUNTIF
-like 功能集成到我的数组公式中。
我有一个矩阵,它的一小部分看起来像:
A B C D E
48 53 46 64 66
48 66 89
40 38 42 49 44
37 33 35 39 41
感谢@Tom Shapein this post 的帮助,我(他)能够对矩阵中每一行的总和求平均,前提是它有完整的数据(因此上例中的第 2 行和第 4 行将不包括在内)。
现在我想计算具有完整数据的行数(因此第 2 行和第 4 行将被忽略),其中至少包含一个高于给定阈值的值(例如 45)。
在当前示例中,结果将为 2,因为第 1 行有 5/5 个值 > 45,第 3 行有 1 个值 > 45。第 5 行的值
我最近发现了SUMPRODUCT
函数,并认为SUMPRODUCT(--(A1:E1 >= 45
可能有用,但我不确定如何将它集成到Tom Sharpe's elegant code 中,例如,
=AVERAGE(IF(SUBTOTAL(2,OFFSET(A1,ROW(A1:A5)-ROW(A1),0,1,COLUMNS(A1:E1)))=COLUMNS(A1:E1),SUBTOTAL(9,OFFSET(A1,ROW(A1:A5)-ROW(A1),0,1,COLUMNS(A1:E1))),""))
记住,我不再寻找平均值:我想过滤行是否有完整数据,如果有,我想计算至少 1 个条目 > 45 的行。
【问题讨论】:
【参考方案1】:试试下面的。输入为数组公式。
=COUNT(IF(SUBTOTAL(4,OFFSET(A1,ROW(A1:A5)-ROW(A1),0,1,COLUMNS(A1:E1)))>45,IF(SUBTOTAL(2,OFFSET(A1,ROW(A1:A5)-ROW(A1),0,1,COLUMNS(A1:E1)))=COLUMNS(A1:E1),SUBTOTAL(9,OFFSET(A1,ROW(A1:A5)-ROW(A1),0,1,COLUMNS(A1:E1))))))
数据
【讨论】:
以上是关于在 Excel 中将 Countif 添加到数组公式(小计)的主要内容,如果未能解决你的问题,请参考以下文章
我要统计excel 一列ip地址 前10名最多出现的ip地址。excel 怎么统计。
excel统计非重复项公式=SUMPRODUCT(1/COUNTIF(A1:A1000,A1:A1000)),若数据范围有空值怎么解决?