打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
多Excel文件数据汇总,列名大小写不一致咋办!!!

小勤:最近收到一份数据,需要对多个Excel工作簿的内容进行汇总,真是麻烦!

大海:多个Excel工作簿内容汇总用Power Query不是很简单的事情吗?前面我不仅推送了大量文章《用PQ自动汇总各种文件数据,这一系列我又都给你整理好了!》,另外,还专门发布了一个关于数据汇总的视频合集《【免费系列视频】Excel数据汇总特辑 | 多个案例,多种情况,举一反三!

小勤:是啊。但现在又有新情况!给过来的多份数据,看起来都挺规范的,但是,列名居然有的大写,有的小写,有的首字母大写……

大海:那你想一下在哪个步骤可能出问题?

小勤:就是想展开数据实现合并的步骤啊。

大海:那为什么这个步骤就会出问题?

小勤:表里的列名不一样。

大海:那如果在这之前对表的列都进行重命名,即列名弄成一样的,是不是就可以了?

小勤:对啊。但该怎么弄呢?

大海:比如说,我们如果把列名都统一成大写,要怎么办?

小勤:首选要把表的列名取出来,然后将这些列名转换成大写的,然后替换掉原来表里的列名……

大海:对,基本就是这个思路,综合起来的公式也是这样:

    Table.RenameColumns( // 3. 对表的列进行重命名 [Data], List.Transform( // 2. 对表的列名进行转换 Table.ColumnNames([Data]), //1. 取出表的列名 (x)=>{x,Text.Upper(x)} // 2. 对表的列名转换为大写(和原来的列名合成一对) ))

    小勤:Table.ColumnNames取表的列名,List.Transform进行转换,Table.RenameColumns对表的列进行重命名,一层层往外跟原来的思路真的很匹配。但是,为什么List.Transform函数的第二个参数做成{x,Text.Upper(x)}?

    大海:因为List.Transform函数对列名转换为大写后,是要交给Table.RenameColumns函数去调用的,而Table.RenameColumns函数的参数要求就是{原列名,新列名},而其中x就是原列名,Text.Upper(x)就是新列,一起才能构成完整的参数哦。

    小勤:可是有很多函数记不住这么多的参数形式啊,怎么办?

    大海:PQ里可以简单操作形成步骤公式代码啊。比如这个,你如果不记得,可以随便改一下列名,看一下生成的代码,然后照着写就行了哦。

    小勤:有道理!

    - 关于解决问题的方法 -

          在遇到问题时,首先思考一下:

          1、具体是什么问题?

          2、在哪个步骤开始出问题?

          3、如果要避免这个问题的发生,可以进行什么样的处理?

          4、具体怎么处理?

          通过这样的方式,层层推进,很多问题自然就迎刃而解,而Power Query恰恰让我们可以很轻松定位到具体出问题的步骤,而且也可以很方便地通过一些操作的方式去生成相应的步骤公式(代码)来做参考,这也是Power Query之所以相对简单易用的地方。

    【近期热门合集/文章】

    本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
    打开APP,阅读全文并永久保存 查看更多类似文章
    猜你喜欢
    类似文章
    PowerQuery技巧:批量更改列名
    Power Query 闪开,最牛的Excel合并公式来了
    Excel表格一个表中间数据汇总首页自动生成?
    Excel格式化表单如何批量转换并汇总为规范的明细表?
    Excel如何跨工作表动态引用数据(合并汇总必备)
    重命名excel2007工作表
    更多类似文章 >>
    生活服务
    热点新闻
    分享 收藏 导长图 关注 下载文章
    绑定账号成功
    后续可登录账号畅享VIP特权!
    如果VIP功能使用有故障,
    可点击这里联系客服!

    联系客服