不好意思,Power Query里根据出生日期计算年龄有点儿繁琐!

小勤: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") )

如下图所示:

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

(0)

相关推荐

  • 通过#shared 调取Power Query M函数集

    转自微信 有时候我们需要使用Power Query内置的M函数,今天给大家分享如何通过#shared 调取M函数的方法: 1.首先在Power Query里新建一个空查询. 2.编辑栏输入: &quo ...

  • POWER QUERY--从列数据中提取字符

    点击上方 蓝色 文字  关注我们吧! 送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 从列数据中提取字符,使用的是"提取"命令.该命令出现在 ...

  • Power Query-突破IF函数嵌套进行范围匹配

    Power Query-突破IF函数嵌套进行范围匹配

  • Power Query里计算两个日期的间隔天数、年龄

    由于PQ里没有类似Excel中的Datedif函数,因此,在PQ中计算常用的间隔天数.年数(年龄),跟在Excel里有所不同. - 计算间隔天数 - 小勤:Power Query里怎么计算两个日期的间 ...

  • Excel Power Query里的月份排序问题

    小勤:像这种月份的排序问题怎么办? 大海:这种排序问题在Excel里面可以直接处理了,像这样: 小勤:那如果在Power Query里呢?这些数据其实我是在PQ里做了很多其他处理的,最好能直接在PQ里 ...

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

    小勤:Power Query里有没有类似Excel里的Datedif函数可以用来计算年龄的啊?大海:没有.唉--小勤:那怎么办呢?大海:按照最原始的通过日期的方法来算咯,其实也不难.小勤:那不是要先判 ...

  • Power Query里怎么得到当前行的所有内容?

    小勤:Power Query里怎么动态地得到当前行的所有内容? 大海:不是直接用下划线就可以了吗? 小勤:不是啊,直接用下划线得到的是一个记录,你看: 我只要其中的内容啊,不要带着列名的记录(Reco ...

  • 当Power Query里的名称中有一些特殊字符,怎么办?

    『 从一个简单问题说起 』 昨天,在某个群里看到一个提问,意思是用Power Query新建了一个查询,但想在M语言(函数)里引用的时候,不知道该怎么写,如下图所示: 显然,这个问题在于:名称里有特殊 ...

  • Power Query里多条件判断时需要注意的null值处理问题

    小勤:为什么这个对折扣按条件分级的判断结果会出错啊? 大海:你这折扣中有空值(null)啊. 小勤:那不是判断语句的最后用else处理了吗?null值的结果不就应该是"低"嘛? 大 ...

  • Power Query里的循环引用

    小勤:Power Query怎么也有"循环引用"? 大海:有互相引用的地方就可能有循环引用啊.你这里是不是在"公众号"的表里引用了"年龄"表 ...

  • Power Query里如何实现按条件计数?

    昨天的文章<PQ-M及函数:如何按某列数据筛选出一个表里最大的行?>发表后,有朋友留言,问在PQ里怎么实现Excel中的Countif效果: 实际上,也许这位朋友已经隐约感觉到,用文中提到 ...

  • Power Query里怎么按条件求和(Sumif)?动不动就给3个解法!

    前段时间,发过文章讲过[在Power Query里按条件计数--CountIf]的实现方法,现在,我们再来扒一扒按条件求和--SumIf的实现,而且方法贼多,这里给出3个(其实主要是视频课交流群里朋友 ...