前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AVERAGEIF有缺陷,我来自定义函数MyAverageIf

AVERAGEIF有缺陷,我来自定义函数MyAverageIf

作者头像
哆哆Excel
发布2022-10-31 15:40:45
2910
发布2022-10-31 15:40:45
举报
文章被收录于专栏:哆哆Excel

看图说话

===数据源===

===条件个数,条件和,和/个数=平均,AVERAGEIF平均===

你能不能看出问题

【我的自定义函数】

代码语言:javascript
复制
'AVERAGEIF是条件求平均,有一个小Bug,就是单元格没有数据时不计个数的,如:123空4的平均数为10/5,但计算时是10/4
'所以为了解决此问题自定义条件求平均
'MyAverageIfs(条件区域,条件单元格,平均区域)
'使用=MyAverageIf($B$3:$B$17,G3,$C$3:$C$17)
Function MyAverageIf(rng As Range, conrng As Range, AVrng As Range)
       Dim i%, j%, rng1Col%, rng2Col%
       Dim num As Integer, sum As Single, r As Range
       AVrngCol = AVrng.Column
       For Each r In rng
           If r.Value = conrng.Value Then
                temp = Val(Cells(r.Row, AVrngCol).Value)
                num = num + 1
                sum = sum + temp
           End If
       Next
       MyAverageIf = CSng(sum / num)
       MyAverageIf = Format$(MyAverageIf, "0.00")
End Function

Sub tt()
    d = MyAverageIf([B2:B16], [C2:C16], [G2])
    MsgBox d
End Sub

结果

如果你感觉学习到东西,请转发给更多人学习到。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档