Rod在Excel中有一个圣诞贺卡列表。 (实际上,此问题可能适用于任何贺卡列表。)每个名称都有一个与之关联的唯一数字ID,并根据名称是家人,朋友,学校朋友还是工作朋友进行颜色编码。他的栏中还有一个True / False指示符,该指示符指示该人今年是否要收到卡。 Rod想计算有多少张纸牌符合两个条件:

“获取卡片”指示器为True,且ID为50或以下。

另外,他想使用一种方法来计算“获取卡片”指示器为True且颜色代码为红色的卡片数量。

如果只需要定期获取此类子列表,则最简单,最灵活的解决方案可能是使用Excel的筛选功能,然后使用SUBTOTAL函数来确定计数。您可以根据所需的几乎任何条件进行过滤以显示行。当列表表示您想要的内容时,则可以使用以下公式:

=SUBTOTAL(3,B2:B100)

SUBTOTAL函数的此变化形式返回指定范围内所有显示行的计数。此处的关键是,仅显示符合您的过滤条件的行,因此该公式将返回您想要的计数。

还有一些公式可以返回所需的信息。 COUNTIFS函数将查看多个条件,并根据比较结果返回一个计数。例如,以下公式将提供“获取卡片”

的列表成员的数量。指示符为True,且ID为50或以下:

=COUNTIFS(A2:A100,"<50",B2:B100,TRUE)

该公式仅查看A2:A100中的列表成员,并假定B2:B100包含True / False值用作“​​获取卡”

指示符。

您应该记住,COUNTIFS函数是从Excel 2007开始引入的。如果创建的工作簿也将由较旧版本的Excel的人使用,则您可能想使用替代函数来返回计数:

=SUMPRODUCT((A2:A100<50)B2:B1001)

如果要在公式中考虑单元格颜色,则它会变得有些棘手。您可以设计一个用户定义的函数(宏)

返回单元格颜色,然后在公式中使用它。 (_ExcelTips_的其他问题已经讨论了此类功能。)避免宏的一种更简单的方法是在数据中添加一列,该列包含一个数字值,该值指示个人所属的组(家庭,朋友,学校朋友或工作朋友) 。然后,您可以在公式中包括列值。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(12867)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。