用了这么多年Excel,还不知道M函数是啥

M函数是PowerQuery的公式语言,提供更强大的数据处理能力,尤其适合大量数据操作。相比Excel函数,M函数支持更丰富的计算方式,如分组统计、透视等。在M函数中,可以使用SelectRows等简洁语法快速筛选数据,且结果与原始数据联动。函数编写主要在PowerQuery的公式栏或高级编辑器中进行,参数类型包括数值、引用及Record、List、Table等数据对象。

01什么是 M 函数?

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

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

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

❶ 数据处理能力更强。

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

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

❷ 数据计算方式更丰富。

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

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

02M 函数能干啥?

举一个很简单的例子。

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

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

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

而在 M 函数中,只需要一个 SelectRows 一个函数,就可以轻松实现。

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

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

03M函数编写位置

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

▋ Excel 函数

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

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

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

▋ M 函数

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

可以在公式栏里写 M 函数:

步骤如下:

❶ 先点击 fx,创建一个新的步骤然后开始;

❷ 在公式栏中开始写公式。

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

步骤如下:

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

❷ 给这个步骤起一个名字 Sumresult;

❸ 其名字后面编写 M 函数公式。

04函数名称

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

▋ Excel 函数

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

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

▋M 函数

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

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

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

❶ 先写 List 包名称;

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

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

05参数类型

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

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

▋ Excel 函数

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

❶ 数值,直接写在函数中;

❷ 引用,通过单元格引用,写入函数中。

▋ M 函数

除了常规的数值类型,M 函数中增加了 3 个数据类型: Record、List、Table。

引入了编程中的「对象」的概念,增加了学习难度。

<think>好的,用户想知道如何在Excel中绘制流量频率曲线。首先,我需要回忆一下流量频率曲线是什么,通常这涉及到统计水文数据,计算经验频率,然后拟合理论曲线,比如皮尔逊三型曲线。用户之前的问题可能提到过相关的内容,比如引用[1]和[3]都提到了皮尔逊三型曲线和经验频率的计算,特别是引用[1]详细描述了用Excel处理的步骤。 接下来,我需要整理步骤。首先,用户需要准备数据,排序,计算经验频率,然后进行坐标转换,因为流量频率曲线通常使用概率格纸,比如对数坐标或者特定的概率分布坐标。引用[1]中提到要对数据排序,计算经验频率,并进行坐标转换,这可能涉及到将经验频率转换为对应的正态分位数或者其他分布函数的值,以便在普通坐标系中呈现为直线。 然后,引用[2]中的直方图和正态分布曲线的绘制方法可能也有帮助,尤其是使用FREQUENCY函数计算频数,以及添加数据系列来组合柱形图和折线图。但流量频率曲线可能需要同的处理,比如使用散点图来绘制经验点,然后叠加理论曲线。 用户的问题可能还需要考虑如何将经验频率数据与理论曲线结合起来,比如使用NORM.DIST或者其他分布函数来计算理论值,如引用[2]中提到的正态分布。但皮尔逊三型曲线可能需要更复杂的计算,过用户可能只需要基础的步骤,所以可能需要简化,比如使用经验公式计算,或者引用已有的Excel功能。 另外,引用[4]提到在Excel中绘制平滑曲线,可能涉及到更改图表类型为平滑线,或者在组合图表中使用散点图和折线图。同时,引用[3]指出经验频率曲线是由实测资料绘制,而理论曲线如P-III型需要用数学公式,所以可能需要分别处理这两个部分。 综合这些信息,步骤可能包括:数据排序、计算经验频率、计算理论频率(可能需要公式)、转换坐标(如对数处理或概率刻度)、绘制散点图或折线图,并调整图表类型和坐标轴设置。需要确保每一步都详细说明,比如如何排序数据,使用什么公式计算经验频率(比如韦伯公式),以及如何添加理论曲线。 还需要注意用户可能的误区,例如坐标轴的调整,如何让经验频率点显示在概率格纸上,这可能涉及到对x轴或y轴的刻度进行调整,或者使用辅助列来转换数据,使得在普通Excel图表中模拟概率刻度。引用[1]中提到添加GH列数据来调整坐标,可能需要类似的步骤。 最后,检查是否需要解释如何美化图表,比如调整颜色、标签、坐标轴标题等,确保用户能够生成清晰的流量频率曲线图。</think>### 如何在Excel中绘制流量频率曲线? 流量频率曲线是水文分析中常用的工具,用于表示流量与发生频率的关系。以下为基于Excel的详细绘制步骤,结合经验频率计算和理论曲线拟合: --- ### **步骤1:数据准备与排序** 1. **输入原始流量数据**:将多年流量观测数据按年份排列在A列(如A2:A100)。 2. **降序排列**:选中数据列 → 点击【数据】→【排序】→ 选择“降序”排列,使最大值位于顶部[^1]。 --- ### **步骤2:计算经验频率** 经验频率公式(韦伯公式): $$ P = \frac{m}{n+1} \times 100\% $$ 其中,$m$为排序序号,$n$为数据总数。 **操作:** 1. 在B列输入序号(1到n)。 2. 在C列输入公式:`=B2/(COUNT(A:A)+1)` → 格式化为百分比[^1]。 --- ### **步骤3:理论频率曲线拟合(以皮尔逊三型曲线为例)** 1. **计算统计参数**: - 均值:`=AVERAGE(A:A)` - 变差系数(Cv):`=STDEV.P(A:A)/AVERAGE(A:A)` - 偏态系数(Cs):需根据矩法或适线法估算(可参考水文手册)[^3]。 2. **生成理论频率值**: - 在D列输入目标频率值(如0.1%, 1%, 5%, ..., 99.9%)。 - 使用皮尔逊三型分布公式计算对应流量值,或借助Excel插件(如“数据分析工具包”)[^3]。 --- ### **步骤4:坐标转换与数据调整** 1. **概率坐标转换**: - 将经验频率(C列)转换为标准正态分位数(如使用`NORM.S.INV`函数),作为X轴辅助列。 - 流量值(A列)作为Y轴[^1][^3]。 2. **理论曲线数据**: - 将理论频率(D列)同样转换为正态分位数,与理论流量值配对。 --- ### **步骤5:绘制组合图表** 1. **插入散点图**: - 选中经验频率的X(转换后)和Y(流量值)数据 → 插入【散点图】。 2. **添加理论曲线**: - 右键图表 →【选择数据】→ 添加新系列,选择理论曲线的X和Y数据。 - 将理论曲线改为【平滑折线图】[^4]。 3. **调整坐标轴**: - 右键横坐标 →【设置坐标轴格式】→ 修改刻度类型为“对数”(若需对数坐标)[^2]。 - 添加坐标轴标题:“流量”和“频率”。 --- ### **步骤6:图表美化** 1. **添加数据标签**:右键散点 →【添加数据标签】→ 显示经验频率百分比[^1]。 2. **调整样式**: - 修改散点颜色、折线粗细。 - 添加网格线、图例说明。 3. **隐藏辅助列**:保留图表中仅显示最终曲线和数据点。 --- ### **示例效果图** ```plaintext 经验频率散点(▲)与理论曲线(——)的组合图,横轴为对数概率刻度,纵轴为流量值。 ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值