
每月初要把十几份部门月报汇总成一张总表,很多人还是打开文件、复制、粘贴,遇到列顺序不一样就得手工挪位置,挪完还得核对有没有串行。这篇讲怎么用 Excel 自带的 Power Query 把整个文件夹里的报表一次性接进来,按列名对齐而不是按列的位置对齐,并且让后续每月更新只需要点一下刷新。
一、先把手上的报表整理成能被识别的结构
Power Query 判断一份表好不好合并,看三件事:表头在第一行且只有一行、每列只放一种数据、没有合并单元格。花十分钟巡检一遍源文件,比后面在查询里反复打补丁省事得多。
- 删掉标题行、制表人、备注这些压在表头上方的装饰行,让字段名老老实实落在第一行。
- 取消合并单元格,把被合并的部门名、日期逐行填满,空着的格子会让后面的分组统计出错。
- 把金额里夹带的“元”“万元”字样去掉,只留数字,单位统一写进列名,例如“金额(万元)”。
- 日期列统一成同一格式,避免有的写 2024.1.5、有的写 2024-01-05,识别成文本之后就排不了序。
如果某些表已经套用了 Excel 的“表格”样式(选中区域按 Ctrl+T),更好,Power Query 会按表格名识别范围;没有也能用,只是新增行时需要多留意范围有没有跟着扩。
二、把整个文件夹接进 Power Query
- 把所有月报放进同一个文件夹,先不要建子文件夹,需要连子目录时另有开关。
- 新建一个空白工作簿,点“数据”选项卡,依次选“获取数据”→“来自文件”→“从文件夹”。
- 填入文件夹路径,确定后会出现预览窗口,里面列出文件名、扩展名、修改日期和一列 Content。
- 点“转换数据”,进入 Power Query 编辑器。
此时看到的是一张“目录清单”,业务数据还压在 Content 列里没展开。展开之前先做两件清理:用扩展名列筛选,只保留 .xlsx;再按修改日期排序,确认拿到的是最新版本而不是某个人留下的旧副本。
把隐藏文件和锁文件筛掉
以“~$”开头的文件是 Excel 打开文件时生成的锁文件,内容为空,展开时会直接报错。在文件名列点筛选箭头,选“文本筛选”→“不始于”,输入 ~$,一次就清干净。这一步没做,后面合并时会出现一堆空行,很难判断到底哪份表没读到。
三、展开内容,决定按列名还是按位置对齐
选中 Content 列,点“转换”选项卡里的“合并文件”,会弹出一个示例文件对话框,展示它打算怎么合并。这里有两条路可走:
- 合并文件:向导按列名对齐,列顺序不一样也没关系,某份表缺的列会填 null。适合表头名称一致、只是排列顺序不同的报表。
- 手工追加查询:先用“添加列→自定义列”逐份提取数据,再用“追加查询”拼起来。适合表头名字本身就不统一、需要人工做映射的情况。
多数场景用第一种就够。但要注意,列名里多一个空格、全角半角不同,Power Query 都会当成两列,展开后总表里会同时出现“金额”和“金额 ”两列,一列有数一列空着。所以前面说的表头规范不是形式主义,是这套流程能不能跑通的前提。
限制展开的列数
合并文件对话框里有个“要提取的列”选项,默认全选。如果各表都有十几列而你只需要五列,在这里就取消勾选多余的列。源文件行数上万时,少展开几列对加载速度和文件体积的影响相当明显。
四、在查询里补几列,让总表能直接用来分析
合并完不要急着加载回工作表,先在编辑器里加上辅助列,省得回到表里再手工填。
- 加一列“来源文件”:用“添加列”→“自定义列”,公式写
=[Source.Name],这样每一行都能追溯到底来自哪份报表。 - 加一列“月份”:如果文件名里带年月,用“拆分列→按分隔符”从来源文件列里截取,比在源表里找日期字段更可靠。
- 把金额列的类型改成“小数”而不是“任意”,类型定下来之后才不会出现文本和数字混排、求和结果为 0 的情况。
- 删掉 Content、Folder Path 这些展开后不再需要的辅助列,列越少后面的透视表越好搭。
改了列名之后,前面的步骤可能报“找不到列”。这时点开报错的那一步,把旧列名替换成新列名即可,不要整段删掉重建,否则后面所有步骤都要重做。
五、加载与后续刷新
点“主页”→“关闭并上载”,结果会写进一个新工作表。以后每月把新报表扔进同一个文件夹,回到这个工作簿点“数据”→“全部刷新”,总表自动更新,挂在它上面的数据透视表和图表也跟着变。几个容易踩的点:
- 源文件夹路径变了(比如从本地挪到共享盘),查询会断。在“数据”→“查询和连接”面板里右键编辑,改掉源步骤里的路径即可。
- 把结果加载成“仅创建连接”,再用它做数据透视表的数据源,可以避免总表行数越滚越大拖慢整个文件。
- 原始月报在合并后不要删除、不要改名。Power Query 靠文件名和路径定位,改名等于换源,刷新时直接报错。
- 把工作簿发给同事前想清楚:对方如果没有那个文件夹的访问权限,一刷新就会失败并提示找不到文件。
小结
这套流程的价值在于一次配置、长期复用,真正的维护成本不在查询本身,而在源文件的结构是否守规矩:表头只有一行、字段名一致、没有合并单元格、数字列不带单位。源数据规矩,每月几小时的复制粘贴就能压到点一下刷新;源数据不规矩,再精巧的查询也只是一层遮羞布。与其事后在查询里反复修补,不如先把那份“报表填写规范”发给填表的人,把问题挡在源头。另外提醒一句,配置好之后先用历史数据完整跑一遍,确认行数、合计金额和手工版本对得上,再删掉旧的汇总表。

