Table of contents
本教程解释了如何在Excel中使用基于AND以及OR逻辑的多条件的COUNTIFS和COUNTIF公式。 你会发现一些不同数据类型的例子 - 数字、日期、文本、通配符、非空白单元格等等。
在所有的Excel函数中,COUNTIFS和COUNTIF可能最常被混为一谈,因为它们看起来非常相似,都是为了根据指定的标准计算单元格。
不同的是,COUNTIF是为计算一个区间的单一条件的单元格而设计的,而COUNTIFS可以评估同一区间或不同区间的不同条件。 本教程的目的是演示不同的方法,并帮助你为每个特定任务选择最有效的公式。
Excel COUNTIFS函数--语法和用法
Excel COUNTIFS函数根据一个或几个条件对多个范围内的单元格进行计数。 该函数在Excel 365、2021、2019、2016、2013、Excel 2010和Excel 2007中都可用,因此你可以在任何Excel版本中使用下面的例子。
COUNTIFS 语法
COUNTIFS函数的语法如下。
COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2]...)- 标准_范围1 (required) - 定义了第一个条件的第一个范围 ( 标准1 )应被应用。
- 标准1 (required) - 将条件以 数 , 单元参考 , 文字串 , 表情 或其他 Excel函数 标准定义了哪些单元格应被计算,可以表示为10,"<=32",A6,"糖果"。
- [critical_range2, criteria2]... (可选) - 这些是额外的范围和它们相关的标准。 你可以在你的公式中指定多达127个范围/标准对。
事实上,你不必死记硬背COUNTIF函数的语法,只要你开始输入,Microsoft Excel就会显示该函数的参数;你此刻输入的参数会以粗体显示。
Excel COUNTIFS--需要记住的事情!
- 你可以在Excel中使用COUNTIFS函数来计算具有单个条件的单个区域中的单元格,以及具有多个条件的多个区域中的单元格。 如果是后者,只有那些符合 所有规定的条件 被计算在内。
- 每个额外的范围必须有 相同的行数和列数 作为第一个范围( 标准_范围1 参数)。
- 两者都是 毗连的 和 不毗连的 允许的范围。
- 如果标准是对一个 空单元格 ,COUNTIFS函数将其作为一个零值(0)。
- 你可以使用 通配符 详细情况见本例。
如何在Excel中使用具有多个标准的COUNTIFS和COUNTIF
下面你将看到一些公式例子,演示如何在Excel中使用COUNTIFS和COUNTIF函数来评估多个条件。
如何计算具有多个条件的单元格(AND逻辑)?
这种情况是最简单的,因为Excel中的COUNTIFS函数被设计为只计算所有指定条件为 "真 "的单元格。 我们称之为AND逻辑,因为Excel的AND函数就是这样工作的。
公式1.具有多个标准的COUNTIFS公式
假设你有一个如下截图所示的产品列表,你想获得一个库存(B列的值大于0)但尚未售出的商品的计数(C列的值等于0)。
这个任务可以通过使用这个公式来完成。
=COUNTIFS(B2:B7,">0", C2:C7,"=0")
而计数是2(" 樱桃 "和" 柠檬 "):
公式2:有两个标准的COUNTIFS公式
当你想计算具有相同标准的项目时,你仍然需要提供每个 criteria_range / criteria 单独配对。
例如,这里有正确的公式来计算B列和C列中都有0的项目。
=COUNTIFS($B$2:$B$7,"=0", $C$2:$C$7,"=0")
这个COUNTIFS公式返回1,因为只有" 葡萄 "两列中都有 "0 "值。
用一个更简单的公式,用一个单一的 标准_范围 如COUNTIFS(B2:C7,"=0")会产生一个不同的结果--在B2:C7范围内含有0的单元格的总计数(在这个例子中是4)。
如何计算具有多个标准的单元格(OR逻辑)?
正如你在上面的例子中所看到的,计算符合所有指定条件的单元格很容易,因为COUNTIFS函数就是这样设计的。
但是,如果你想计算的是那些具有以下特征的细胞 至少要有 其中一个指定的 条件为 "真"。 总的来说,有两种方法可以做到这一点--将几个COUNTIF公式相加,或者使用一个带有数组常数的SUM COUNTIFS公式。
公式1.将两个或多个COUNTIF或COUNITFS公式相加
在下表中,假设你想计算带有" "的订单。 取消了 "和" 待定 "要做到这一点,你可以简单地写出2个普通的Corntif公式,然后把结果加起来。
=COUNTIF($C$2:$C$11, "取消") + COUNTIF($C$2:$C$11, "待定")
如果每个函数都要评估一个以上的条件,请使用COUNTIFS而不是COUNTIF。 例如,要获得" 取消了 "和" 待定 "的订单,为" 苹果 "使用这个公式。
=COUNTIFS($A$2:$A$11, "Apples", $C$2:$C$11, "Cancelled") + COUNTIFS($A$2:$A$11, "Apples", $C$2:$C$11, "Pending")
公式2.带数组常数的SUM COUNTIFS
在你必须评估很多标准的情况下,上述方法不是最好的方法,因为你的公式会变得太大。 为了在一个更紧凑的公式中执行同样的计算,在一个数组常数中列出所有的标准,并将该数组提供给 标准 要获得总计数,可将COUNTIFS嵌入SUM函数中,像这样。
SUM(COUNTIFS( 范围 ,{" 标准1 "," 标准2 "," 标准3 ",...}))在我们的示例表中,要计算状态为""的订单。 取消了 "或" 待定 "或" 在运输过程中 ",该公式将如下。
=SUM(COUNTIFS($C$2:$C$11, {"cancelled", "pending", "in transit"}))
以类似的方式,你可以根据两个或多个单元格来计算 标准_范围 / 标准 例如,要获得""的数量,就必须要有""。 苹果 "的订单,这些订单是" 取消了 "或" 待定 "或" 在运输过程中 ",使用这个公式。
=SUM(COUNTIFS($A$2:$A$11, "apples",$C$2:$C$11,{"cancelled", "pending", "in transit"})
你可以在本教程中找到更多用OR逻辑计算单元格的方法:Excel COUNTIF和COUNTIFS的OR条件。
如何计算2个指定数字之间的数字
总的来说,数字的COUNTIFS公式分为两类--基于几个条件(在上面的例子中解释过)和在你指定的两个值之间。 后者可以通过两种方式实现--通过使用COUNTIFS函数或通过用一个COUNTIF减去另一个来实现。
公式1.COUNTIFS用于计算两个数字之间的单元格
要想知道C2到C10单元格中包含多少个5到10之间的数字(不包括5和10),请使用这个公式。
=COUNTIFS(C2:C10,">5", C2:C10,"<10")
要在计数中包括5和10,使用 "大于或等于 "和 "小于或等于 "运算符。
=COUNTIFS(B2:B10,">=5", B2:B10,"<=10")
公式2.COUNTIF公式来计算X和Y之间的数字
同样的结果可以通过用一个Corntif公式减去另一个公式来实现。 第一个公式计算有多少个数字大于下限值(本例中为5)。 第二个公式返回大于上限值的数字(本例中为10)。 第一个和第二个数字之间的差异就是你要寻找的结果。
- =COUNTIF(C2:C10,">5")-COUNTIF(C2:C10,">=10") - 计算C2:C10范围内有多少个大于5和小于10的数字。 这个公式将返回与上面截图中所示相同的计数。
- =COUNTIF(C2:C10, ">=5")-COUNTIF(C2:C10, ">10") - 该公式计算在C2:C10范围内有多少个5和10之间的数字。 包括 5和10。
如何在COUNTIFS公式中使用单元格引用
当在Excel COUNTIFS公式中使用逻辑运算符,如">"、"<"、"="和单元格引用时,请记住用 "双引号 "括住运算符,并且
在单元格引用前添加一个安培号(&)来构建一个文本字符串。
在下面的一个样本数据集中,让我们计算一下" 苹果 "金额超过200美元的订单。 与 标准_范围1 在单元格A2:A11和 标准_范围2 在B2:B11中,你可以使用这个公式。
=COUNTIFS($A$2:$A$11, "苹果", $B$2:$B$11, ">200")
或者,你可以在某些单元格中输入你的标准值,例如F1和F2,并在你的公式中引用这些单元格。
=COUNTIFS($A$2:$A$11, $F$1, $B$2:$B$11, ">"&$F$2)
请注意,在 "我的 "和 "我的 "中都使用了绝对单元格引用。 标准 和 标准_范围 参数,这样可以防止公式被复制到其他单元格时被破坏。
关于在COUNTIF和COUNTIFS公式中使用安培号的更多信息,请参见Excel COUNTIF-常见问题。
如何使用带有通配符的COUNTIFS
在Excel COUNTIFS公式中,你可以使用以下通配符。
- 问号 (?) - 匹配任何单一字符,用它来计算以某些字符开始和/或结束的单元格。
- 星号 (*) - 匹配任何字符序列,你用它来计算包含指定单词或字符的单元格内容。
提示:如果你想计算有实际问号或星号的单元格,请在星号或问号前键入一个tilde(~)。
现在让我们看看如何在实际生活中的COUNTIFS公式中使用通配符。 假设A列有一个项目列表,你想知道有多少项目已经分配给某人,即B列中有任何名字。由于我们正在学习如何使用COUNTIFS函数的多个条件,让我们添加第二个条件-- 结束日期 D列中的数据也应被设定。
这里有一个公式,效果很好。
=COUNTIFS(B2:B10,"*",D2:D10,""&""))
请注意,你不能在第二个条件中使用通配符,因为你在D列有日期而不是文本值。 非空白 单元:""&""
对日期有多种标准的COUNTIFS和COUNTIF
你用于日期的COUNTIFS和COUNTIF公式与上述数字的公式非常相似。
例1.计算特定日期范围内的日期
要计算属于某个日期范围的日期,你也可以使用有两个条件的COUNTIFS公式或两个COUNTIF函数的组合。
例如,下面的公式计算单元格C2到C10中的日期数量,这些日期在2014年6月1日和2014年6月7日之间,包括在内。
=COUNTIFS(C2:C9, ">=6/1/2014", C2:C9, "<=6/7/2014" )
=COUNTIF(C2:C9, ">=6/1/2014") - COUNTIF(C2:C9, ">6/7/2014")
例2.用多个条件计算日期
以同样的方式,你可以使用COUNTIFS公式来计算不同列中满足2个或更多条件的日期数量。 例如,下面的公式将找出有多少产品是在5月20日之后购买,6月1日之后交付的。
=COUNTIFS(C2:C9, ">5/1/2014", D2:D9, "> 6/7/2014")
例3.根据当前日期用多个条件来计算日期
你可以使用Excel的TODAY()函数与COUNTIF相结合,以当前日期为基础计算日期。
例如,下面的COUNTIF公式有两个范围和两个条件,将告诉你有多少产品已经被购买但还没有交付。
=COUNTIFS(C2:C9, ""&TODAY())
这个公式允许许多可能的变化。 例如,你可以调整它来计算有多少产品是在一周前购买的,但还没有交货。
=COUNTIFS(C2:C9, ""&TODAY())
这就是在Excel中计算具有多个条件的单元格的方法。 我希望你会发现这些例子对你有帮助。 无论如何,我感谢你的阅读,并希望下周在我们的博客上看到你!