点击上方蓝字关注星标★不迷路
本文作者:拉登 Dony
来源:拉小登(ID:ladengchupin)
本文编辑:小叮、竺兰
Power Query 里最强大的还是 M 函数了,它算是 Excel 函数的加强版。今天总结了 M 函数入门必知的 6 个基础知识,赶紧收藏学习吧!M 函数是微软为 MicroSoft Power Query 设计的公式语言,简称 M 函数。所以顾名思义,M 函数只能用在 Power Query 中。M 函数和 Excel 中的函数相比,有下面几个优势:❶ 数据处理能力更强。
Excel 的函数公式处理上万行数据的时候,就会出现明显的卡顿。M 函数是基于 Power Query 的,Excel 中的数据需要先加载到 Power Query 中,数据处理能力倍增,处理几十万行的数据毫无压力。❷ 数据计算方式更丰富。
普通的 Excel 函数,处理数据通常只有数据计算、文本处理、数据查询这几种方式。而 M 函数基于 List、Table 等对象,可以实现分组统计、透视列、逆透视、合并查询、拆分表格、表格结构重组等更多复杂的表格操作。=IFERROR(INDEX(A$3:A$18,SMALL(IF($A$3:$A$18=$G$2,ROW($A$1:$A$16),4^8),ROW(A1))),"")而在 M 函数中,只需要一个 SelectRows 一个函数,就可以轻松实现。= Table.SelectRows(源, each ([部门] = "工程部"))而且计算的结果和原始数据保持联动,数据发生变动,统计结果只需要右键,就可以一键刷新。M函数编写位置
接下来,我们从函数编写第一步开始,再来看看 Excel 函数和 M 函数,更细节的对比。Excel 在任意单元格都可以写函数,只要用等号开头就可以。❶ 可以在单元格里写=A2,引用 A2 单元格的值;❷ 可以在公式栏里写=SUM(B3:D4)函数,对数据求和。M 函数在 Power Query 中编写,同样也有两种方法:
也可以在「高级编辑器」中,用代码的形式来写 M 函数:函数名称
函数公式根据用途,可以分为统计函数、文本函数、查询函数等类型。Excel 中可以在「公式」栏中,根据分类选择使用对应的函数。
M 函数的分类管理,使用了编程中的「包」管理策略。根据不同的数据类型,设定了不同的「包」,使用函数的时候,需要先写「包」名称。❷ 然后写 List.Sum 函数,对表格「源」中的「3 月」这一列求和。M 函数学习的一个大门槛,就是对于参数类型(或者说数据类型)的理解。函数参数类型,都是具体的数值,这个数值有两种参数形式:
除了常规的数值类型,M 函数中增加了 3 个数据类型:Record、List、Table。❶ Record。
比如一个人的姓名、数量等信息,可以以人为单位,这个人的类型就是 Record。
在 Power Query 中,单元格里显示的是数据类型「Record」。鼠标选择单元格后,下方的预览面板中,可以查看 Record 的明细。❷ List。
这个数组中的数据,可以是数值,也可以是一组 Record,也可以是一组 List,一组 Table。
这个 List 中既包含了基础的数据,也包含了 Record 记录和另一个 List 数据。❸ Table。
没错的,M 函数中可以把一整个表格,都当成参数,而且是常规操作。
返回结果,是指函数公式计算之后返回到单元格里的数据。无论是 SUM 函数,VLOOKUP 函数,返回的数据类型都非常单一,全部都是 1 个单独的数值。然后我们再通过「填充公式」的方式,计算出所有符合要求的数据。M 函数中的参数多了 Record、List、Table 三种类型,那么对应的,M 函数也可以把这三种数据类型,作为计算结果返回到 Power Query 中。 返回Record数据:
返回 List 数据:
返回 Table 数据:
= #table({"姓名","数量"},{{"dony",123},{"king",456}})
大部分情况下,我期望返回的结果都是一个 Table 类型,因为需要转成表格上载到 Excel 中。而 List 和 Record 通常是数据计算过程中处理的数据,特别是 List 类型数据,包含了大量核心的 M 函数,也是后续深入学习的重点。如果根据诞生的年份来看,Excel 函数已经是一个中老年人。大家都非常的熟悉了,合作起来也更顺畅,但技术陈旧,处理复杂需求的时候,会略显疲惫。M 函数则是小伙正当年,技术高、能力强,手上一大把的神器函数,但是人生地不熟,语言有障碍,前期沟通成本略高。看完今天的文章,你觉得自己该不该学习 M 函数呢?留言告诉我吧?觉得 M 函数比较难,没看懂?你可能需要从 Excel 基础学起!我们秋叶团队专门开发了《和秋叶一起学 Excel》课程,目的就是带你全面快速提升 Excel 技能,打下扎实的 Excel 基本功!
课程不限时间次数,手机电脑,随时随地都能学;还有专属学员群、在线答疑服务! 今天小 E 特地为你们申请了 30 元优惠,到手价仅需 139 元~↑↑↑现在扫码,还可免费试看!