以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]复选后的统计问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61747)

--  作者:itoirobou
--  发布时间:2014/12/18 14:20:00
--  [求助]复选后的统计问题

如果我某个单元格录入的时候是用复选录入了两个姓名,之后统计的时候想把这两个姓名分别筛选出来统计有办法吗,

还是说应该一开始就录入在两个单元格里

 

 

大概做了一个例子,想要分别统计各个业务员的业务和金额,金额的话各自平均分配

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5.zip

[此贴子已经被作者于2014-12-18 14:50:25编辑过]

--  作者:有点甜
--  发布时间:2014/12/18 14:30:00
--  

 写在一起,也可以统计,但是就必须用额外用代码处理。

 

 具体问题,做个例子上传上来,说明目的


--  作者:itoirobou
--  发布时间:2014/12/18 14:54:00
--  
例子上传了
--  作者:有点甜
--  发布时间:2014/12/18 15:12:00
--  
Dim t As Table = Tables("表A")
Dim dt As DataTable = DataTables("表C")
dt.DataRows.Clear
For Each r As Row In t.Rows
    Dim ns() As String = r("业务员").split(",")
    Dim m As Double = val(r("金额")) / ns.Length
    For Each s As String In ns
        Dim fdr As DataRow = dt.Find("第一列 = \'" & s & "\'")
        If fdr Is Nothing Then
            fdr = dt.AddNew
            fdr("第一列") = s
        End If
        fdr("第二列") = val(fdr("第二列")) + m
    Next
Next

--  作者:itoirobou
--  发布时间:2014/12/18 15:26:00
--  
如果是还想保持表A的结构,金额不作合计的话要怎么办
--  作者:有点甜
--  发布时间:2014/12/18 15:27:00
--  
以下是引用itoirobou在2014-12-18 15:26:00的发言:
如果是还想保持表A的结构,金额不作合计的话要怎么办

 

什么意思。


--  作者:itoirobou
--  发布时间:2014/12/18 15:49:00
--  
效果就像是表A重新排序,业务员这栏都只有一个名字,金额按照业务平均分配
--  作者:有点甜
--  发布时间:2014/12/18 15:52:00
--  

 把值全部复制过表C就行啦,代码看4楼。

 

 原表A做不到你那种效果。


--  作者:itoirobou
--  发布时间:2014/12/18 16:37:00
--  

我还是不太明白要怎么改这段代码,

最终效果是在表C显示

2014-12-18  业务1 李四 500

2014-12-18  业务1 王五 500
2014-12-18  业务2 张三 1000

2014-12-18  业务2 王五 1000

2014-12-19  业务3 李四 1000

2014-12-19  业务3 王五 1000

2014-12-19  业务3 王五 1000

......


--  作者:有点甜
--  发布时间:2014/12/18 16:55:00
--  
Dim t As Table = Tables("表A")
Dim dt As DataTable = DataTables("表C")
dt.DataRows.Clear
For Each r As Row In t.Rows
    Dim ns() As String = r("业务员").split(",")
    Dim m As Double = val(r("金额")) / ns.Length
    For Each s As String In ns
        Dim fdr As DataRow
        fdr = dt.AddNew
        fdr("第一列") = r("日期")
        fdr("第二列") = r("业务")
        fdr("第三列") = s
        fdr("第四列") = m
    Next
Next