Excel计数、求和、统计、计算类函数

发布于:2025-04-08 ⋅ 阅读:(36) ⋅ 点赞:(0)

一、计数函数

1. COUNT

功能说明

  • 用于统计参数中数字的个数。
  • 只会统计含数字的单元格,对于文本、空值、错误值等不计入

语法

=COUNT(value1, [value2],)

示例
如果区域 A1:A10 中有数字和文本,公式

=COUNT(A1:A10)

只返回区域中包含数字的单元格数。


2. COUNTA

功能说明

  • 统计区域内非空单元格的个数。
  • 包括数字、文本、逻辑值、错误值等,只要单元格不为空都会计数

语法

=COUNTA(value1, [value2],)

示例

=COUNTA(A1:A10)

会统计 A1 到 A10 内所有非空的单元格数。


3. COUNTBLANK

功能说明

  • 统计指定区域内空白单元格的个数。

语法

=COUNTBLANK(range)

示例

=COUNTBLANK(A1:A10)

返回区域内空白单元格的数量。


4. COUNTIF

功能说明

  • 根据给定条件统计区域中符合条件的单元格个数。

语法

=COUNTIF(range, criteria)

示例
统计区域 B1:B20 中大于 100 的数值:

=COUNTIF(B1:B20, ">100")

5. COUNTIFS

功能说明

  • 用于统计多个区域中同时满足多个条件的单元格个数。

语法

=COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2],)

示例
统计区域 A1:A20 中等于“上海”且区域 B1:B20 中性别为“F”的单元格数:

=COUNTIFS(A1:A20, "上海", B1:B20, "F")

二、求和函数

1. SUM

功能说明

  • 将给定范围或参数中的所有数值求和。

语法

=SUM(number1, [number2],)

示例

=SUM(C1:C10)

将 C1 到 C10 的数值求和。


2. SUMIF

功能说明

  • 对满足单个条件的单元格求和。

语法

=SUMIF(range, criteria, [sum_range])

其中:

  • range:判断条件的区域。
  • criteria:条件(如 “>100”、“男”、“上海” 等)。
  • sum_range:实际求和的区域(如果省略,则对 range 进行求和)。

示例
求区域 D1:D20 中对应区域 C1:C20 为“男”的数值之和:

=SUMIF(C1:C20, "男", D1:D20)

3. SUMIFS

功能说明

  • 对满足多个条件的单元格求和。

语法

=SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2],)

示例
统计区域 D1:D20 中,同时满足区域 B1:B20 为“广州”且区域 C1:C20 为“F”的数值之和:

=SUMIFS(D1:D20, B1:B20, "广州", C1:C20, "F")

4. SUMPRODUCT

功能说明

  • 将多个数组对应元素相乘后求和,适用于复杂条件的加权求和等情况。
  • 非数字元素会被视作 0。

语法

=SUMPRODUCT(array1, [array2],)

示例
假设区域 A1:A5 为销量,区域 B1:B5 为单价,则总销售额可用:

=SUMPRODUCT(A1:A5, B1:B5)

三、统计函数

1. AVERAGE

功能说明

  • 返回参数中所有数字的算术平均值。
  • 忽略空白单元格和文本(逻辑值和错误值也会被忽略)。

语法

=AVERAGE(number1, [number2],)

示例

=AVERAGE(C1:C10)

计算 C1 到 C10 中数字的平均值。


2. AVERAGEA

功能说明

  • AVERAGEA 用于计算一组数据的算术平均值,但与 AVERAGE 不同的是,AVERAGEA 会将所有单元格都考虑进去,即使其中包含文本或逻辑值(TRUE/FALSE)。
  • AVERAGEA中:
    • 数字按原值参与计算。
    • 文本通常视为 0。
    • 逻辑值 TRUE 会视为 1,FALSE 视为 0。
    • 空单元格不计入计算(与 AVERAGE 类似)。

语法

=AVERAGEA(value1, [value2],)
  • value1, value2, …:可以是数值、数组、单元格区域或常量。

示例

假设 A1:A5 中分别为:

  • A1 = 10
  • A2 = 20
  • A3 = “文本”
  • A4 = TRUE
  • A5 = (空)

计算公式:

=AVERAGEA(A1:A5)

计算过程:

  • 数字 10 和 20:直接取值;
  • 文本 “文本” 视为 0;
  • TRUE 视为 1;
  • 空单元格不计入分母。

所以平均值 = (10 + 20 + 0 + 1) / 4 = 31 / 4 = 7.75

3. AVERAGEIF 函数

功能说明

AVERAGEIF 用于对指定范围内满足单一条件的单元格进行平均值计算。

  • 如果只需要依据一个条件筛选数据进行平均,则使用 AVERAGEIF 即可。
  • 如果未指定第三个参数,则计算平均值的范围默认与条件判断的范围相同。

