哪位大神帮忙看一下这个excel公式哪里错了,应该怎么改

=IF(LEFT(L3,4)=2018,"(DATE(YEAR(L3),12,31)-L3)/365*5","(TODAY()-L3)/365,{0,1,10,20},{0,5,10,15}")

LEFT(L3,4)=2018
left返回的是 文本 "2018"
"2018" 永远不等于 2018
改成
LEFT(L3,4)="2018"
或者改成 if(--left(L3,4)=2018
"(DATE(YEAR(L3),12,31)-L3)/365*5" 这后面 都不用加引号 改成 (DATE(YEAR(L3),12,31)-L3)/365*5追问

其实我想问的是图上那个 他为什么最后显示的是那个公式,而不是直接的数值呢?

追答

你 加引号了 就 是引号内的 内容都是文本

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-21
你把双引号全部去掉,想要公式实现运算就不能把其用双引号括起来的!!
根据你的大致意思,应该是在M3单元格输入公式:
=IF(YEAR(L3)=2018,ROUND(5*DATEDIF(L3,"2018-12-31","d")/365,2),LOOKUP(DATEDIF(L3,"2018-12-31","d")/365,{0,1,10,20},{0,5,10,15}))
复制并下拉,即可。
具体你可以把要求说清楚,再让人家给你列公式,其实365天是估计值,真正的一年不是这样核算的。
或者你有明确的要求,可以把要求和表发我邮箱再给你套公式[email protected]本回答被网友采纳
第2个回答  2018-11-21
L3看起来是日期型,如果用Left函数取前4位的话,是不能够取出正确的年份的。可以将LEFT(L3,4)=2018改为 year(L3)=2018
另外,解释一些 {0,1,10,20},{0,5,10,15}的规则。我猜想是按照工龄来确认可以休假的天数,但规则是怎样的呢?追问

就是按照国家规定 满一年可休5天,10-20年之间是10天,20年以上是15天

相似回答