以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数据统计  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=110230)

--  作者:tmqsj
--  发布时间:2017/11/29 14:35:00
--  数据统计
我有一个工作表,有日期和金额两个字段,想要实现以下功能,怎样设计:
1、按日期和金额从大到小排序
2、能够按金额累计达到一定值进行筛选,如:500、400、300、200、100,筛选累计到1000的记录,则只有前三条记录显示

--  作者:有点甜
--  发布时间:2017/11/29 14:52:00
--  

1、排序

 

Tables("表A").Sort = "日期 desc,金额 desc"

 

2、在排序基础上,循环每一行,相减即可,如

 

Dim t As Table = Tables("表A")
t.Sort = "日期 desc,金额 desc"
Dim sum As Double = 1000
Dim idx As String = "-1,"
For Each r As Row In t.rows
    If sum >= r("金额") Then
        sum -= r("金额")
        idx &= r("_Identify") & ","
    Else
        idx &= r("_Identify") & ","
        Exit For
    End If
Next
t.filter = "_Identify in (" & idx.trim(",") & ")"


--  作者:tmqsj
--  发布时间:2017/11/30 17:48:00
--  
谢谢