EP02. “Custom Average Function 自定义平均值函数”
🔒 登录后可标记已读- 延续 EP01 的自定义函数概念,做一个「排除极端值再算平均」的自定义函数 CUSTOMAVERAGE
- 这个函数只统计落在指定上下限区间内的数字
- 前置知识:EP01 的自定义函数写法和 For Each 循环
- 学完能自己写「带筛选条件」的自定义统计函数
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
建立自定义函数:CUSTOMAVERAGE
Function CUSTOMAVERAGE(rng As Range, lower As Integer, upper As Integer)
Dim cell As Range, total As Integer, count As Integer
For Each cell In rng
If cell.Value >= lower And cell.Value <= upper Then
total = total + cell.Value
count = count + 1
End If
Next cell
CUSTOMAVERAGE = total / count
End Function
逻辑说明
- 函数带三个参数:要统计的范围
rng、下限lower、上限upper - 逐一检查范围里每个单元格,只有数值落在
lower到upper之间才纳入统计(total累加、count计数) - 循环结束后,用
total / count算出平均值——因为只统计了区间内的数字,极端值(超出上下限的)不会拉低或拉高平均结果
使用方式
=CUSTOMAVERAGE(A1:A20,10,100),只会平均 A1:A20 里介于 10 到 100 之间的数字。
学完你会
- ✅ 写一个带多个参数(范围 + 上下限)的自定义函数
- ✅ 用
total/count两个累加变量算出符合条件数字的平均值 - ✅ 知道自定义函数可以做到内建 AVERAGEIFS 之外更灵活的筛选逻辑
常见错误
- 上下限参数顺序填反(该填小的填成大的),条件永远不成立,平均值算出除以 0 的错误
- 忘记极端值本身还是会被读到、只是不纳入统计,误以为函数会先删除极端值
total和count没有在循环外先归零,累加结果跟预期不符
Sources
Blog / Website: