Foxtable(狐表)用户栏目专家坐堂 → [求助]复选后的统计问题


  共有4642人关注过本帖树形打印复制链接

主题:[求助]复选后的统计问题

帅哥哟,离线,有人找我吗?
itoirobou
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:247 威望:0 精华:0 注册:2014/10/25 10:53:00
[求助]复选后的统计问题  发帖心情 Post By:2014/12/18 14:20:00 [只看该作者]

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

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

 

 

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

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/18 14:30:00 [只看该作者]

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
itoirobou
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:247 威望:0 精华:0 注册:2014/10/25 10:53:00
  发帖心情 Post By:2014/12/18 14:54:00 [只看该作者]

例子上传了

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:247 威望:0 精华:0 注册:2014/10/25 10:53:00
  发帖心情 Post By:2014/12/18 15:26:00 [只看该作者]

如果是还想保持表A的结构,金额不作合计的话要怎么办

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/18 15:27:00 [只看该作者]

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

 

什么意思。


 回到顶部
帅哥哟,离线,有人找我吗?
itoirobou
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:247 威望:0 精华:0 注册:2014/10/25 10:53:00
  发帖心情 Post By:2014/12/18 15:49:00 [只看该作者]

效果就像是表A重新排序,业务员这栏都只有一个名字,金额按照业务平均分配

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/18 15:52:00 [只看该作者]

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
itoirobou
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:247 威望:0 精华:0 注册:2014/10/25 10:53:00
  发帖心情 Post By: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

......


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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

 回到顶部
总数 11 1 2 下一页