楼主 天南地北 |
用公式求出每位员工的餐贴 要求使用纯函数公式完成!,要求见截图 答题时间延长截止12月09日18:00(欢迎积极参与) 答案正确给予2-5魅力值,精彩视情况另外加分!跟帖贴出公式即可,有任何疑问站内信联系,谢谢各位参与! ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 答题时间到,请勿修改答案! 为方便开贴后大家学习,将公式解释及预设答案放9楼! ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 也玩日期函数.rar |
2楼 w83365040371 |
|
3楼 ilyte |
|
4楼 gouweicao78 |
|
5楼 涅磐86970 |
=TEXT(IF(C4<>"",IF(C4>=C$1,(C4-C$1+1)/30.5*200,0),IF(EDATE(B4,1)>C$1,(EDATE(C$1,1)-EDATE(B4,1))/30.5*200,200)),"0;!0" 太长了 |
6楼 一嘟噜钥匙 |
|
7楼 wyf22006 |
|
8楼 wcymiss |
总觉得日期函数纠结得很,尤其这种区间的判断。 写一个,太长了:
|
9楼 天南地北 |
结帖: 本测验题主要考察几个日期函数的用法具体为EDATE、EOMONTH 题目的难点就在处理天数上,统一按30.5天计算,当不满一个月要按实际天数计算,但是当一个月有31天的时候必须也得按30.5天计算而不能按31天折算 计算天数肯定是月底时间(离职时间)-月初时间(入职后一个月时间),想到这里问题就简单了,再配合MIN和MAX函数得到公式为
MIN(EOMONTH(C$1,0),C4)-MAX(EDATE(B4,1),C$1)+1表示离职日期(如果有的话)和C1给出的日期的月底日期较小者-入职后一个月日期和月初日期的较大者,然后+1,即头尾日期都计算在天数范围内,如果等于当月的天数DAY(EOMONTH(C$1,0))利用TEXT强制返回30.5天,如果不等于当月天数(实际上应该小于30.5天,因为大月才31天)那么按照实际天数进行折算,最后利用ROUND进行四舍五入。 其中公式DAY(EOMONTH(C$1,0))表示返回C1月底日期然后再用DAY求得当月天数,也可以用公式EDATE(C$1,1)-C$1代替,如8楼公式二。 再次感谢各位的参与,出题的初衷是让大家练习一下日期函数,没有想到参与度不高,可能是大家对日期函数的了解程度没有其他多吧! 初步判断3楼、8楼公式正确,其中8楼公式最短,如果从数字上做点文章可以再减3字符! 2楼基本正确(为什么说基本,因为当C1给出的时间要早于离职时间计算出错,但是这种情况如果结合实际这种情况应该不存在,从公式思路严谨上稍有欠缺) 4楼未考虑当月离职 5楼月底最后一天离职计算错误 6楼同样存在5楼同样的问题 7楼公式错误,不能使用TODAY |
10楼 wcymiss |
感谢出题,让我学到一个min的用法。 |
11楼 天南地北 |
跟着我姐学习哦! |
12楼 liuguansky |
我姐厉害。 |
13楼 pcwmmn |
要顶的啊,楼主辛苦了,谢谢 |