语法

=AVERAGEIF(range, criteria, [average_range])

参数说明

  • range:指定需要进行条件判断的单元格区域。例如:B2:B20。
  • criteria:指定判断条件,可以是数值、表达式(如 “>50”)、文本、单元格引用等。例如:“>50” 或者 “男”。
  • average_range (可选):指定实际用于计算平均值的单元格区域。如果省略,函数会对 range 中满足条件的单元格直接求平均;如果提供,average_range 必须与 range 的尺寸一致,函数将对 average_range 中对应于 range 满足条件的单元格计算平均值。

示例

假设有如下数据:

  • B2:B20 存放某组学生的成绩
  • 现在需要计算成绩大于 60 分的学生的平均成绩

公式如下:

=AVERAGEIF(B2:B20, ">60")

或者,如果成绩数据在 C2:C20,而判断条件在 B2:B20(比如 B 列存放性别,C 列存放成绩),求“男”生的平均成绩,可以写为:

=AVERAGEIF(B2:B20, "男", C2:C20)

4. AVERAGEIFS 函数

功能说明

AVERAGEIFS 用于在多条件下计算平均值,即只有同时满足多个条件的单元格才会被纳入平均计算中。

  • 当需要针对多个条件进行筛选时,AVERAGEIFS 提供了灵活且简洁的解决方案。

语法

=AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2],)

参数说明

  • average_range:指定实际用于计算平均值的单元格区域。例如:C2:C20。
  • criteria_range1:第一个用于判断条件的区域,通常与 average_range 具有相同的尺寸。例如:B2:B20。
  • criteria1:第一个判断条件,例如:“男” 或 “>60”。
  • [criteria_range2, criteria2], …:可选的后续条件区域和条件。你可以添加多个条件,每个条件区域必须与 average_range 具有相同的大小,只有同时满足所有条件的单元格才会参与平均值计算。

示例

假设有如下数据:

  • B2:B20 存放学生所在城市
  • C2:C20 存放学生成绩
  • D2:D20 存放学生性别

若要求计算“上海”且性别为“女”的学生成绩平均值,可用如下公式:

=AVERAGEIFS(C2:C20, B2:B20, "上海", D2:D20, "女")

这表示只有当学生的城市为“上海”并且性别为“女”时,对应的成绩才会被计算在内。


两者主要区别

  • 条件个数
    • AVERAGEIF 仅支持单一条件。
    • AVERAGEIFS 支持多个条件,可同时指定多个条件区域与对应条件。
  • 参数顺序
    • AVERAGEIF 的语法中,条件判断区域在前,平均值区域为可选的第三参数;
    • AVERAGEIFS 的第一个参数必须是用于求平均的区域,后面跟着成对的条件区域和条件。
  • 应用场景
    • 当只需对一列数据按单个条件求平均时,使用 AVERAGEIF 更简单;
    • 当需要对数据进行多重筛选后求平均时,使用 AVERAGEIFS 更加灵活。

四、其他常用计算函数

1. MAX 与 MIN

功能说明

  • MAX:返回区域或数值中的最大值。
  • MIN:返回区域或数值中的最小值。

语法

=MAX(number1, [number2],)
=MIN(number1, [number2],)

示例

=MAX(D1:D20)
=MIN(D1:D20)

2. RANK

功能说明

  • 返回某个数字在区域中的排序位置。
  • 默认按降序排列(即最大值为第1名),可以通过第三个参数指定升序排列。

语法

=RANK(number, ref, [order])
  • number:需要排序的数字。
  • ref:用于排序的数值区域。
  • order:可选,0(或省略)表示降序,非0表示升序。

示例
假如 E1:E10 存放分数,求 E2 的排名(降序):

=RANK(E2, E1:E10, 0)

3. MOD

功能说明

  • 返回两数相除的余数
  • 返回结果的符号与除数相同。

语法

=MOD(number, divisor)

示例

=MOD(17, 5)

返回 2,因为 17 除以 5 的余数是 2。


4. ROUND

功能说明

  • 将数字四舍五入到指定的小数位数。

语法

=ROUND(number, num_digits)
  • number:要四舍五入的数字。
  • num_digits:要保留的小数位数,正数表示小数位,0 表示取整,负数则舍入到小数点左侧。

示例

=ROUND(3.14159, 2)

返回 3.14。


5. FLOOR

功能说明

  • 将数字向下舍入到最接近的指定基数的倍数
  • 若数字已是基数的倍数,则不变化。

语法

=FLOOR(number, significance)
  • number:需要舍入的数字。
  • significance:指定舍入的倍数。

示例

=FLOOR(17, 5)

返回 15。


6. INT

