Excel如何实现多条件数据求和统计?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1187个文字,预计阅读时间需要5分钟。
为了回答读者的问题,我们可以创建一个公式来查找符合多个条件的记录总数。这个公式将基于一个假设的数据表格,其中包含多个字段。以下是一个简化的示例:
问题:给定一个包含姓名、年龄、性别和职业的数据表,是否可以使用一个公式来找出所有年龄大于30且职业为工程师的记录总数?
解决方案:
1. 定义数据表:假设数据表名为 `Employees`,包含以下列: - `Name`:姓名 - `Age`:年龄 - `Gender`:性别 - `Occupation`:职业
2. 创建公式:使用以下公式来计算符合条件的记录总数:=COUNTIF(Employees, Age>30, Occupation=工程师) 这里的 `COUNTIF` 函数用于计算满足特定条件的记录数。`Employees` 是数据表名,第一个参数是条件范围(即 `Age` 列),第二个参数是条件(即年龄大于30),第三个参数是另一个条件范围(即 `Occupation` 列),第四个参数是第二个条件(即职业为工程师)。
3. 解释公式: - `COUNTIF(Employees, Age>30)` 计算年龄大于30的记录数。 - `COUNTIF(Employees, Occupation=工程师)` 计算职业为工程师的记录数。 - 最终结果是将这两个条件同时满足的记录数。
注意:此公式假设您使用的是支持 `COUNTIF` 函数的电子表格软件,如 Microsoft Excel 或 Google Sheets。如果您的软件不支持此函数,可能需要使用其他方法来实现相同的功能。
给读者答疑解惑,有一个一对多的数据表,是否可以用一个公式查找出符合多个条件的总数?
请注意,这里要求的是用一个公式完成,而不是分别按条件统计数量,再求和。
案例:
下图 1 中左侧的数据表中,每个人可能有数量不等的电话号码,请根据 D 列列出的姓名,计算出有关人员的所有电话号码数量。
效果如下图 2 所示。
解决方案 1:sum+countif
1. 在 E2 单元格中输入以下公式:
=SUM(COUNTIF(A:A,{"王钢蛋","龙淑芬"}))
公式释义:
- COUNTIF(A:A,{"王钢蛋","龙淑芬"}):分别统计 A 列中的“王钢蛋”和“龙淑芬”的数量,得到一个数组;
- 如果选中这段公式,按 F9,就能清楚看到计算结果;
- SUM(...):将上述数组中的所有元素求和
解决方案 2:sum+countifs
1. 在 E3 单元格中输入以下公式 --> 按 Ctrl+Shift+Enter 结束:
=SUM(COUNTIFS(A:A,D1:D2))
公式释义:
- 与前一个公式略有不同的是,此处用 countifs 替换了 countif,从而第二个参数也可以使用区域;
- 只要按三键结束,生成数组公式,也一样能得出结果。
解决方案 3:sumproduct
1. 在 E4 单元格中输入以下公式:
=SUMPRODUCT((A:A={"王钢蛋","龙淑芬"})*1)
公式释义:
- 这个就更简单了,只要一个函数,而且也不需要按三键;
- 原理就是将 A 列中的每个单元格分别与两个姓名比对,结果为 true 或 false 组成的数组;
- 将数组结果 *1,从而将逻辑值转换为数值;
- 最后用 sumproduct 对所有值求和。
很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。
现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。
本文共计1187个文字,预计阅读时间需要5分钟。
为了回答读者的问题,我们可以创建一个公式来查找符合多个条件的记录总数。这个公式将基于一个假设的数据表格,其中包含多个字段。以下是一个简化的示例:
问题:给定一个包含姓名、年龄、性别和职业的数据表,是否可以使用一个公式来找出所有年龄大于30且职业为工程师的记录总数?
解决方案:
1. 定义数据表:假设数据表名为 `Employees`,包含以下列: - `Name`:姓名 - `Age`:年龄 - `Gender`:性别 - `Occupation`:职业
2. 创建公式:使用以下公式来计算符合条件的记录总数:=COUNTIF(Employees, Age>30, Occupation=工程师) 这里的 `COUNTIF` 函数用于计算满足特定条件的记录数。`Employees` 是数据表名,第一个参数是条件范围(即 `Age` 列),第二个参数是条件(即年龄大于30),第三个参数是另一个条件范围(即 `Occupation` 列),第四个参数是第二个条件(即职业为工程师)。
3. 解释公式: - `COUNTIF(Employees, Age>30)` 计算年龄大于30的记录数。 - `COUNTIF(Employees, Occupation=工程师)` 计算职业为工程师的记录数。 - 最终结果是将这两个条件同时满足的记录数。
注意:此公式假设您使用的是支持 `COUNTIF` 函数的电子表格软件,如 Microsoft Excel 或 Google Sheets。如果您的软件不支持此函数,可能需要使用其他方法来实现相同的功能。
给读者答疑解惑,有一个一对多的数据表,是否可以用一个公式查找出符合多个条件的总数?
请注意,这里要求的是用一个公式完成,而不是分别按条件统计数量,再求和。
案例:
下图 1 中左侧的数据表中,每个人可能有数量不等的电话号码,请根据 D 列列出的姓名,计算出有关人员的所有电话号码数量。
效果如下图 2 所示。
解决方案 1:sum+countif
1. 在 E2 单元格中输入以下公式:
=SUM(COUNTIF(A:A,{"王钢蛋","龙淑芬"}))
公式释义:
- COUNTIF(A:A,{"王钢蛋","龙淑芬"}):分别统计 A 列中的“王钢蛋”和“龙淑芬”的数量,得到一个数组;
- 如果选中这段公式,按 F9,就能清楚看到计算结果;
- SUM(...):将上述数组中的所有元素求和
解决方案 2:sum+countifs
1. 在 E3 单元格中输入以下公式 --> 按 Ctrl+Shift+Enter 结束:
=SUM(COUNTIFS(A:A,D1:D2))
公式释义:
- 与前一个公式略有不同的是,此处用 countifs 替换了 countif,从而第二个参数也可以使用区域;
- 只要按三键结束,生成数组公式,也一样能得出结果。
解决方案 3:sumproduct
1. 在 E4 单元格中输入以下公式:
=SUMPRODUCT((A:A={"王钢蛋","龙淑芬"})*1)
公式释义:
- 这个就更简单了,只要一个函数,而且也不需要按三键;
- 原理就是将 A 列中的每个单元格分别与两个姓名比对,结果为 true 或 false 组成的数组;
- 将数组结果 *1,从而将逻辑值转换为数值;
- 最后用 sumproduct 对所有值求和。
很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。
现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

