​注:本文原创为:https://www.cnblogs.com/fanyu2019/p/11175827.html,本文在原创的基础上添加修改了一点内容

工作中常遇到需汇总多张表进行分析的情况,本文以某公司销售数据(数据为虚构数据)为例介绍使用powerquery合并excel表的方法。

本文中所使用数据格式相同,且工作表中第一行为标题行,数据不规范可能使合并汇总数据存在问题或合并不成功,注意事项请移至文末进行查看。同时本文操作工具为office365。

多表合并存在多种情况:

一. 单工作簿多工作表合并

原始数据中存在多sheet页,进行单工作簿的多工作表合并,先看原始数据及处理之后的数据:

原始数据▼

最终数据▼

第一步:新建查询(进入powerquery编辑器)
点击【数据】>【获取数据】>【来自文件】>【从工作簿】,选择原始数据,导入

第二步:追加查询
点击【主页】>【追加查询】>【追加查询】,选择“三个或更多表”,依次添加工作表,得到合并后的数据

第三步:关闭并上载

点击【关闭并上载】>【关闭并上载】,可在excel中查看汇总后的数据

第四步:excel中对数据进行最后处理

在excel中对数据进行简单处理,得到最终汇总数据

二. 多工作簿单工作表合并

原始数据含有多个工作簿,但每个工作簿中只有一个工作表**(注意:这里的单工作表是指每个工作簿中的工作表只有一个,且工作表的名称需要一致!!如果每个工作簿中只有一个工作表,但是表名不一致,需要按照本文稍后提供的第三种方法即多工作簿多工作表的方法进行合并)**,进行多工作簿的单工作表合并,先看原始数据及处理之后的数据:

原始数据▼

最终数据▼

第一步:新建查询(进入powerquery编辑器),合并
点击【数据】>【获取数据】>【来自文件】>【从文件夹】,选择原始数据,导入,点击【组合】>【合并和编辑】,选择工作表,点击【确定】,在powerquery中可查看到已合并的数据

第二步:关闭并上载
查看合并后的数据,点击【关闭并上载】

注:由于第三个工作表中存在编辑过的空行,合并时空行也进入到合并的数据中,可在合并之前对工作表数据进行处理

第三步:excel中对数据进行最后处理
在excel中对数据进行简单处理,得到最终汇总数据

三. 多工作簿多工作表合并

实际工作中常常存在需要合并文件夹中的excel数据,且每个工作簿中含有多张工作表,进行多工作簿的多工作表合并,先看原始数据及处理之后的数据:

原始数据▼

最终数据▼

第一步:新建查询(进入powerquery编辑器)

点击【数据】>【获取数据】>【来自文件】>【从文件夹】,选择原始数据,导入,点击【转换数据】

第二步:删除其他信息,保留content及name列

保留content及name列,点击【主页】>【删除列】>【删除其他列】。这些删除的列一般我们都是用不到的,所以我们直接删除提高效率

第三步:自定义列,返回工作表记录

点击【添加列】>【自定义列】,输入新列名及公式:Excel.Workbook([Content],true)

注:
公式Excel.Workbook([Content],true)需区分大小写

公式解析:

  • 功能:从Excel工作簿返回工作表的记录
  • 参数:Excel.Workbook( workbook as binary, optional useHeaders as nullable logical, optional delayTypes as nullable logical) as table
    第一个参数是要解析的字段,返回一个table,第二个是可选参数逻辑值,参数使用true,就是指定数据使用第一行做为标题。

第四步:展开数据并删除多余数据

  1. 选中第三步中返回的table列及name列,点击【主页】>【删除列】>【删除其他列】

    注:保留name列为保留数据来源,若不需要可以删除

  2. 点击table列,进行展开

  3. 展开的数据中,选中table列及数据源列,点击【主页】>【删除列】>【删除其他列】

  4. 展开table列

注:若需保留数据来源(工作簿名、工作表名),在数据处理中对数据来源列进行保留即可

第五步:关闭并上载

点击【关闭并上载】>【关闭并上载】,可在excel中查看到已合并的数据

第六步:excel中对数据进行最后处理

在excel中对数据进行简单处理,得到最终汇总数据

注:当文件夹中的数据改变中,可右键进行【刷新】即可更新数据

注意事项:

  1. 数据格式:此方法仅适用于数据格式相同的数据表合并

  2. 合并单元格:工作表中应避免出现合并单元格

  3. 空行:若工作表中存在编辑过或有格式的空行,合并时空行也会保留,需在合并之前对工作表数据进行处理:Ctrl+shift+↓选中所有空行,Ctrl±删除所有空行

  4. 筛选很多的下拉值时只会显示前1000个值,如果想要筛选1000后的值可以考虑在原始数据中改变一下值的位置

