**M代码的终极突围:从“能用”到“精通”的Power Query进阶之路**
在Excel数据处理领域,Power Query(PQ)早已不再是陌生词汇。对于许多职场人士而言,PQ是解决繁琐重复劳动的“救星”,尤其是第1、2季课程所涵盖的图形化操作,足以让大多数人处理日常报表。然而,当你遇到结构极度复杂、动态变化难以预测,或是需要跨文件、跨格式智能抓取数据时,仅靠点击鼠标往往捉襟见肘。此时,M语言便成为了你必须跨越的一道门槛。本课程《Power Query For Excel数据处理利器(第3季 M代码高阶篇)》,正是由实战派专家曾贤志倾力打造,旨在帮助学习者从“操作员”蜕变为“架构师”,彻底掌握Power Query的核心灵魂——M代码。
本课程并非枯燥的语法讲解,而是一场针对真实业务场景的攻坚战。课程开篇即直击痛点,深入剖析了“应有尽有的数据获取方式”。在很多高级应用场景中,数据源并非固定不变,而是动态增长的。曾老师详细演示了如何通过表格法和定义名称法,实现指定表格数据的动态合并。这一技巧极大地提升了工作表的灵活性,使得新增数据无需手动修改查询,系统即可自动纳入分析范围,真正实现了“一次设置,永久生效”的自动化愿景。
进阶部分则聚焦于多表合并的复杂情形。现实中,数据源表与结果表往往存在于不同的工作簿,甚至同一工作簿内的字段结构也各不相同。课程逐一拆解了这三种高难度场景:从同工作簿内的自动多表合并,到跨工作簿的智能汇总,再到字段不定情况下的动态适配。特别是“字段不定”的处理,展现了M代码强大的逻辑弹性,解决了传统PQ操作无法应对的异构数据整合难题。
此外,本季度课程还极大地拓宽了数据获取的边界。除了常规的Excel和CSV,课程深入讲解了如何利用M函数获取TXT、XML及JSON等文本与接口数据。在当今API数据交互频繁的环境下,能够直接通过代码解析JSON和XML,意味着你可以直接从网页抓取得到结构化数据,无需借助第三方插件。这不仅是技术的提升,更是数据思维的重塑。
如果你已经熟练掌握了Power Query的基础操作,却感到在处理复杂动态数据时遇到了瓶颈;或者你渴望跳出图形化操作的局限,理解底层逻辑以实现真正的定制化解决方案,那么这门高阶课程便是你不可多得的进阶指南。曾贤志老师将通过严密的逻辑推导与丰富的实战案例,带你领略M代码的精妙之处,让你的数据处理能力再上一个台阶。
课程目录
1-1 [应有尽有的数据获取方式] 1.1 动态合并指定表格数据(表格法) (11:19) 1-2 [应有尽有的数据获取方式] 1.2 动态合并指定表格数据(定义名称法) (18:40) 1-3 [应有尽有的数据获取方式] 1.3 自动多表合并(数据源表与结果表在相同工作簿) (35:18) 1-4 [应有尽有的数据获取方式] 1.4 自动多表合并(数据源表与结果表在不同工作簿) (14:48) 1-5 [应有尽有的数据获取方式] 1.5 自动多表合并(数据源表字段不定) (18:46) 1-6 [应有尽有的数据获取方式] 1.6 获取txt与csv文本数据(Csv.Documen) (24:48) 1-7 [应有尽有的数据获取方式] 1.7 获取XML格式数据(Xml.Tables) (15:58) 1-8 [应有尽有的数据获取方式] 1.8 获取JSON格式数据(Json.Document) (13:01) 1-9 [应有尽有的数据获取方式] 1.9 获取指定目录下的文件数据(Folder.Files) (33:12) 2-1 [List列表函数] 交替提取列表值List.Alternate (21:23) 2-2 [List列表函数] 查找列表中的关键字元素List.FindText (09:19) 2-3 [List列表函数] 按条件提取列表元素List.First与List.First (30:29) 2-4 [List列表函数] 按条件提取列表元素List.Last与List.LastN (30:45) 2-5 [List列表函数] 增加列表元素List.InsertRange (17:29) 2-6 [List列表函数] 列表独一性判断List.IsDistinct (10:12) 2-7 [List列表函数] 判断列表元素是否满足条件(与、或) (26:41) 2-8 [List列表函数] 活该你单身List.Single (16:45) 2-9 [List列表函数] 列表也玩跳一跳List.Skip (19:39) 2-10 [List列表函数] 列表删除系列函数 (37:01) 2-11 [List列表函数] 列表重复函数List.Repeat (16:26) 2-12 [List列表函数] 列表替换函数 (34:53) 2-13 [List列表函数] 列表替换函数2- List.ReplaceValu (43:21) 2-14 [List列表函数] 列表删除函数之按条件删除 (34:04) 2-15 [List列表函数] 列表转换函数List.TransformMan (28:29) 2-16 [List列表函数] 列表中的and、or多条件判断 (18:16) 2-17 [List列表函数] 列表多条件判断List.Contains系列函数 (39:51) 2-18 [List列表函数] 定位指定列表元素的位置List.PositionOfAny (32:56) 2-19 [List列表函数] 列表反转List.Reverse (23:26) 2-20 [List列表函数] 返回两个列表的不同元素List.Differenc (20:30) 2-21 [List列表函数] 返回多个列表的相同元素List.Intersect (20:39) 2-22 [List列表函数] 返回多个列表的所有元素List.Union (16:57) 2-23 [List列表函数] 求列表的zui大值、最小值 (24:18) 2-24 [List列表函数] 根据条件统计列表的zui大值、最小值 (38:33) 2-25 [List列表函数] 自定义序列值List.Numbers (16:31) 2-26 [List列表函数] 按条目数拆分列表(List.Split) (06:09) 3-1 [Record记录函数] 提取Record记录和记录值 (42:08) 3-2 [Record记录函数] 提取Record记录信息 (27:15) 3-3 [Record记录函数] Record记录合并与转换 (31:10) 3-4 [Record记录函数] Record记录与表格的互转 (20:00) 3-5 [Record记录函数] Record记录与列表的互转 (25:33) 3-6 [Record记录函数] Record记录重命名与重新排列 (17:38) 3-7 [Record记录函数] Record记录的新建与删除 (21:15) 4-1 [Table表函数] Table表列的计数与空表判断 (15:08) 4-2 [Table表函数] 统计Table表格各列信息 (19:09) 4-3 [Table表函数] Table表格的偏移、删除、保留 (13:48) 4-4 [Table表函数] Table表格各列关键字筛选 (23:50) 4-5 [Table表函数] 从头获取Table表格数据 (24:03) 4-6 [Table表函数] 从尾获取Table表数据 (27:30) 4-7 [Table表函数] 按条件删除Table表记录 (37:27) 4-8 [Table表函数] Table表的多条件判断 (28:00) 4-9 [Table表函数] 按条件分割Table表函数Table.Partition (41:30) 4-10 [Table表函数] 反转表格行记录Table.ReverseRows (07:44) 4-11 [Table表函数] 按指定条数拆分表格(Table.Split)实例 (12:04) 4-12 [Table表函数] 强大到令人发指的分组函数Table.Group (46:47) 4-13 [Table表函数] 查询表求独一值Table.Distinct (06:25) 4-14 [Table表函数] 查询表定位Table.PositionOf (24:52) 4-15 [Table表函数] 查询表的删除行与替换行 (30:19) 4-16 [Table表函数] 查询表求zui大、最小、排序 (20:56) 4-17 [Table表函数] 查询表的查找替换(Table.ReplaceValue) (31:40) 4-18 [Table表函数] 按行替换实例(Table.ReplaceRows) (22:59) 4-19 [Table表函数] 转换查询表行(Table.TransformRwos) (30:04) 4-20 [Table表函数] 重复查询表(Table.Repeat) (07:50) 4-21 [Table表函数] 重新排列和重命名查询表字段 (32:38) 4-22 [Table表函数] 查询表列的选择、删除操作 (19:33) 4-23 [Table表函数] 转换查询表的标题名称 (13:00) 4-24 [Table表函数] 添加索引列(Table.AddIndexColumn) (11:21) 4-25 [Table表函数] 升级版zui大值与最小值(Table.MaxN、Table (16:31) 4-26 [Table表函数] 聚合函数Table.AggregateTableColum (17:31) 4-27 [Table表函数] 对查询查表指定列的填充 (19:51) 5-1 [Date日期函数应用] 日期的建立、拆分、转换 (27:36) 5-2 [Date日期函数应用] 不同日期单位的开始与结束日期提取 (23:49) 5-3 [Date日期函数应用] 不同日期单位增减 (16:02) 5-4 [Date日期函数应用] 指不同日期单位中的某一天 (33:02) 5-5 [Date日期函数应用] 以当前系统日期为基准的日期判断函数 (51:01) 6-1 [DateTime函数应用] 日期时间的建立、拆分、转换 (54:01) 6-2 [DateTime函数应用] 以当前系统时间为基准的时间判断函数 (21:19) 6-3 [DateTime函数应用] 时间的建立、拆分、转换 (32:09) 6-4 [DateTime函数应用] 持续时间函数应用 (16:47) 7-1 [其它函数] 计算文本型表达式(Expression.Evalua (20:30) 8-1 [正则表达式在Power Query中的应用] 将JS语言写入Power Query (24:30) 8-2 [正则表达式在Power Query中的应用] 正则表达式之普通字符应用 (36:36) 8-3 [正则表达式在Power Query中的应用] 正则表达式之特殊字符应用 (22:32) 8-4 [正则表达式在Power Query中的应用] 正则表达式之量词匹配 (42:49) 8-5 [正则表达式在Power Query中的应用] 正则表达式之“或”应用 (16:19) 8-6 [正则表达式在Power Query中的应用] 正则表达式之分组应用 (21:46) 8-7 [正则表达式在Power Query中的应用] 正则表达式之非捕获分组应用 (40:22) 8-8 [正则表达式在Power Query中的应用] 正则表达式之边界应用 (29:28) 8-9 [正则表达式在Power Query中的应用] 正则表达式之正则对象测试应用 (15:42) 8-10 [正则表达式在Power Query中的应用] 正则表达式之替换应用 (22:38) 9-1 [抓取网页数据到Excel中] 获取Table格式的数据 (35:14) 9-2 [抓取网页数据到Excel中] 获取JSON格式的数据 (58:43) 9-3 [抓取网页数据到Excel中] 获取XML格式的数据 (11:07) 9-4 [抓取网页数据到Excel中] 获取其它格式的数据 (33:01) 9-5 [抓取网页数据到Excel中] 获取GET提交方式的数据 (55:32) 9-6 [抓取网页数据到Excel中] 获取POSET提交方式的数据 (25:51) 9-7 [抓取网页数据到Excel中] 获取需要用户登录方式的数据(GET) (37:39) 9-8 [抓取网页数据到Excel中] 获取需要用户登录方式的数据(POST) (15:57)