功能说明

  • 返回数字的整数部分,即向下舍入到最接近的整数。
  • 注意:对于负数,INT 会向更小的整数取整(例如 INT(-3.2) 返回 -4)。

语法

=INT(number)

示例

=INT(3.9)   ' 返回 3
=INT(-3.9)  ' 返回 -4

7. RAND 与 RANDBETWEEN

RAND

  • 功能说明:返回大于等于 0 且小于 1 [0,1)的随机实数。
  • 每次工作表计算时都会改变。

语法

=RAND()

示例

=RAND()

可能返回 0.4832 等随机小数。

RANDBETWEEN

  • 功能说明:返回介于指定下限和上限之间的随机整数。
  • 每次计算时会刷新新数值。

语法

=RANDBETWEEN(bottom, top)
  • bottom:随机整数的最小值。
  • top:随机整数的最大值。

示例

=RANDBETWEEN(1, 100)

可能返回 1 到 100 之间的任意整数。


8. STDEV

功能说明

  • STDEV 系列函数用于衡量数据的离散程度,即数据点与平均值之间的偏差。
  • Excel 中常用的有:
    • STDEV.S(或 STDEV):根据样本数据估算标准偏差。
    • STDEV.P:计算总体数据的标准偏差(假设数据集为总体)。

语法

  • 样本标准偏差(STDEV.S 或 STDEV):

    =STDEV.S(number1, [number2],)
    
  • 总体标准偏差(STDEV.P):

    =STDEV.P(number1, [number2],)
    

示例

假设数据位于 A1:A5 为:10, 20, 20, 30, 40
计算样本标准偏差:

=STDEV.S(A1:A5)

计算总体标准偏差:

=STDEV.P(A1:A5)

两者的计算公式略有不同,样本标准偏差的分母为 n-1,而总体标准偏差的分母为 n。


9. VAR

功能说明

  • VAR 系列函数用于衡量数据的变异程度,即标准偏差的平方。
  • 常用函数有:
    • VAR.S(或 VAR):基于样本数据估算方差。
    • VAR.P:计算总体数据的方差。

语法

  • 样本方差

    =VAR.S(number1, [number2],)
    
  • 总体方差

    =VAR.P(number1, [number2],)
    

示例

延续上例数据(10, 20, 20, 30, 40)
计算样本方差:

=VAR.S(A1:A5)

计算总体方差:

=VAR.P(A1:A5)

注意,方差值等于标准偏差的平方


10. LARGE

功能说明

  • LARGE 返回数组或区域中第 k 个最大值(即从大到小排序后第 k 个数)。

语法

=LARGE(array, k)
  • array:数据区域或数组。
  • k:要返回第 k 大的数值。

示例

假设区域 A1:A6 的数据为:{5, 10, 15, 20, 25, 30}
要找出第二大数:

=LARGE(A1:A6, 2)

返回结果为 25(即 30 为最大,25 为第二大)。


11. SMALL

功能说明

  • SMALL 返回数组或区域中第 k 个最小值(即从小到大排序后第 k 个数)。

语法

=SMALL(array, k)
  • array:数据区域或数组。
  • k:要返回第 k 小的数值。

示例

同样数据 {5, 10, 15, 20, 25, 30}
找出第二小的数:

=SMALL(A1:A6, 2)

返回结果为 10(5 为最小,10 为第二小)。


12. FREQUENCY

功能说明

  • FREQUENCY 函数用于统计数据在各个区间内的出现频率,返回一个垂直数组,数组元素的个数比分段区间多 1 个。
  • 其中,每个元素代表数据落在相应区间内的个数,最后一个元素统计超出最高区间的数目。

语法

=FREQUENCY(data_array, bins_array)
  • data_array:包含要统计的数据的区域。
  • bins_array:定义各区间上限的数组(或区域)。

使用注意

  • FREQUENCY 是一个数组函数,需要在输入公式后按 Ctrl+Shift+Enter(在新版 Excel 中可能自动识别数组公式)。
  • 返回的数组长度为分段数 + 1。

示例

假设:

  • data_array 在 A1:A10 存放一组成绩数据。
  • bins_array 在 C1:C3 存放三个分段上限(例如 60、80、100)。 公式:
=FREQUENCY(A1:A10, C1:C3)

返回结果为一个 4 行的数组,分别表示:

  1. 小于 60 分的个数;
  2. 大于或等于 60 且小于 80 的个数;
  3. 大于或等于 80 且小于 100 的个数;
  4. 大于或等于 100 的个数。

例如,若 A1:A10 的数据为 {55, 60, 65, 70, 75, 80, 85, 90, 95, 100},则 FREQUENCY 的结果可能为:

  • 第1组(<60):1
  • 第2组(60~79):4
  • 第3组(80~99):4
  • 第4组(>=100):1