Excel:使用powerquery进行多表合并的更多相关文章

  1. vba实现excel多表合并

    Excel多表合并之vba实现 需求 保留列名,复制每一个excel里的数据,合并到一个excel 操作步骤 将要合并的文件放在同一文件夹下,复制过来就好(ps:最好不要直接操作原数据文件,避免操作失 ...

  2. 合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友_python

    这时候还需要把各个工作表合并到一起来形成一个汇总表.这时候比较麻烦也比较容易出错,因为各个表的学号不一定都是一致的.对齐的.因为可能会有人缺考,有人会考号涂错等等.特奉献以下代码,用于合并学生成绩表或 ...

  3. C#合并选中EXCEL中的各个工作表

    合并选中EXCEL中的各个工作表,以第一个选中的EXCEL文件里的工作表进行匹配,遍历后面的每个EXCEL文件,有相同的工作表就合并: private void button1_Click(objec ...

  4. 20171113xlVba指定文件夹多簿多表分表合并150

    '2017年11月13日 'Next_Seven '功能:文件夹对话框指定文件夹下,合并(复制粘贴)每个Excel文件内的指定子表内容, '在名为"设置"的工作表A列 输入汇总子表 ...

  5. 数据可视化之PowerQuery篇(十)如何将Excel的PowerQuery查询导入到Power BI中?

    https://zhuanlan.zhihu.com/p/78537828 最近碰到星友的一个问题,他是在Excel的PowerQuery中已经把数据处理好了,但是处理后的数据又想用PowerBI来分 ...

  6. SQL多表合并查询结果

    两表合并查询,并同时展示及分页SELECT a.* FROM ( ( SELECT punycode, `domain`, 'Success' AS state, add_time, AS refun ...

  7. MapReduce案例:统计共同好友+订单表多表合并+求每个订单中最贵的商品

    案例三: 统计共同好友 任务需求: 如下的文本, A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E ...

  8. oracle的多表合并查询-工作心得

    本随笔文章,由个人博客(鸟不拉屎)转移至博客园 发布时间: 2018 年 11 月 29 日 原地址:https://niaobulashi.com/archives/oracle-select-al ...

  9. EXCEL中如何删除透视表的多余汇总

    EXCEL中如何删除透视表的多余汇总 1)如下图,选中字段列,单击鼠标右键,在弹出的菜单中选择[字段设置]选项. 2)弹出[字段设置]对话框. 3)选择“分类汇总和筛选”选项卡,然后勾选“无”选项,单 ...

  10. Hadoop案例(七)MapReduce中多表合并

    MapReduce中多表合并案例 一.案例需求 订单数据表t_order: id pid amount 1001 01 1 1002 02 2 1003 03 3 订单数据order.txt 商品信息 ...

随机推荐

  1. CH182F7与LAN8720A对比

    1.CH182F7简介 CH182F7是一款支持Auto-MDIX的工业级10/100M以太网PHY收发器.内部包括物理编码子层(PCS).物理介质接入层(PMA).双绞线物理介质相关子层(TP-PM ...

  2. Windows与Linux通过Samba共享文件夹

    Ubuntu系统,按如下步骤执行: 1.安装samba服务 sudo apt update sudo apt install samba -y 2.创建共享目录 sudo mkdir -p /home ...

  3. ocr识别遇到的小问题-图片的EXIF 元数据

    背景   之前在公司通过paddleocr写了个接口,传入图片的base64编码返回识别出的文字信息.但是图片为横向时,文字行会乱序,所以准备新加一个功能通过paddleclas推理图片文字的倾斜角度 ...

  4. 使用Python对理想气体进行建模

    引言 在日常生活中,我们常常听到"气体",但你是否知道气体的行为是如何被科学家们用数学模型描述的呢?今天,我们就来聊聊如何用 Python 对理想气体进行建模,帮助大家更好地理解气 ...

  5. 使用SymPy求解矩阵微分方程

    引言 在数学.物理.工程等领域,微分方程常常被用来描述系统的变化和动态过程.对于多变量系统或者多方程系统,矩阵微分方程是非常常见的,它可以用来描述如电路.控制系统.振动系统等复杂的动态行为.今天,我们 ...

  6. HashMap 的 put 方法源码分析(JDK 1.8)

    一.HashMap 的 put 方法源码分析(JDK 1.8) 以下是 HashMap 的 put 方法的源码(JDK 1.8): hash(key) 方法 hash(key) 方法用于计算键的哈希值 ...

  7. MySQL 的索引类型有哪些?

    MySQL 的索引类型 MySQL 提供多种索引类型,用于优化数据查询性能.每种索引类型在存储结构.适用场景和性能特性方面各不相同. 1. 常见的索引类型 (1)B+树索引 结构:基于 B+ 树实现, ...

  8. 🚀 放弃 Oh-My-Posh,转而手搓 FastPrompt,打造快速高效的命令提示

    「够用.够快.够自由」才是我心目中的终端提示符. 一个开发者的烦恼 每天打开 PowerShell,等待提示符加载完毕,我的内心就像在等待一个磨蹭的同事. 我用的是 Windows Terminal ...

  9. Web前端入门第 40 问:CSS float 浮动布局应用场景

    CSS float 浮动属性最早用于文字环绕图片效果,就像传统报纸上的印刷排版一样. CSS2 的规范推动了浮动用于其他元素,float 便被大范围应用于布局,当年常说的 div + css 布局,f ...

  10. Excel导入操作,poi

    导入操作,仅供参考,具体情况具体而论 @Override public ReturnObject inforImport(LogySbjsJdsbqxxxParts entity, HttpServl ...