工作中会经常遇到处理日期的需求,比如:
人事部门要做一份员工工龄统计...
财务部门需要计算一下每项业务的付款周期...
下面我们通过一个案例,来看下如何解决这类“日期间隔”的问题,让你在职场中如鱼得水。
现有一份电商婴儿数据报表,里面记录了电商网站上购买的婴儿商品信息,比如婴儿的出生日期,购买商品的日期。现在领导要求快速计算出婴儿“”年龄“这一列里的值,该如何实现呢?
第1种操作套路:
1)用“出生日期”列得到婴儿的出生年份
2)用“购买日期”列得到当前的年份
3)年龄=当前年份 - 出生年份
或许,还有第2种套路...
虽然通过上面两种方法,我们可以达到目的。但是,如果业务需求不只是求年龄呢?比如还要求月份差,天数差呢?
此时,赶紧呼唤我们的主角出场:datedif函数
现在,把舞台交给他...
先做一下自我介绍吧!
大家久等啦!我叫datedif,是函数家族的成员之一。但是我天生内向,大家可以叫我隐藏函数。
什么是隐藏函数呢?
在电影《哪吒》里,大家藏起来,被哪吒找出来,就是“隐藏”。
同样的,隐藏函数,顾名思义就是在函数列表中是找不到的。
输入datedif的前几个字母后无法通过Tab键来补全函数
我的身体由3个参数组成,分别是:起始日期、结束日期、返回值。
我的主要功能是:计算两个日期之间的差值。这个差值可以是年、月、日等不同的值。
我来具体演示一下吧。
1.年份差
当“返回值”是2个日期的年份差值时,第3个参数写y,并用双引号包裹。
"y":返回两个日期之间的整年数差,不足一年的不累计
公式写好之后,将公式填充到整列,就返回了年龄值
2.月份差
问:假如我的需求不是年龄,而是月龄呢?
答:“y”替换成“m”即可
"m":返回两个日期之间的整月数,不足一个月的不累计
3.天数差
问:假如我的需求不是年龄,而是间隔天数呢?
答:“y”替换成“d”即可
"d":返回两个日期之间的整天数
公式写好之后,将公式填充到整列,返回间隔天数
火眼金晶的童鞋早就看出了一处问题,一直在等待,案例中总有一处返回值#NUM(上图中黄色块的地方),为什么呢?
答:召唤我做任务时,有一个潜规则:第一个参数(起始日期)必须小于第二个参数(结束日期),否则就会返回#NUM。
4.与其他函数结合使用
此外,在实际应用中,datedif函数还经常嵌套today函数(表示当前日期)来实现某些目的。
比如想计算一下自己数据分析学了多久呢?以提醒自己是否要加快速度。
datedif的第一个参数写"开始日期",即N2单元格
第二个参数写today(),用今天的日期代表"结束日期"
第三个参数写"d",即结果返回天数
根据上述原理,我们可以进一步制定一份学习进展表,方便每日更新进展
在0列输入datedif函数,=datedif(N2,today(),"d")
再用公式填充整列,即可返回每一项学习任务已开展的天数
现在,学会了datedif函数来处理日期问题,你的工作效率是不是提升了很多?
网友评论