计算符合多个条件的记录(Microsoft Excel)
使用Excel创建小型数据库并不罕见。例如,您可以在Excel中保留贵宾犬种俱乐部成员的列表,或者可以使用它来维护活跃销售联系人的列表。在这些情况下,您可能想知道如何获取满足多个条件的记录数。
假设您正在分析成员列表,并且想要确定性别列包含“ F”的记录数
并且“城市”列包含特定的城市,例如“诺伍德”。当然,这将是有帮助的,因为它将回答您的问题,即您的团体中有多少女性成员住在诺伍德。
Excel包含许多工作表函数,这些函数很容易确定列表中的记录数。在必须满足两个条件的情况下,如何立即使用这些方法可能并不立刻清楚。
让我们研究一下六个方法,可以实现诺伍德女性成员的期望目标。 (假设C列是性别列,F列是城市列。)
解决问题的第一种方法是使用COUNTIFS函数。如果您的性别列为C列,而城市列为F列,则可以使用以下公式:
=COUNTIFS(C1:C500,"F",F1:F500,"Norwood")
在性别列(C)中查找包含“ F”的任何单元格,在城市列(F)中查找包含“ Norwood”的任何单元格。结果是满足两个条件的记录数。
第二种方法是使用DCOUNTA函数。此功能允许您定义一组条件,并将这些条件用作分析数据列表的基础。像Excel中的所有数据功能一样,DCOUNTA依赖于三个参数:数据范围,比较中使用的列和条件范围。要使用此功能,请在工作表的未使用区域中建立一个标准表。例如,您可以在AA1到AB2单元中设置以下内容:(请参见图1。)
图1. DCOUNTA函数的标准表。
然后,假设原始数据表位于单元格A1:K500(显然是大型贵宾犬饲养员俱乐部)中,则可以使用以下方法确定计数:
=DCOUNTA(A1:K500,1,AA1:AB2)
结果是满足您在AA1:AB2中指定的条件的计数。
还要注意,您在AA1和AB1中使用的名称必须与在表记录中使用的标签完全匹配。这样做时,“性别”列(C列)的内容必须为“ F”,而“城市”列(F列)的内容必须为“ Norwood”,以便将记录添加到计数中。
第三种解决方案是使用数组公式返回单个答案。
有趣的是,数组公式使用SUM函数和一些布尔运算来确定是否应该对一条记录进行计数。
请考虑以下内容:
=SUM((C2:C500="F")*(F2:F500="Norwood"))
只需在单元格中键入上面的公式,然后按Ctrl + Shift + Enter即可完成;这使Excel知道您正在输入数组公式。该公式起作用是因为它根据公式中指定的条件依次比较了数组中每一行的内容。它首先将C列的内容与“ F”进行比较;如果匹配,则比较返回True,即数值1。
然后将列F的内容与“ Norwood”进行比较。如果该比较为真,则返回1。因此,1 1等于1,并将其添加到数组的SUM中。如果两个比较中的任何一个为False,则返回数值0,并且1 0等于0(与0 0和0 1一样),这不会影响正在运行的SUM。
第四种密切相关的方法是使用SUMPRODUCT函数,但不使用数组公式。您可以在想知道是否满足两个条件的任何单元格中简单地使用以下内容:
SUMPRODUCT((C2:C500="F")*(F2:F500="Norwood"))
请记住,这不是数组公式,因此不需要按Ctrl + Shift + Enter。通过布尔数学的魔力,该公式再次起作用。
第五种可能的解决方案是将自动筛选功能与小计一起使用,这比已经讨论的解决方案更具手动性。假设您的数据记录在A1:K500中,第1行中有列标签,您将按照以下步骤操作:
。选择数据表中的任何单元格。
。显示功能区的“数据”选项卡。
。单击“排序和过滤器”组中的“过滤器”工具。 Excel应该在第1行的每个列标签旁边显示“自动筛选”下拉指示器。 。使用“性别”列的下拉指示器(C列),选择F。您的列表将自动过滤为仅显示女性成员。
。使用城市列(F列)的下拉指示器,选择Norwood。系统会自动显示您的列表,仅显示居住在Norwood的女性成员。
。在数据表(行501)的底部,所需的任何列中,输入以下公式:
=SUBTOTAL(3,C2:C500)
此公式使SUBTOTAL函数应用COUNTA函数来得出小计。换句话说,它返回过滤显示的所有记录的计数。这是所需的计数。
第六种方法是使用“条件求和向导”为您提供一个公式。 (条件汇总向导可作为Excel 2007和更早版本的Excel加载项提供;默认情况下,它已在大多数系统上启用。已从Excel 2010中删除。)请按照以下步骤使用条件汇总向导:
。在要分析的数据中的某处选择一个单元格。
。显示功能区的“公式”选项卡。
。在“解决方案”组中(功能区的右侧),单击“条件总和”。 Excel将显示条件求和向导的第一步。您的整个数据范围应该已经显示在对话框中。 (请参见图2。)
。单击下一步。 Excel将显示向导的下一步。
。在“列总和”下拉列表中,选择“性别”。
。在“列”下拉列表中,选择“性别”。
。在“是”下拉列表中,选择等号。
。在“此值”下拉列表中,选择F。 。点击添加。您指定的条件现在出现在对话框中。
。在列下拉列表中,选择城市。
。在“是”下拉列表中,选择等号。
。在“此值”下拉列表中,选择“诺伍德”。
。点击添加。现在,第二个条件出现在对话框中。
。单击下一步。 Excel将显示向导的第三步。
。选择“仅将公式复制到单个单元格”。
。单击下一步。 Excel将显示向导的第四步(也是最后一步)。
。在工作表中,单击要包含公式结果的单元格。
。单击完成。
结果是适合您指定条件的公式,该公式适用于在步骤1中选择的单元格。
毫无疑问,您可以使用无数其他可能的解决方案来计算记录数。但是,这些是“很多”的选择,可让您快速轻松地确定答案。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(7759)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本:
链接:/ excel-Counting_Records_Matching_Multiple_Criteria [对符合多个条件的记录进行计数]。