零基础函数定义域(小课堂M函数基础入门)

零基础函数定义域(小课堂M函数基础入门)(1)

零基础函数定义域(小课堂M函数基础入门)(2)

今日目标:

M函数入门6个基础知识

M函数基础入门,弄明白这3点很重要

大家都知道,每周六 20:00,我都会在B站做免费Excel公开课直播。

直播的什么内容,每次我都会用投票的形式,大家来定。

零基础函数定义域(小课堂M函数基础入门)(3)

上周的直播,有3个选题。

《从零制作工作日程表》以绝对优势胜出(文末有回放)

但是《讲讲Power Query》这个话题的投票数也非常高。

大家对Power Query的呼声也特别的高,哭爹喊娘的、歇斯底里的说要学PQ!

零基础函数定义域(小课堂M函数基础入门)(4)

作为一身正气的Excel老师,我当然是选择满足大家的!

于是周日临时加场,做了2个小时的《Power Query专题直播》

零基础函数定义域(小课堂M函数基础入门)(5)

零基础函数定义域(小课堂M函数基础入门)(6)

讲的非常爽,同学们也非常的给力,直播数据创历史新高!

零基础函数定义域(小课堂M函数基础入门)(7)

什么?你没看到?太可惜了!

没关系

今天拉登老师最宠学员了,其实Power Query里最强大的还是M函数了,它算是Excel函数的加强版。

今天总结了M函数入门必知的6个基础知识,快赶紧收藏学习吧!

1-什么是M函数

M函数是微软为MicroSoft Power Query设计的公式语言,简称M函数。

所以顾名思义,M函数只能用在Power Query中。

M函数和Excel中的函数相比,有下面几个优势:

1- 数据处理能力更强

Excel的函数公式处理上万行数据的时候,就会出现明显的卡顿。

M函数是基于Power Query的,Excel中的数据需要先加载到Power Query中,数据处理能力倍增,处理几十万行的数据毫无压力。

2- 数据计算方式更丰富

普通的Excel函数,处理数据通常只有数据计算、文本处理、数据查询这几种方式。

而M函数基于List、Table等对象,可以实现分组统计、透视列、逆透视、合并查询、拆分表格、表格结构重组等更多复杂的表格操作。

2- M函数能干啥?

举一个很简单的例子。

我们经常需要根据某个条件,查询所有符合的记录。

零基础函数定义域(小课堂M函数基础入门)(8)

在Excel中要编写这么复杂的公式。

=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一个函数,就可以轻松实现。

零基础函数定义域(小课堂M函数基础入门)(9)

= Table.SelectRows(源, each ([部门] = "工程部"))

而且计算的结果和原始数据保持联动,数据发生变动,统计结果只需要右键,就可以一键刷新。

零基础函数定义域(小课堂M函数基础入门)(10)

3- M函数编写位置

接下来,我们从函数编写第一步开始,再来看看Excel函数和M函数,更细节的对比。

Excel函数

Excel在任意单元格都可以写函数,只要用等号开头就可以。

零基础函数定义域(小课堂M函数基础入门)(11)

可以在单元格里写=A2,引用A2单元格的值

可以在公式栏里写=SUM(B3:D4)函数,对数据求和

M函数

M函数在Power Query中编写,同也有两种方法

可以在公式栏里写M函数

零基础函数定义域(小课堂M函数基础入门)(12)

步骤如下:

1- 先点击fx,创建一个新的步骤然后开

2- 在公式栏中开始写公式

也可以在「高级编辑器」中,用代码的形式来写M函数。

零基础函数定义域(小课堂M函数基础入门)(13)

步骤如下:

1- 在「主页」菜单中,点击「高级编辑器」

2- 给这个步骤起一个名字sumresult

3- 其名字后面编写M函数公式

4- 函数名称

函数公式根据用途,可以分为统计函数、文本函数、查询函数等类型。

Excel函数

Excel中可以在「公式」栏中,根据分类选择使用对应的函数。

