设为首页
收藏本站
切换到宽版
登录
注册
搜索
搜索
本版
帖子
用户
快捷导航
首页
科学资讯
SCI期刊
中文期刊
科学基金
科学笔记
科学群组
科学群组
科学文库
科学家园
科学图片
查询
AI助手
问卷调查
相册
Album
爱科学
»
文库
›
生活应用
›
经典素材
›
Excel Power Query合并工作簿出错怎么办?
返回列表
查看:
19506
|
回复:
2
Excel Power Query合并工作簿出错怎么办?
[复制链接]
admin
admin
当前离线
积分
5690
633
主题
440
回帖
80
日志
管理员
积分
5690
收听TA
发消息
发表于 2022-7-26 10:46:56
|
显示全部楼层
|
阅读模式
从2016版开始,Excel自带的Power Query功能让很多小伙伴为之倾倒,用Power Query来匹配字段(合并查询比VLOOKUP快很多),合并同一个文件夹下的大量工作簿等,效率那是一个高。
合并文件夹内中的表提示 Expression.Error: 该键与表中的任何行均不匹配
但是有很多小伙伴会遇到合并工作簿出错的问题:明明都是字段名字相同的工作簿,合并文件以后,却只显示一个工作簿的明细,其他工作簿的内容都不见了。
文件内容如截图所示:
咱们先来回忆一下用PQ合并多个工作簿的方法。
数据选项卡—新建查询—从文件—从文件夹—浏览(选择工作簿所在的路径)—确定—组合和编辑—选择一个示例文件,点确定—关闭并上载。
通常,这样一套操作下来,保存好的多个工作簿,就乖乖的并到一个表里了。但这次给出了错误提示:
[Expression.Error] 该键与表中的任何行均不匹配。
让我们一起来查一查是哪里出了问题吧。Power Query有一个很优秀的特性,就是会在右侧“应用的步骤”中记录下来每一步的操作,并起一个名字。只要点击名字,就可以在界面中间预览这一步操作的结果。
我们从“更改的类型”开始往回找,看看是从哪一步开始出现Error的。最终找到了“调用自定义函数1”。再往前一步,就没有产生错误了。所以我们来看一看,这个调用自定义函数1,到底出了什么问题。
点开左上角的高级编辑器,我们看到这一步使用了Table.AddColumn这个函数。
这个函数的功能是在表“筛选的隐藏文件1”中新增一列,新增的列名为“从 新建文件夹 转换文件”,第三个参数就是each后边调用的函数了。
这时候,我们基本可以断定,问题出在这个自定义的函数上了。
我们回过头来,看左边界面的查询,由两个文件夹状的标记组成:
下边一个叫其他查询[2],也就是我们最终的查询结果;上边一个叫“从 新建文件夹 转换文件[3]”,就是自定义的函数了。
经过对这个函数下每一个查询的筛查,我们发现其中一个查询,叫做“从新建文件夹 转换示例文件”。
打开这个查询的高级编辑器。从第二行可以看出,获取数据的规则是,sheet名为“1”,类型为“sheet”的数据。
由此,我们可以推测,Power Query把这个规则固定下来作为示例,作用在每一个要合并的文件上。
由于第二个工作簿的sheet名为“20161222153959”,第三个工作簿的sheet名为“20180111094717”,很明显不在示例规则的取数范围内,难怪合并不到其他工作簿的数据呢。
问题找到了,要怎么解决呢?
其实解决方法很简单,把限制条件删掉就可以了,即删掉
Item="1",
,尤其注意要删掉逗号。改完后,点击确定就可以了。
这个问题主要适用这样的情况:
1.自己喜欢用不同的sheet名,来保存不同的数据。
2.数据来源是公司系统,但系统每次升级,都会给你个新的默认sheet名。
如果要一个个的打开工作簿,人工把sheet名改成一致的,工作量简直不可想象,所以咱们还是选择改代码吧。
Excel
相关帖子
•
科学数据处理中使用EXCEL的一些小技巧(一)
•
Excel高阶图表,是这样做出来的
•
Excel超级表的几个典型应用
•
如何批量修改多个excel文件指定工作表的表名
•
excel开发工具怎么调出来
上士闻道,勤而行之;中士闻道,若存若亡;下士闻道,大笑之。不笑不足以为道!
回复
关闭延时
使用道具
举报
admin
admin
当前离线
积分
5690
633
主题
440
回帖
80
日志
管理员
积分
5690
收听TA
发消息
发表于 2022-7-26 23:44:52
来自手机
|
显示全部楼层
今天发现问题出现在每个excel文件的sheet名不一致,所以报错
上士闻道,勤而行之;中士闻道,若存若亡;下士闻道,大笑之。不笑不足以为道!
回复
支持
反对
使用道具
举报
admin
admin
当前离线
积分
5690
633
主题
440
回帖
80
日志
管理员
积分
5690
收听TA
发消息
发表于 2022-7-26 23:45:27
来自手机
|
显示全部楼层
Expression.Error: 该键与表中的任何行均不匹配
上士闻道,勤而行之;中士闻道,若存若亡;下士闻道,大笑之。不笑不足以为道!
回复
支持
反对
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
扫码关注爱科学公众号
快速回复
返回顶部
返回列表