多语言展示
当前在线:1863今日阅读:84今日分享:32

灵活使用公式计算应休假期

时至年终,梁山泊上宋江老大发布了休假政策,要求吴用计算一下各位头领今年剩下的假期,对未休的假期合理安排或发放报酬。但是他要求,为了方便山寨日常重,凡是假期多于半天的,就按半天计,不足半天,就不计入假期。即1.6天可以计做1.5天,1.4天只能计做1天。
工具/原料

Excel2010及以后的版本

方法/步骤
1

吴用接受任务后,觉得要是手工一一分辨,不仅太慢,而且容易出错,因此只能使用round()等函数来试着完成任务。于是他试着在D2单元格输入'=round(C2,1)',按下回车后,得到数字与原来的休假天数相同,仍然是保留了1位小数。

2

他再试着在D2单元格输入“=roundup(C2,0)”,按下回车后,得到的实际可休天数都是原来的数字增加了1天,明显不符合宋老大的心意。

3

他继续试着在D2单元格输入'=rounddown(C2,0)',按下回车后,得到的实际可休天数又统统取掉了零头,所以人都少了半天,这样弟兄肯定不答应。如何是好?吴用同学很烦恼。

4

他细细的分析了一下思路,突然想通了这个无非就是休假天数的小数部分小于0.5的话,就取整数部分,大于0.5的话,就改成0.5。想通了这一点,吴用立刻写成了公式,在D2单元格中输入'=IF(MOD(C2,1)>=0.5,INT(C2)+0.5,INT(C2))',按下回车后,就得到了想要的结果。这次终于好了。(其中的mod(c2,1)用来得到数值的小数部分)

5

不过吴用仍然觉得这个公式很麻烦,达不到简捷的效果。他再次进行分析,觉得宋老大要求的结果小数部分不是0.5就是0,于是可以这样分析,把现有的休假天数乘以2,再取整,这时凡是小数部分小于0.5的乘以2后不能进位,取整后的值就是原来的整数部分乘以2的结果,大于或等于0.5的乘以2后就向前进了1,取整后的结果就是原来的整数部分乘以2再加1。最后再把得到结果除以2,写成公式为“=int(C2*2)/2”,这样即达到了简捷的要求,又得到了想要的结果。

注意事项

请大家批评指正。

推荐信息