【发布时间】:2020-04-18 21:32:50
【问题描述】:
我正在使用 Excel Power Query 使用 Get Data->From File->From Folder 将多个 (50+) Excel 文件合并到一个文件夹中。每个文件都会有一个或多个工作表(不知道我最终会得到多少)。例如。
文件 1:Sheet1、Sheet2、Sheet3
文件 2:Sheet1、Sheet2
文件 3:Sheet1、Sheet3
Sheet1 工作正常,因为它出现在所有 3 个文件中,但是由于 Sheet2 和 Sheet3 没有出现在所有文件中,我得到一个 expression.error "key didn't match"。
在“合并文件”屏幕上,您可以选择要合并的工作表,还可以选择“跳过有错误的文件”。通过选择此选项,我不再收到错误,但我想知道这是否是一种安全的方法,因为我想我正在删除所有错误,无论错误是否与丢失的工作表有关?
据我所知,这个选项创建了 'Removed Errors1' 行,然后在扩展表格列时使用它
#"Removed Errors1" = Table.RemoveRowsWithErrors(#"Removed Other Columns1", {"Transform File from S:\ (3)"}),
#"Expanded Table Column1" = Table.ExpandTableColumn(#"Removed Errors1", "Transform File from S:\ (3)", Table.ColumnNames(#"Transform File from S:\ (3)"(#"Sample File (3)"))),
使用 Power Query 而不是 VBA 背后的想法是,个人用户将更新他们的电子表格,而 Power Query 将是一个统一的视图,以根据更新的数据跟踪各种统计信息。从最初确定我正在处理的项目的范围开始,这很有效,因为用户只需要保存他们的电子表格,然后 Power Query 只需要刷新。
回答后添加的其他信息 我忘记提到的一件事是每个工作表中的数据非常不同(例如,Sheet1 与 Sheet2 有许多不同的列)。每个工作表都是它自己的查询。
【问题讨论】:
标签: excel powerquery