平均函数average的一般和不一般的用法

average是求平均函数,返回参数的平均值 (算术平均值)。今天说下它的常规用法和不常规用法。

-01-

函数说明

它的函数写法如下:

AVERAGE(number1, [number2], ...)

Number1    必需。要计算平均值的第一个数字、单元格引用或单元格区域。

Number2, ...    可选。要计算平均值的其他数字、单元格引用或单元格区域,最多可包含 255 个。

注意:

  • 参数可以是数字或者是包含数字的名称、单元格区域或单元格引用。

  • 直接键入到参数列表中的数字的逻辑值和文本会计算在内。

  • 如果区域或单元格引用参数包含文本、逻辑值或空单元格,则这些值将被忽略;但包含零值的单元格将被计算在内。

  • 如果参数为错误值或为不能转换为数字的文本,将会导致错误。

-02-

示例解释

1.求每个人3科的平均分

在E3单元格输入公式=AVERAGE(B3:D3),下拉完成。求B3:D3这个区域的平均值,也就是84,68,66的平均值。常规用法就是这么简单。

-03-

具体应用

1.如果3科成绩都大于60分,求平均分数,否则显示为0

思路肯定是先判断3科是否都大于60,如果大于,求平均,否则为0。常规的做法是先用and来判断3科是否都大于60,再用if来返回对应的值。公式为=IF(AND(B12>60,C12>60,D12>60),AVERAGE(B12:D12),)

但是,现在就要用average的不常规用法来完成,公式为=(AVERAGE(B12>60,C12>60,D12>60)=1)*AVERAGE(B12:D12),下拉完成。

AVERAGE(B12>60,C12>60,D12>60)这部分是求3个逻辑值的平均分,相当于AVERAGE(TRUE,TRUE,TRUE),可以按F9查看。当逻辑值在参数中,不在数组中时,是会参与运算的,相当于1。也就是average(1,1,1),最后还是1。

3科中如果有1科小于60或者多科小于60,average的结果就会小于1。所以用average的结果和1比较,如果等于1,说明3科分数都是大于60的,否则至少有1科分数是小于60分的。

最后用AVERAGE(B12>60,C12>60,D12>60)=1的结果和AVERAGE(B12:D12)相乘,就是它的平均分。如果AVERAGE(B12>60,C12>60,D12>60)不等于1,最后相乘的结果返回0。

不知道你明白了没有,最好按F9进行查看。

2.如果工龄超过5年,奖金加200,否则加100

通常的做法是用if函数进行判断,公式为=IF(B21>=5,200,100),下拉完成。如果用average来完成呢?在E21单元格输入公式=AVERAGE(B21>=5,1)*200,下拉完成。和上面的思路差不多,用工龄大于等于5的结果和1求平均,结果为1和0.5。最后再乘以200就是对应的奖金。当然这里200和100是2倍的关系,如果没有这种关系,这种方法就不行了。

链接:

https://pan.baidu.com/s/1Auh4Tnit1XQfcwhSUeSSeQ

提取码:m29l

(0)

相关推荐