
此主题相关图片如下:1.png

表格数据如图所示,如何统计每个人的下站天数和夜巡天数
Dim dt As DataTable
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("检查人", Gettype(String), 16)
dtb.AddDef("下站天数", Gettype(Double))
dt = dtb.Build()
'开始逐行累加统计
Dim lst As New Dictionary(of String ,DataRow)
'定义一个字典,用于检索每个员工在统计表中对应的行
For Each dr1 As DataRow In
DataTables("sheet1").DataRows
If
dr1.IsNull("机关管理干部") = False Then
Dim
nms() As String = dr1("机关管理干部").Split(",")
For Each
nm As String In nms
Dim
dr2 As DataRow
If
lst.ContainsKey(nm)
dr2= lst(nm)
Else
dr2 = dt.AddNew()
dr2("检查人") = nm
lst.add(nm,dr2)
End
If
dr2("下站天数") = dr2("下站天数") + 1
Next
End If
Next
因为同一个检查地点发现两件违章需要录入两行,所以上面代码没法去除重复值
[此贴子已经被作者于2017/3/30 11:52:42编辑过]