Power Query多表合并及重复项汇总与自动刷新需求问询
Power Query 库存合并与自动刷新实操方案
一、合并多表规格数据
- 打开库存工作簿,点击顶部「数据」选项卡 → 「获取数据」→ 「自文件」→ 「自工作簿」,选中当前工作簿。
- 在导航器中,按住Ctrl选中所有需要统计的工作表,点击「转换数据」进入Power Query编辑器。
- 点击编辑器顶部「主页」→ 「追加查询」→ 「追加多个表」,确认选中所有目标表后点击确定,合并多表数据。
- 提取F1-F4列的规格:
- 先选中数量列(记录每个规格对应数量的列,比如列名为「数量」)以外的F1-F4列,右键选择「逆透视列」,生成「属性」和「值」两列,其中「值」为规格内容。
- 点击「值」列的筛选按钮,取消勾选「(空白)」,过滤空值行。
二、汇总相同规格的数量
- 在编辑器中,选中「值」(规格列)和「数量」列,点击「主页」→ 「分组依据」。
- 分组设置:
- 「分组依据」选择「值」;
- 新列名填写「总数量」;
- 操作选择「求和」,对应列选择你的「数量」列;
- 点击确定,得到各规格的汇总数量。
- 点击「主页」→ 「关闭并上载」,将汇总表加载到Excel中。
三、自动刷新设置
1. 打开文件时自动刷新
- 右键加载好的汇总表 → 「表格」→ 「表格属性」,切换到「查询」标签页,勾选「打开文件时刷新数据」,点击确定。
2. 内容变更时自动刷新(需VBA辅助)
Power Query无原生变更自动刷新功能,需用VBA实现:
- 按Alt+F11打开VBA编辑器,左侧双击「ThisWorkbook」。
- 在代码窗口粘贴以下代码,将「你的查询名称」替换为实际查询名(可在「数据」→「查询和连接」中查看):
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) ThisWorkbook.Queries("你的查询名称").Refresh End Sub
- 将工作簿保存为「启用宏的工作簿(.xlsm)」格式,确保VBA生效。
3. 关闭文件时自动刷新(可选)
同样用VBA实现,代码如下:
Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Queries("你的查询名称").Refresh ThisWorkbook.Save End Sub
- 替换查询名称后,保存为启用宏的工作簿格式。
内容的提问来源于stack exchange,提问作者BCOR
相关产品推荐
相关产品推荐

