ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: cyiori

[求助] 上半年加班统计,请老师们指导,不胜感激!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-6-10 08:06 | 显示全部楼层
我发现,其实8楼的人数计算结果是错误的,有重复计数。现修改语句如下:

select [Current Sub-team],[OT Year],[OT Month],[OT Date],[Total(Hours)],0 as 人数 from(
select b.[Current Sub-team],b.[Staff ID],a.[OT Year],a.[OT Month],a.[OT Date],a.[Total(Hours)] from [Current staff$]b left join [OT Record$]a on a.[Staff NO]=b.[Staff ID] where b.[Staff ID] is not null) union all
select [Current Sub-team],0,0,0,0,count([Staff ID]) as 人数 from [Current staff$] group by [Current Sub-team]
11+++.gif

Book1.rar

38.78 KB, 下载次数: 9

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-10 17:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 抹香鲸2009 于 2010-6-10 08:06 发表
我发现,其实8楼的人数计算结果是错误的,有重复计数。现修改语句如下:

select [Current Sub-team],[OT Year],[OT Month],[OT Date],[Total(Hours)],0 as 人数 from(
select b.[Current Sub-team],b.[Staff ID] ...

哈哈,我今天交出去后也发现问题了……
刚刚修改好(老板正准备过来盘问我…… ),就准备上来说一下的,发现你也更新好了……
我的是根据昨天的那个版本改了个简单版的,放出来给大家看看:
select b.[Staff ID],sum([Total(Hours)]) as [Total(Hours)],b.[Current Sub-team],1 as Staffs from [Current Staff$]b left join [OT Record$]a on a.[Staff NO]=b.[Staff ID] where b.[Staff ID] is not null group by b.[Staff ID],b.[Current Sub-team]

PS,怎么传不了图片,说我无效的图片文件……

[ 本帖最后由 cyiori 于 2010-6-10 17:29 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-6-10 17:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
首先要向楼主道歉,做完未检查,匆忙交给你,害的你险些被领导批。其次,发图片很简单,要加到附件中发,编辑完以后,就可以看到贴图了。补充一句:你的解法很好。但是你的平均加班时间,不能在透视表中插入计算字段得到结果,可能要分步走,转换为普通表格后插入公式计算了,或者在透视表外补一列,潜入公式计算出平均加班时间。

[ 本帖最后由 抹香鲸2009 于 2010-6-10 17:52 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-10 18:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 抹香鲸2009 于 2010-6-10 17:38 发表
首先要向楼主道歉,做完未检查,匆忙交给你,害的你险些被领导批。其次,发图片很简单,要加到附件中发,编辑完以后,就可以看到贴图了。补充一句:你的解法很好。但是你的平均加班时间,不能在透视表中插入计算字段 ...

可以呀,我是在透视表生成后,再插入一个公式:=CEILING('Total(Hours)'/Staffs,0.01), 这样就可以啦。
另外,我发现不能选年月日了,选了年月日,人数那列就会变成0……

TA的精华主题

TA的得分主题

发表于 2010-6-11 07:35 | 显示全部楼层
原帖由 cyiori 于 2010-6-10 18:09 发表

可以呀,我是在透视表生成后,再插入一个公式:=CEILING('Total(Hours)'/Staffs,0.01), 这样就可以啦。
另外,我发现不能选年月日了,选了年月日,人数那列就会变成0……

当然不能选年月日了,语句已经把所有时间段的数据汇总了,无法再拆分了。

TA的精华主题

TA的得分主题

发表于 2010-6-11 09:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
数据透视表可以吧?   我也是刚刚学习。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-11 09:53 | 显示全部楼层
哎……
有没有办法可以做一个按月份来的呢?
我给领导解释了,这个结果只能看全部的,不能按月份来选择,主要问题就是小组人数没法统计出来,他不听,让我去想办法!真是不让人活了……
那如果我用另外一个透视表单独统计出各小组的人数。能否有办法可以把2个透视表合在一起……?

TA的精华主题

TA的得分主题

发表于 2010-6-11 12:03 | 显示全部楼层
以下是月均加班时间语句:

select a.[Current Sub-team],a.[OT Year],a.[OT Month],a.[Total(Hours)],b.人数 from
(select [Current Sub-team],[OT Year],[OT Month],sum([Total(Hours)]) as [Total(Hours)] from(select b.[Current Sub-team],b.[Staff ID],a.[OT Year],a.[OT Month],a.[Total(Hours)] from [Current staff$]b left join [OT Record$]a on a.[Staff NO]=b.[Staff ID] where b.[Staff ID] is not null) group by [Current Sub-team],[OT Year],[OT Month])a
left join (select [Current Sub-team],count([Staff ID]) as 人数 from [Current staff$] group by [Current Sub-team])b on a.[Current Sub-team]=b.[Current Sub-team]

[ 本帖最后由 抹香鲸2009 于 2010-6-11 12:55 编辑 ]
月均加班时间.gif

Book1.rar

36.32 KB, 下载次数: 3

TA的精华主题

TA的得分主题

发表于 2010-6-11 12:56 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
楼主可以自己验证一下楼上结果,据我初步验证结果正确。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-29 04:30 , Processed in 0.053463 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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