如何在Power Query中通过间接引用实现表格追加?
解决方案
要实现通过TableABC中存储的表格名称来合并对应表格,你需要先将文本格式的表格名称转换为实际的表格对象,再进行合并,具体步骤如下:
提取表格名称列表
从TableABC的Column1中提取所有表格名称,生成文本列表:Table.Column(TableABC, "Column1")这会得到类似
{"Table1", "Table2", "Table3"}的结果。将文本名称转换为表格对象
Power Query中所有已加载的查询都存储在#shared全局记录里,用List.Transform遍历名称列表,通过Record.Field获取对应的表格对象:List.Transform( Table.Column(TableABC, "Column1"), (tableName) => Record.Field(#shared, tableName) )这会生成包含Table1、Table2、Table3三个表格对象的列表。
合并表格
把上述表格对象列表传入Table.Combine完成合并,完整公式如下:Table.Combine( List.Transform( Table.Column(TableABC, "Column1"), (tableName) => Record.Field(#shared, tableName) ) )
注意事项
- 确保Table1、Table2、Table3是当前Power Query环境中已存在的查询,且名称与TableABC中存储的文本完全匹配(Power Query对名称大小写敏感)。
- 之前的
Table.Combine({TableABC})或Table.Combine(TableABC)无效,是因为传入的是TableABC这个表格对象本身,而非需要合并的目标表格对象列表。
内容的提问来源于stack exchange,提问作者Ratchapol Nukfon
相关产品推荐
相关产品推荐

