以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何设置同一时间段同1个为1次工作量,同1个在不同时间段出现,为第2次 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96594) |
||||
-- 作者:suha_splendid -- 发布时间:2017/2/23 20:58:00 -- 如何设置同一时间段同1个为1次工作量,同1个在不同时间段出现,为第2次
计数列为想要的结果。这是一个个手动填制。 原始数据有上万个,怎么设置公式减少工作量。 目的就是计算,一个收费员的工作量。 感谢各位能够提供好简便方法! |
||||
-- 作者:有点色 -- 发布时间:2017/2/23 21:24:00 -- Dim bjs As List(Of String) = DataTables("表A").GetValues("日期") Dim idx As Integer = 0 For Each bj As String In bjs Dim drs As List(Of DataRow) = DataTables("表A").Select("[日期] = #" & bj & "#", "姓名 DESC") For n As Integer = 0 To drs.Count - 1 \'遍历所有行 If n > 0 AndAlso drs(n)("姓名") = drs(n-1)("姓名") Then \'如果和上一行相同 drs(n)("第四列") = drs(n-1)("第四列") \' Else idx += 1 drs(n)("第四列") = idx \'设置排名 End If Next Next |
||||
-- 作者:suha_splendid -- 发布时间:2017/2/24 9:30:00 -- 不好意思啊,设置了可是不是想要的结果,计数列才是所要的结果。同一姓名为一次工作量。
|
||||
-- 作者:有点色 -- 发布时间:2017/2/24 9:43:00 -- Dim t As Table = Tables("表A") t.sort = "日期, 姓名" t.Rows(0)("第四列") = 1 Dim count As Integer = 1 For i As Integer = 1 To t.Rows.count-1 Dim pr As Row = t.Rows(i-1) Dim r As Row = t.Rows(i) If r("姓名") <> pr("姓名") OrElse cdate(r("日期")).Date <> cdate(pr("日期")).Date Then count += 1 End If r("第四列") = count Next |
||||
-- 作者:suha_splendid -- 发布时间:2017/2/24 10:07:00 -- 可以了,非常感谢! |