我们知道在Excel2007+版本,可以使用COUNTIFS函数,求出同时满足多个单元格区域的多个条件的单元格数目,但在Excel2003中,如何实现同样的功能呢?本文分享给大家,兼容2003、2007及以上Excel版本的数组公式,求出同时满足几个条件的单元格数目(不仅可以计数统计,还可以求和、求最大值、最小值、平均值等等)。
前期准备工作(包括相关工具或所使用的原料等)
Excel详细的操作方法或具体步骤
我们先举个实际例子,A列是一些数字,
B列是字符串
我们需要求出,A列中所有大于5并且小于10,
且满足相应B列的字符串为“A”的单元格的数目。
即对同时满足多个条件的单元格计数。

在Excel2007及以上版本,我们可以很轻松地使用公式函数
COUNTIFS
=COUNTIFS(A:A,">5",A:A,"<10",B:B,"A")
简单得出结果。

但在Excel2003版本中,并没有COUNTIFS函数,那我们怎么办呢?
可以尝试数组公式(需同时按下组合快捷键Ctrl+Shift+Enter):
=SUM(IF(B:B="A",1,0)*IF(A:A>5,1,0)*IF(A:A<10,1,0))
得到结果为4

如果我们需要将这些满足多个条件的单元格,进行求和,怎么办呢?
方法也很简单,只需改一下数组公式:
=SUM(IF(B:B="A",A:A,0)*IF(A:A>5,1,0)*IF(A:A<10,1,0))
注意,同样需要同时按下快捷键组合Ctrl+Shift+Enter

类似地,需要求出满足多个条件的单元格的最大值,可以使用数组公式
=MAX(IF(B:B="A",A:A,0)*IF(A:A>5,1,0)*IF(A:A<10,1,0))
注意:这与小乐在上一讲中,自定义MAXIF与MINIF函数,有一些本质区别。
那个MAXIF函数,只支持满足1个条件的求最大值。

如果要求出满足多个条件的单元格的最小值,
注意,公式需要做一下调整(IF中的条件为假时,需要填写一个远远大于公式结果范围的数字,这样防止产生错误的结果):
=MIN(IF(B:B="A",A:A,100)*IF(A:A>5,1,100)*IF(A:A<10,1,100))
最后,留一道思考题,
如何求出满足多个条件的单元格的平均值:用AVERAGE函数的数组公式,
看完本文,相信你一定可以轻松写出公式来!

注意事项
数组公式编辑时需要同时按下Ctrl+Shift+Enter本文讲的数组公式更为通用,注意要与MAXIF、MINIF自定义函数有所区别经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
