在 Excel 中将 Countif 添加到数组公式(小计)

Posted

技术标签:

【中文标题】在 Excel 中将 Countif 添加到数组公式(小计)【英文标题】:Add Countif to Array Formula (Subtotal) in Excel 【发布时间】:2018-07-25 07:07:43 【问题描述】:

我是数组公式的新手,并注意到虽然SUBTOTAL 包含许多函数,但它没有COUNTIF(仅COUNTCOUNTA)。

我正在尝试弄清楚如何将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 countif函数怎样统计非空格数

怎么用Excel中countif这个函数

excel vlookup里面countif标准

我要统计excel 一列ip地址 前10名最多出现的ip地址。excel 怎么统计。

excel统计非重复项公式=SUMPRODUCT(1/COUNTIF(A1:A1000,A1:A1000)),若数据范围有空值怎么解决?

Excel Countif函数用法