如果你还在手动复制粘贴、删除空行、拆分列... 停下,让Power Query来拯救你。
先说说Power Query是什么
它是Excel 2010之后版本自带的一个功能(2016+在数据选项卡,2010/2013需要单独下载插件)。
简单说:一个可视化的数据清洗和转换工具。
你不需要写VBA,不用记复杂的公式,点几下鼠标就能完成:
- 合并多个文件
- 清洗脏数据
- 转换格式
- 建立自动更新的报表
最重要的是:它是自动化的。源数据更新了,刷新一下就能得到新结果。
实战案例:合并100个Excel文件
场景: 你有100个分公司的报表,格式都一样,要汇总到一张总表。
以前的做法: 复制粘贴100次,或者写VBA代码。
Power Query做法:
第一步:把文件放到一个文件夹
所有要合并的Excel文件放在同一个文件夹,比如 D:\报表\分公司数据\
第二步:打开Power Query
Excel 2016+:数据 → 获取数据 → 从文件 → 从文件夹
第三步:选择文件夹
浏览到刚才的文件夹,确定。
第四步:筛选文件
这时候会看到文件夹里所有文件。点筛选:
- 只保留 .xlsx 文件(排除其他类型)
- 排除"汇总"这种结果文件(如果有的话)
第五步:提取内容
点击「添加列」→「自定义列」,输入:
=Excel.Workbook([Content])
这一列现在包含了每个Excel文件的内容。
第六步:展开数据
点击新列右上角的展开按钮,选择:
- 展开「Data」列(这就是每个文件的Sheet数据)
第七步:处理表头
如果每个文件第一行是表头,需要做:
- 点击「将第一行用作标题」
第八步:清理不要的列
删除这些列(右键 → 删除列):
- Content(原始二进制内容)
- Name(文件名)
- 其他不需要的列
第九步:加载到Excel
点击「关闭并上载」,数据就回到Excel了。
神奇的事情发生了
现在你的文件夹里新增一个文件,只需要:
数据 → 刷新全部
新文件的数据自动出现在总表里。
不需要重新运行任何步骤。
进阶:处理不同格式的文件
如果每个分公司的表格式略有不同(比如有的多一列,有的列顺序不一样),可以在合并前:
- 先选一个"标准"文件,单独导入Power Query做清洗
- 定义好标准格式(列名、数据类型等)
- 把这个查询作为"函数",应用到文件夹里的所有文件
这需要用到「自定义函数」,稍微进阶一点,但学会之后几乎无所不能。
常见数据清洗操作(不用写公式)
删除空行
主页 → 删除行 → 删除空行
删除重复项
主页 → 删除行 → 删除重复项
拆分列
主页 → 拆分列 → 按分隔符
比如"姓名-部门"拆成两列。
替换值
主页 → 替换值
把"男/M"统一替换成"男"。
更改数据类型
点击列标题 → 选择数据类型(文本、数字、日期等)
Excel就不会把身份证号变成科学计数法了。
添加计算列
主页 → 添加列 → 自定义列
可以写简单的公式,比如:
= [销售额] * 0.05
计算提成。
一个实用的清洗流程模板
1. 导入数据(从文件/从文件夹/从表格)
2. 提升第一行为标题
3. 删除空行
4. 删除完全空白的列
5. 删除重复项(如果需要)
6. 拆分需要拆分的列
7. 替换统一格式的值
8. 更改数据类型
9. 添加计算列
10. 加载到Excel
这个流程基本能应对90%的数据清洗场景。
版本差异
| 版本 | Power Query位置 |
|---|---|
| Excel 2010/2013 | 需要单独下载插件 |
| Excel 2016+ | 数据 → 获取数据 |
| Excel 365 | 数据 → 获取数据(功能最全) |
一句话总结
Power Query = 数据清洗的自动化工厂。一次设置,永久使用。
如果你每天花大量时间在复制粘贴和整理数据上,花2小时学会Power Query,能给你省出200小时。
我第一次用Power Query合并12个月报表的时候,简直惊呆了。以前一上午的活,现在点一下刷新就搞定。这工具真的改变了我对Excel的认知。