以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  max函数问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=86908)

--  作者:HJG_HB950207
--  发布时间:2016/6/28 17:50:00
--  max函数问题

表有如下几个字段,有姓名,A评分,B评分,C评分,D评评分,E评分,最后得分

 

 

最后得分为自动计算,最后评分去掉最高分、去掉最低分后,剩下的3个评分之和除3

 

 

相当于电子表格里:

                     最后得分=(SUM(A评分:E评分)-MAX(A评分:E评分)-MIN(A评分:E评分))/3

 

 


--  作者:HJG_HB950207
--  发布时间:2016/6/28 17:51:00
--  
不知以上在FOXTABLE中如何实现,好像有点麻烦
--  作者:大红袍
--  发布时间:2016/6/28 17:58:00
--  

 要写代码处理

 

Dim ns() As Double = {2, 3, 5,1,4}
Dim min As Double = 999
Dim max As Double = 0
Dim sum As Double = 0
For Each n As Double In ns
    If n < min Then
        min = n
    End If
    If n > max Then
        max = n
    End If
    sum += n
Next
Dim avg As Double = (sum-max-min)/3
msgbox(avg)


--  作者:HJG_HB950207
--  发布时间:2016/6/28 18:00:00
--  

谢谢


--  作者:HJG_HB950207
--  发布时间:2016/6/28 18:16:00
--  

好像不行


--  作者:大红袍
--  发布时间:2016/6/28 18:20:00
--  
 我测试,没问题。贴出你写的代码
--  作者:HJG_HB950207
--  发布时间:2016/6/28 18:21:00
--  
OK了,谢谢
--  作者:HJG_HB950207
--  发布时间:2016/6/28 19:06:00
--  

Dim cs() As String = {"第四列", "第二列", "第三列","第五列","第六列"}

For Each dr As DataRow In DataTables("表A").Datarows
    Dim min = dr(cs(0))
    For Each c As String In cs
        If dr(c) < min Then min = dr(c)
    Next
    dr("DD") = min
Next


Dim cs1() As String = {"第四列", "第二列", "第三列","第五列","第六列"}

For Each dr As DataRow In DataTables("表A").Datarows
    Dim mAX = dr(cs1(0))
    For Each c As String In cs1
        If dr(c) > MAX Then MAX = dr(c)
    Next
    dr("WW") = MAX
Next

 

 

最大值、最小值出,就插入表达列很方便