美文网首页EXCEL职场Office技巧工具癖
[Excel]复杂条件关系下的单元格计数法

[Excel]复杂条件关系下的单元格计数法

作者: 效率火箭 | 来源:发表于2018-04-08 13:08 被阅读98次

“小伙伴们可能都知道,Excel中COUNTIF函数是用以单条件单元格计数,而COUNTIFS函数则是用以多条件且必须同时满足(AND逻辑)的单元格计数。但若需要针对复杂逻辑条件的单元格计数时,我们又有什么法子呢?

多条件计数之"OR"

这可能是简单的一种多条件逻辑关系,那就是"或"——只需要满足多个条件中的一种即可。

方法一:COUNTIF+COUNTIF

要实现此种逻辑关系计数的最简单方式就是讲COUNTIF相加。

比如:
=COUNTIF(A2:A11,"苹果")+COUNTIF(A2:A11,"草莓")
当然,你也可以选择使用:
=COUNTIF(A2:A11,F1)+COUNTIF(A2:A11,F2)
虽然此法特别易懂,但是如果条件非常多,那么整个函数可能会显得特别繁琐。这时,可能会更适合以下的方法。

方法二:COUNTIF配合数组

如果条件很多,可以考虑将条件以数组的形式体现在COUNTIF函数中,这样可以快速简化繁琐的COUNTIF叠加。比如,
=SUM(COUNTIF(A2:A11,{"苹果","草莓","橙子"}))
不过要注意的是,如果COUNTIF函数中的条件部分是以一个区域进行表达的,那么要使用Ctrl + Shift +Enter来完成函数计算哦!
比如,

{=SUM(COUNTIF(A2:A11,F1:F3))}

方法三:SUMPRODUCT函数

事实上,利用SUMPRODUCT函数进行多条件计算火箭君已经给大家具体讲过了。

多条件计数之"OR-AND"

当多条件之间出现不止一层逻辑关系时,比如说:

  • 第一层:满足“苹果”或“香蕉”或“ 草莓”
  • 第二层:满足“签收”

方法一:COUNTIFS+COUNTIFS+...

和COUNTIF函数在处理单一层次多条件的情况类似,COUNTIFS函数也会使得函数变得相对繁琐。表达式:
=COUNTIFS(A2:A11,"苹果",C2:C11,"签收")+COUNTIFS(A2:A11,"草莓",C2:C11,"签收")+COUNTIFS(A2:A11,"橙子",C2:C11,"签收")

方法二:COUNTIFS配合数组

COUNTIFS配合上数组之后,显然就大大缩短了函数的长度。尤其是如果条件的层次更多之后,这种效果更为明显。
表达式:
=SUM(COUNTIFS(A2:A11,{"苹果","草莓","橙子"},C2:C11,"签收"))

多条件计数之"OR-OR-AND"

如果碰上了两层条件,而每层又有超过2个互为“或”的条件,那么可以尝试使用COUNTIFS配合2个数组进行计算。


需要特别注意的是,COUNTIFS中的第一个数组应该是一个横向的数组,因此需要用逗号隔开其中的元素;而第二个数组应该是一个纵向的数组,因此需要用分号隔开其中的元素。这样Excel才能将两个数组组合成一个二维数组从来进行计算。
表达式:
=SUM(COUNTIFS(A2:A11,{"苹果","草莓","橙子"},C2:C11,{"签收";"在途"}))

由于Excel只支持2维数组的计算,因此如果有n层条件的话,恐怕是无法使用COUNTIFS这样的函数来实现了。

那么问题来了,如果有3层以上的条件,而每层条件内,多个条件又以“或”的逻辑相关联,那该怎么办呢?

欢迎大家在留言中互动。火箭君也会在下周公布大家的解决方案哦!

相关文章

网友评论

    本文标题:[Excel]复杂条件关系下的单元格计数法

    本文链接:https://www.haomeiwen.com/subject/qqvphftx.html