ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 小小夏天天

[讨论] 年假计算公式

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2015-3-9 12:34 | 显示全部楼层
sunya_0529 发表于 2015-3-6 11:59
这个是内存运算的规则造成的,不算是BUG的BUG,浮点运算会出现这样的问题。你可以在整个公式外面再套一个 ...

哦,那意思就是,为了保证数据的准确性,在计算的时候,尽可能都用到ROUND公式?

TA的精华主题

TA的得分主题

发表于 2015-3-9 22:25 | 显示全部楼层
mubing1289 发表于 2015-3-9 12:34
哦,那意思就是,为了保证数据的准确性,在计算的时候,尽可能都用到ROUND公式?

整数的加减运算没关系的,有小数的,最好在最外层嵌套ROUND()以保证精度

TA的精华主题

TA的得分主题

发表于 2015-3-10 08:47 | 显示全部楼层
sunya_0529 发表于 2015-3-9 22:25
整数的加减运算没关系的,有小数的,最好在最外层嵌套ROUND()以保证精度

我用的2010版本,不知道是版本问题,还是怎么回事,我用的数字 1663.25,然后用的公式= Round(1663.25*0.1-105,2)结果等于61.32,当我把公式改为:Round(1663.25*0.1,2)-105的时候就等于61.33了,这个好奇怪呀

TA的精华主题

TA的得分主题

发表于 2015-3-10 10:24 | 显示全部楼层
小小夏天天 发表于 2012-5-29 11:54
研究出来了,研究出来了。上传供大家分享,同时也谢谢各位的指导。。。。。。

你好请问一下,你表中那个实时年假天数是什么意思?

TA的精华主题

TA的得分主题

发表于 2015-3-10 11:00 | 显示全部楼层
sunya_0529 发表于 2012-5-31 18:30
公式里已经定义了,工龄满1年以上的才有年假5天起的。不满1年的是0

不满一年的还是显示数字 呀,不是0

TA的精华主题

TA的得分主题

发表于 2015-5-12 12:13 | 显示全部楼层
本帖最后由 lboby10 于 2015-5-12 15:59 编辑
sunya_0529 发表于 2015-3-9 22:25
整数的加减运算没关系的,有小数的,最好在最外层嵌套ROUND()以保证精度

哎,脑残了,编辑掉,转了半天才转过来这个圈,只是由于我把取整的位置放错了。。。

版主大大,求助一下。

由于公司扣的比较死,那种入职时间不超过整年的都会舍去,(1年+是5天,5年+是10天,10年+15天)。 所以我在最外层加了个rounddown,但是现在出现了一个很奇怪的问题。不知道是我哪里做错了,求助一下。

如果入职时间是2013年5月27日,那么年假就会计算成5天, 而前一天26日或者后一天28日,就会计算成4天。

公式是:
  1. =IFERROR(SUM(INT(ABS(DATE(2015,MONTH(B6),DAY(B6))-DATE(2015+{0,1},1,1))*LOOKUP(DATEDIF(B6,DATE(2015,12,31),"y")-{1,0},{0,0;1,5;5,10;10,15})/SUM(DATE(2015+{1,0},1,1)*{1,-1}),0)),0)
复制代码

TA的精华主题

TA的得分主题

发表于 2015-5-13 09:50 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-12-15 11:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
sunya_0529 发表于 2012-5-31 18:42
顺便解释一下这个通用折算公式的计算原理吧——1、ABS(DATE(2012,MONTH(C3),DAY(C3))-DATE(2012+{0,1},1,1) ...

请问
公司的年假规定是:
1.        从入职开始计算,不满一年有6天(即每个月有0.5天),一年以上有12天。
2.        以每个月15号(含15号)为分界,15号前入职当月有0.5天,15号后入职当月为0天。
例子:假定2015-10-12入职,截至2015-12-31,可以有2.5天年假;
           若2015-10-16入职,截至2015-12-31,有2天年假。

那么公式怎样改??

谢谢

TA的精华主题

TA的得分主题

发表于 2015-12-21 16:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zoeousy 发表于 2015-12-15 11:35
请问
公司的年假规定是:
1.        从入职开始计算,不满一年有6天(即每个月有0.5天),一年以上有12天。

折算效果如下图所示——

QQ截图20151221162917.png


  1. =IF(B2<EDATE(C2,-24)+16,12,SUMPRODUCT(LOOKUP(IFERROR(DATEDIF(DATE(YEAR(B2),MONTH(B2)+(DAY(B2)>15),1),DATE(YEAR(C2),{2,3,4,5,6,7,8,9,10,11,12,13},0),"y"),-1),{-1,0;0,0.5;1,1})))
复制代码


TA的精华主题

TA的得分主题

发表于 2015-12-22 09:31 | 显示全部楼层
sunya_0529 发表于 2015-12-21 16:30
折算效果如下图所示——

谢谢sunya_0529提供的折算公式,谢谢,谢谢。

能麻烦你解释一下这个公式的计算原理么。。。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-7 09:54 , Processed in 0.039059 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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