这篇文章详细介绍了Excel中常用的函数,包括求和、计数、平均值、最大值和最小值函数,以及万能统计函数AGGREGATE。这些函数在处理和分析数据时非常有用,可以帮助你提高工作效率。以下是对这些函数的简要总结:
### 求和函数
- **SUM**:计算一系列单元格的总和。
- **SUMIF**:根据给定条件计算总和。
- **SUMIFS**:根据多个条件计算总和。
- **DSUM**:在数据库中根据条件求和。
### 计数函数
- **COUNT**:计算包含数字的单元格数量。
- **COUNTA**:计算非空单元格的数量。
- **COUNTIF**:根据条件计数。
- **COUNTIFS**:根据多个条件计数。
### 平均值函数
- **AVERAGE**:计算一系列单元格的平均值。
- **AVERAGEIF**:根据条件计算平均值。
- **AVERAGEIFS**:根据多个条件计算平均值。
### 最大值和最小值函数
- **MAX**:找出最大值。
- **MAXIFS**:根据条件找出最大值。
- **LARGE**:找出第N个最大值。
- **MIN**:找出最小值。
- **MINIFS**:根据条件找出最小值。
- **SMALL**:找出第N个最小值。
### 万能统计函数
- **AGGREGATE**:提供多种统计功能,包括忽略隐藏行和错误值的求和。
这些函数的应用可以大大简化数据处理流程,使得数据分析更加直观和高效。如果你在实际工作中遇到具体的Excel问题,可以进一步探讨如何应用这些函数来解决。希望这篇文章能够帮助你更好地理解和使用Excel,提升你的数据处理能力。
以下是对各函数以案例、函数参数详解形式进行的更详细讲解:
一、求和函数
1. SUM
函数定义:SUM (number1, [number2],...),其中 number1, number2,... 可以是数字、单元格引用、范围或数组常量。
案例:
假设有一份员工销售业绩表如下:
员工姓名 |
销售额 |
张三 |
100 |
李四 |
200 |
王五 |
150 |
赵六 |
80 |
若要计算所有员工的总销售额,使用公式 =SUM(B2:B5)。
参数详解:
- B2:B5:这是一个单元格区域引用,表示从 B2 单元格到 B5 单元格这个范围,函数会将该范围内所有的数值进行相加求和。在此案例中,就是把 4 位员工的销售额数值相加起来。
结果:530
2. SUMIF
函数定义:SUMIF(range, criteria, [sum_range])。
案例:
同样是上述员工销售业绩表,现在想计算员工张三的总销售额,表格如下:
员工姓名 |
销售额 |
张三 |
100 |
李四 |
200 |
张三 |
120 |
王五 |
150 |
使用公式 =SUMIF(A2:A5, "张三", B2:B5)。
参数详解:
- range:即 A2:A5,这是应用条件的区域,也就是函数会在这个区域中去查找符合条件的单元格。在此处就是根据员工姓名这一列(A 列)来判断。
- criteria:这里是 "张三",定义了具体的查找条件,也就是只选取员工姓名为 “张三” 的那些行。
- sum_range:B2:B5 是实际加总的单元格区域,即对应着销售额那一列(B 列),函数会把满足前面条件(员工姓名是张三)的对应销售额进行相加。
结果:220
3. SUMIFS
函数定义:SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2],...)。
案例:
有一份部门员工销售业绩表如下:
部门 |
员工姓名 |
销售额 |
销售部 |
张三 |
100 |
市场部 |
李四 |
200 |
销售部 |
王五 |
150 |
销售部 |
赵六 |
80 |
若要计算销售部中员工姓名为张三的总销售额,使用公式 =SUMIFS(C2:C5, A2:A5, "销售部", B2:B5, "张三")。
参数详解:
- sum_range:C2:C5 是要加总的单元格区域,也就是销售额所在列(C 列)的单元格范围,最终要对这个区域里符合条件的数值求和。
- criteria_range1:A2:A5 为第一个应用条件的单元格区域,这里是部门列,函数会先从这列判断是否符合条件。
- criteria1:"销售部" 是第一个定义哪些单元格将被加总的条件,即先筛选出部门是销售部的那些行。
- criteria_range2(可选):这里接着用 B2:B5,是第二个应用条件的单元格区域,也就是员工姓名列,用于进一步筛选。
- criteria2(可选):"张三" 是第二个条件,意味着在前面筛选出销售部的基础上,再筛选出员工姓名为张三的那行对应的销售额进行求和。
结果:100
4. DSUM
函数定义:DSUM(database, field, criteria)。
案例:
以下是一个简单的销售数据库表格:
编号 |
部门 |
员工姓名 |
销售额 |
1 |
销售部 |
张三 |
100 |
2 |
市场部 |
李四 |
200 |
3 |
销售部 |
王五 |
150 |
4 |
售后部 |
赵六 |
80 |
假设要计算销售部员工的销售额总和,使用公式 =DSUM(A1:D4, 4, A1:C4)。
参数详解:
- database:A1:D4 构成列表或数据库的单元格区域,也就是整个包含数据的表格范围,函数就在这个大范围内进行相关操作。
- field:这里用数字 4 表示,因为销售额所在列(D 列)是表格中的第 4 列,它指明了需要求和的列。
- criteria:A1:C4 确定哪些行将被加总的条件区域,在此例中可以通过在这个区域设置条件(比如在部门列写上 “销售部” 等条件)来筛选出符合要求的行,进而对相应销售额列进行求和。
结果:250
二、计数函数
1. COUNT
函数定义:COUNT (value1, [value2],...),value1, value2,... 可以是数字、单元格引用、范围或数组常量。
案例:
有一份成绩表如下:
学生姓名 |
语文成绩 |
数学成绩 |
张三 |
80 |
90 |
李四 |
70 |
85 |
王五 |
60 |
75 |
若想计算数学成绩列中有成绩数字的单元格数量,使用公式 =COUNT(B2:B4)。
参数详解:
- B2:B4:这是计数区域,函数会检查这个区域内的单元格,统计其中是数字的单元格个数。在此就是查看数学成绩这一列(B 列)里有几个单元格里填的是有效的数字。
结果:3
2. COUNTA
函数定义:COUNTA (value1, [value2],...),value1, value2,... 可以是任何类型,包括文本、逻辑值和错误。
案例:
如下是一份员工信息表:
员工姓名 |
年龄 |
入职日期 |
备注 |
张三 |
25 |
2024/1/1 |
|
李四 |
30 |
2023/5/10 |
优秀员工 |
王五 |
28 |
新入职 |
要计算这张表中非空单元格的数量,使用公式 =COUNTA(A2:D4)。
参数详解:
- A2:D4:计数区域,表示函数将统计这个范围内非空单元格的个数,不管单元格里是文本、数字、日期还是其他任何有效的内容,只要不是空的,都会被计数。
结果:8
3. COUNTIF
函数定义:COUNTIF(range, criteria)。
案例:
有一份员工绩效评分表如下:
员工姓名 |
绩效评分 |
张三 |
80 |
李四 |
90 |
王五 |
85 |
赵六 |
70 |
若要计算绩效评分大于 80 的记录数,使用公式 =COUNTIF(B2:B5, ">80")。
参数详解:
- range:B2:B5 是应用条件的单元格区域,即函数会查看绩效评分这一列(B 列)里的每个单元格。
- criteria:">80" 是定义哪些单元格将被计数的条件,也就是只统计绩效评分大于 80 的单元格数量。
结果:2
4. COUNTIFS
函数定义:COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2],...)。
案例:
以下是部门员工绩效表:
部门 |
员工姓名 |
绩效评分 |
销售部 |
张三 |
80 |
市场部 |
李四 |
90 |
销售部 |
王五
|
85 |
销售部 |
赵六 |
70 |
要计算销售部中绩效评分大于 80 的记录数,使用公式 =COUNTIFS(A2:A5, "销售部", B2:B5, ">80")。
参数详解:
- criteria_range1:A2:A5 是第一个应用条件的单元格区域,也就是部门列,函数先从这列筛选出符合条件的行。
- criteria1:"销售部" 是第一个条件,用于选出部门是销售部的那些行。
- criteria_range2:B2:B5 是第二个应用条件的单元格区域,即绩效评分列,接着在此列中进一步筛选。
- criteria2:">80" 是第二个条件,意味着在前面筛选出销售部的基础上,再统计绩效评分大于 80 的单元格数量。
结果:2
三、平均值函数
1. AVERAGE
函数定义:AVERAGE (number1, [number2],...),number1, number2,... 可以是数字、单元格引用、范围或数组常量。
案例:
有一份学生考试成绩表如下:
学生姓名 |
语文成绩 |
张三 |
80 |
李四 |
90 |
王五 |
70 |
若要计算语文成绩的平均值,使用公式 =AVERAGE(B2:B4)。
参数详解:
- B2:B4:平均值计算区域,表示函数会获取这个区域内的所有数值单元格,然后计算它们的平均值。在此就是对语文成绩这一列(B 列)里的成绩数值求平均。
结果:80
2. AVERAGEIF
函数定义:AVERAGEIF(range, criteria, [average_range])。
案例:
以下是部门员工工资表:
部门 |
员工姓名 |
工资 |
销售部 |
张三 |
5000 |
市场部 |
李四 |
6000 |
销售部 |
王五 |
5500 |
若要计算销售部员工的平均工资,使用公式 =AVERAGEIF(A2:A4, "销售部", C2:C4)。
参数详解:
- range:A2:A4 是应用条件的单元格区域,也就是从部门列(A 列)去判断哪些行符合条件。
- criteria:"销售部" 是定义哪些单元格将被平均的条件,即筛选出部门是销售部的那些行。
- average_range:C2:C4 是实际计算平均值的单元格区域,也就是工资那一列(C 列),函数会对满足前面条件(部门是销售部)的对应工资数值求平均。
结果:5250
3. AVERAGEIFS
函数定义:AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2],...)。
案例:
如下是部门员工绩效工资表:
部门 |
员工姓名 |
绩效评分 |
绩效工资 |
销售部 |
张三 |
80 |
1000 |
市场部 |
李四 |
90 |
1200 |
销售部 |
王五 |
85 |
1100 |
若要计算销售部中绩效评分大于 80 的员工的平均绩效工资,使用公式 =AVERAGEIFS(D2:D4, A2:A4, "销售部", C2:C4, ">80")。
参数详解:
- average_range:D2:D4 是要计算平均值的单元格区域,即绩效工资所在列(D 列)的单元格范围,最终要对这个区域里符合条件的数值求平均。
- criteria_range1:A2:A4 为第一个应用条件的单元格区域,这里是部门列,函数会先从这列判断是否符合条件。
- criteria1:"销售部" 是第一个定义哪些单元格将被平均的条件,即先筛选出部门是销售部的那些行。
- criteria_range2:C2:C4 是第二个应用条件的单元格区域,也就是绩效评分列,用于进一步筛选。
- criteria2:">80" 是第二个条件,意味着在前面筛选出销售部且绩效评分大于 80 的基础上,对相应的绩效工资数值求平均。
结果:1050
四、最大值和最小值函数
1. MAX
函数定义:MAX (number1, [number2],...),number1, number2,... 可以是数字、单元格引用或范围。
案例:
有一份商品销售价格表如下:
商品名称 |
价格 |
商品 A |
100 |
商品 B |
150 |
商品 C |
120 |
若要计算这些商品中的最高价格,使用公式 =MAX(B2:B4)。
参数详解:
- B2:B4:可以是数字、单元格引用或范围,这里是价格所在列(B 列)的单元格范围,函数会在这个范围内查找并返回最大值。也就是从这些商品价格里找出最高的那个数值。
结果:150
2. MAXIFS
函数定义:MAXIFS(max_range, criteria_range1, criteria1, [criteria_range2, criteria2],...)。
案例:
以下是不同店铺的商品销售价格表:
店铺名称 |
商品名称 |
价格 |
店铺 1 |
商品 A |
100 |
店铺 2 |
商品 B |
150 |
店铺 1 |
商品 C |
120 |
若要计算店铺 1 里商品的最高价格,使用公式 =MAXIFS(C2:C4, A2:A4, "店铺1")。
参数详解:
- max_range:C2:C4 是要找出最大值的单元格区域,即价格所在列(C 列)的单元格范围,函数要在这个区域里找符合条件的最大值。
- criteria_range1:A2:A4 是应用条件的单元格区域,也就是店铺名称列(A 列),函数从这列判断哪些行符合条件。
- criteria1:"店铺1" 是定义哪些单元格将被考虑的条件,即筛选出店铺名称是店铺 1 的那些行,然后在对应的价格里找最大值。
结果:120
3. LARGE
函数定义:LARGE(array, k)。
案例:
有一份员工绩效得分表如下:
员工姓名 |
绩效得分 |
张三 |
80 |
李四 |
90 |
王五 |
85 |
赵六 |
75 |
若要找出绩效得分第二大的值,使用公式 =LARGE(B2:B5, 2)。
参数详解:
- array:B2:B5 是要找出第 k 个最大值的数组或单元格区域,也就是绩效得分所在列(B 列)的单元格范围,函数会在这个范围内操作。
- k:这里 k = 2,表示要求的是第 2 个最大值,也就是在这些绩效得分里找出第二大的那个数值。
结果:85
4. MIN
函数定义:MIN (number1, [number2],...),number1, number2,... 可以是数字、单元格引用或范围。
案例:
有一份原材料采购价格表如下:
原材料名称 |
价格 |
材料 A |
100 |
材料 B |
80 |
材料 C |
90 |
若要计算这些原材料中的最低价格,使用公式 =MIN(B2:B4)。
参数详解:
- B2:B4:可以是数字、单元格引用或范围,这里是价格所在列(B 列)的单元格范围,函数会在这个范围内查找并返回最小值,也就是从这些原材料价格里找出最低的那个数值。
结果:80
5. MINIFS
函数定义:MINIFS(min_range, criteria_range1, criteria1, [criteria_range2, criteria2],...)。
案例:
以下是不同供应商提供的原材料采购价格表:
供应商 |
原材料名称 |
价格 |
供应商 1 |
材料 A |
100 |
供应商 2 |
材料 B |
80 |
供应商 1 |
材料 C |
90 |
若要计算供应商 1 提供的原材料的最低
5. MINIFS
函数定义:MINIFS(min_range, criteria_range1, criteria1, [criteria_range2, criteria2],...)。
案例:
以下是不同供应商提供的原材料采购价格表:
供应商 |
原材料名称 |
价格 |
供应商 1 |
材料 A |
100 |
供应商 2 |
材料 B |
80 |
供应商 1 |
材料 C |
90 |
若要计算供应商 1 提供的原材料的最低价格,使用公式 =MINIFS(C2:C4, A2:A4, "供应商1")。
参数详解:
- min_range:C2:C4 是要找出最小值的单元格区域,也就是价格所在列(C 列)的单元格范围,函数会在这个区域里依据条件去查找最小值。
- criteria_range1:A2:A4 是应用条件的单元格区域,即供应商这一列(A 列),函数从这列判断哪些行符合条件。
- criteria1:"供应商1" 是定义哪些单元格将被考虑的条件,意味着筛选出供应商是供应商 1 的那些行,然后在对应的价格里找最小值。
结果:90
6. SMALL
函数定义:SMALL(array, k)。
案例:
有一份学生考试成绩表如下:
学生姓名 |
成绩 |
张三 |
80 |
李四 |
90 |
王五 |
70 |
赵六 |
85 |
若要找出成绩第三小的值,使用公式 =SMALL(B2:B5, 3)。
参数详解:
- array:B2:B5 是要找出第 k 个小值的数组或单元格区域,即成绩所在列(B 列)的单元格范围,函数会在这个给定范围内去查找相应小值。
- k:这里 k = 3,表示要求的是第 3 个最小值,也就是在这些成绩里找出第三小的那个数值。
结果:80
五、万能统计函数 AGGREGATE
1. AGGREGATE
函数定义:AGGREGATE(function_num, options, ref1, [ref2],...)。
案例:
有一份员工销售额表如下,其中李四的销售额数据出现错误值 #DIV/0!,并且有部分行设置为隐藏(假设王五那行隐藏了):
员工姓名 |
销售额 |
张三 |
100 |
李四 |
#DIV/0! |
王五 |
150 |
若要计算总销售额,忽略隐藏行和错误值,使用公式 =AGGREGATE(9, 6, B2:B4)。
参数详解:
- function_num:这里用 9,它对应于 SUM 函数,也就是执行求和的操作,不同的数字代码代表不同的函数功能(如求平均值、计数等都有对应的代码)。
- options:这里 6 表示忽略隐藏行和错误值,根据具体需求可以选择不同的选项值来控制函数对隐藏行、错误值等的处理方式。
- ref1, ref2,...:B2:B4 是要分析的实际单元格区域,也就是销售额所在列(B 列)的相关单元格范围,函数会对这个区域内的数据按照前面设定的函数功能及处理选项进行相应操作。
结果:100
通过对这些函数详细的案例及参数解析,可以更深入了解它们各自的特点及适用场景,在实际的 Excel 数据处理与分析工作中,就能根据具体需求准确地运用这些函数,高效地完成各项任务,提升数据处理的效率和准确性。
️Excel原来要这么学
看见更大的世界