Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2903|回复: 6

[已解决][求助] VBA+SQL 统计并列出特定天数内件数率

[复制链接]
发表于 2011-1-23 11:30 | 显示全部楼层 |阅读模式
求助:
如附件,求:根据数据源A:D列数据,列出左表的“业务员、3天内付款率、总件数”(数据量大,希望能用VBA+SQL解决)
3天内付款率=每个业务员(付款时间-订单生成时间)<=3的件数除以其销售的总件数。
付款时间为空的单元格,是未付款。
烦请高手予以赐教,谢谢!
统计一定天数内件数.rar (2.6 KB, 下载次数: 27)
发表于 2011-1-23 12:33 | 显示全部楼层
本帖最后由 mxg825 于 2011-1-23 12:34 编辑

数据源 没有【总件数】 这一列!
还是一行为一件?
最好把答案也写上去!
这样方便理解和测试!
回复

使用道具 举报

 楼主| 发表于 2011-1-23 12:36 | 显示全部楼层
总件数需要计算,即单个业务员各自所销售的件数总和。谢谢!
回复

使用道具 举报

发表于 2011-1-23 12:58 | 显示全部楼层

  1. select a.业务员,format(s/总件数,"0.00%") as 三天内付款率,总件数 from
  2. (select 业务员,count(订单生成时间) as s from [数据源$]where DateDiff("d",DateValue(订单生成时间),DateValue(iif(付款时间="",#9999-1-1#,付款时间)))-3<=0 group by 业务员)a
  3. inner join
  4. (select 业务员,count(业务员) as 总件数 from [数据源$]group by 业务员)b
  5. on a.业务员=b.业务员
复制代码
回复

使用道具 举报

发表于 2011-1-23 13:11 | 显示全部楼层    本楼为最佳答案   
  1. select a.业务员,format(s/总件数,"0.00%") as 三天内付款率,总件数 from
  2. (select 业务员,count(订单生成时间) as s from [数据源$]where DateDiff("d",DateValue(订单生成时间),DateValue(iif(付款时间="",#9999-1-1#,付款时间)))-3<=0 group by 业务员)a
  3. inner join
  4. (select 业务员,count(业务员) as 总件数 from [数据源$] where 付款时间<>"" group by 业务员)b
  5. on a.业务员=b.业务员
复制代码
回复

使用道具 举报

发表于 2011-1-23 14:21 | 显示全部楼层
学习……………………………………
回复

使用道具 举报

 楼主| 发表于 2011-1-23 15:10 | 显示全部楼层
本帖最后由 lisan 于 2011-1-23 15:17 编辑

谢谢wuxiang_123老师!问题解决。谢谢您了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-6 10:18 , Processed in 0.335681 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表