Foxtable(狐表)用户栏目专家坐堂 → 平均值内部函数


  共有1775人关注过本帖树形打印复制链接

主题:平均值内部函数

帅哥哟,离线,有人找我吗?
qaz17909
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:774 积分:8830 威望:0 精华:0 注册:2017/1/26 14:38:00
平均值内部函数  发帖心情 Post By:2018/12/10 20:42:00 [只看该作者]

想做一个平均值的内部函数,想应用在单元格,当某个单元格为空的时候,不列入进行计算平均值,例如三个单元格,分别是2,2和空值,平均值想得到2,但现在得到的是1.33
如下代码如何改进?
Dim Sum As Double
Dim Count As Integer
For i As Integer = 0 To Args.Length - 1
    If Args(i) IsNot Nothing Then
        Sum = Sum + Args(i)
        Count = Count + 1
    End If
Next
If Count > 0 Then
    Dim Average As Double = Sum/Count
    Return Average
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/12/10 21:03:00 [只看该作者]

传入函数的是什么值?

 回到顶部
帅哥哟,离线,有人找我吗?
qaz17909
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:774 积分:8830 威望:0 精华:0 注册:2017/1/26 14:38:00
  发帖心情 Post By:2018/12/10 21:04:00 [只看该作者]

Dim r As Row = CurrentTable.Current
Dim n As Double = Functions.Execute("Average",r("流量A1"),r("流量A2"),r("流量A3"))
Output.show(n)
三个单元格是双精度小数
[此贴子已经被作者于2018/12/10 21:18:28编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/12/10 21:24:00 [只看该作者]

函数
Dim Sum As Double
Dim Count As Integer
dim r as row = args(0)
For i As Integer = 1 To Args.Length - 1
    If r.isnull(Args(i)) = false Then
        Sum = Sum + r(Args(i)
        Count = Count + 1
    End If
Next
If Count > 0 Then
    Dim Average As Double = Sum/Count
    Return Average
End If

调用改为:
Dim r As Row = CurrentTable.Current
Dim n As Double = Functions.Execute("Average",r,"流量A1","流量A2","流量A3")
Output.show(n)

 回到顶部