零基础函数定义域(小课堂M函数基础入门)(14)

如果是直接手写函数,没有相关的分类提示。

M函数

M函数的分类管理,使用了编程中的“包”管理策略。

根据不同的数据类型,设定了不同的“包”,使用函数的时候,需要先写“包”名称。

零基础函数定义域(小课堂M函数基础入门)(15)

比如,前面统计3月销量的公式,步骤如下:

1- 先写List包名称。

2- 然后写List.Sum函数,对表格“源“中的「3月」这一列求和。

所有的M函数,都要先写包名称。

5- 参数类型

参数就是函数公式计算需要的原材料。

M函数学习的一个大门槛,就是对于参数类型(或者说数据类型)的理解。

Excel函数

函数参数类型,都是具体的数值,这个数值有两种参数形式:

1- 数值,直接写在函数中

2- 引用,通过单元格引用,写入函数中

零基础函数定义域(小课堂M函数基础入门)(16)

M函数

除了常规的数值类型,M函数中增加了3个数据类型:Record、List、Table,引入了编程中的“对象”的概念,增加了学习难度。

1- Record

多个不同类型的数据的合集。比如一个人的姓名、数量等信息,可以以人为单位,这个人的类型就是Record。

零基础函数定义域(小课堂M函数基础入门)(17)

在Power Query中,单元格里显示的是数据类型「Record」,鼠标选择单元格后,下方的预览面板中,可以查看Record的明细。

2- List

一组数据清单,类似Excel中的数组。这个数组中的数据,可以是数值,也可以是一组Record,也可以是一组List,一组Table。

零基础函数定义域(小课堂M函数基础入门)(18)

这个list中既包含了基础的数据,也包含了Record记录和另一个list数据。

3- Table

表格类型数据。没错的,M函数中可以把一整个表格,都当成参数,而且是常规操作。

因为M函数计算的最终目的就是返回一个表格。

零基础函数定义域(小课堂M函数基础入门)(19)

在预览区域中,可以看到表格的字段名称、数据内容。

6- 返回结果

返回结果,是指函数公式计算之后返回到单元格里的数据。

Excel函数

仔细回顾一下Excel中的函数公式,无论是SUM函数,VLOOKUP函数,返回的数据类型都非常单一,全部都是1个单独的数值。

然后我们再通过「填充公式」的方式,计算出所有符合要求的数据。

零基础函数定义域(小课堂M函数基础入门)(20)

无论公式长短,返回结果都是一个数值。

M函数

M函数中的参数多了Record、List、Table三种类型,那么对应的,M函数也可以把这三种数据类型,作为计算结果返回到Power Query中。

返回Record数据

这段公式将返回一个Record数据

= [姓名="拉登Dony",数量=123]

零基础函数定义域(小课堂M函数基础入门)(21)

返回List数据

这段公式将返回一个List数据

= {1,2,3,4}

零基础函数定义域(小课堂M函数基础入门)(22)

返回Table数据

这段公式将返回一个Table数据

= #table({"姓名","数量"},{{"dony",123},{"king",456}})

零基础函数定义域(小课堂M函数基础入门)(23)

大部分情况下,我期望返回的结果都是一个Table类型,因为需要转成表格上载到Excel中。

而List和Record通常是数据计算过程中,处理的数据,特别是List类型数据,包含了大量核心的M函数,也是后续深入学习的重点。

总结

如果根据诞生的年份来看

Excel函数已经是一个中老年人,大家都非常的熟悉了,合作起来也更顺畅,但技术陈旧,处理复杂需求的时候,会略显疲惫。

M函数则是小伙正当年,技术高、能力强,手上一大把的神器函数,但是人生地不熟,语言有障碍,前期沟通成本略高。

看完今天的文章,你觉得自己该不该学习M函数呢?投票告诉我吧?

1. 赶紧学M函数,否则就out了

2. Excel函数够用了,不着急

我是拉小登,一个会设计表格的Excel老师

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页