分享

PQ-M及函数:怎么根据出生日期计算年龄?

 大海_Power 2021-05-22

小勤:Power Query里有没有类似Excel里的Datedif函数可以用来计算年龄的啊?

大海:没有。唉……

小勤:那怎么办呢?

大海:按照最原始的通过日期的方法来算咯,其实也不难。

小勤:那不是要先判断出生日期的月日是否比当前日期的月日大?感觉很麻烦。

大海:还好吧,因为通过函数Date.ToText可以直接提取月日的格式,比如:

小勤:啊,可以这样的话感觉好像有简单了一丢丢,不要考虑月和日分开判断的问题了。

大海:对的,所以,你只要判断月日组合的文本大小就可以了。

小勤:判断文本大小?不是要转成数字来比大小吗?

大海:不需要啦,当你将日期转换为4位的文本时,文本的排序和再转换为数字的排序是一样的,比如“0513”比“0512”大,跟513比512大是一样的。

小勤:啊,那就是可以转换好就直接比较了,那公式还是很长啊,如果“生日的月日大于等于当前日期月日”,那么“年份差减1”,否则“年份差”……

大海:也不需要,月日比较的结果就是true或false,这是可以直接用Number.From函数转为1或0的,所以,最后公式只要用年份差减去转换为数字的判断结果就好了:

= Date.Year([当前日期])

 - Date.Year([生日])

 -Number.From(

        Date.ToText([生日],"MMdd")

      >Date.ToText([当前日期],"MMdd")

   )

如下图所示:

小勤:原来也没有自己想像中的复杂嘛。不过还是挺期待微软能增加个类似的函数。呵呵。


【热门文章】

1个Excel文件,30+个案例表,日常函数50+个全搞定

66篇Excel Power Query干货文章,助你666从入门到全面实战!

神一般的数据分析案例之一:高手在民间

从身份证号码提取相关信息,你还在纠结用什么公式?真的out了!

Power Query和超级表结合,实现文件夹及文档管理

怎么在Excel中截图?这是我常用的几种方法!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多