【发布时间】:2021-08-16 04:26:13
【问题描述】:
我有一个 Excel 工作簿,其中包含一个名为“模板”的工作表。 “模板”工作表有一个名为“fruits”的 powerquery 查询。 “fruits”查询是通过调用自定义查询函数创建的。自定义查询函数本身引用查询参数来获取 URL。当我编辑“水果”查询时,在 powerquery 公式栏中,我可以将值为“苹果”的参数更改为不同的水果,例如“香蕉”,数据将相应更新。 “模板”工作表有很多工作表公式引用“水果”查询中的数据。我想在同一个工作簿中复制“模板”工作表,以便新工作表包含查询的完全独立副本,因此在“模板”工作表上我可以有“苹果”数据,在新工作表上我可以有“香蕉” “ 数据。目前,两个工作表都显示来自原始水果查询的数据,并且原始数据中的任何更改都会反映在两个工作表中。
我试过了……
- 将工作簿复制到新工作簿。这只会导致“无法刷新连接。如果连接是从另一个工作簿复制的,或者工作簿是在较新版本的 Excel 中创建的,则可能会出现此问题。”这实际上不是我想要的(单独的工作簿),我的网络搜索显示了许多我可以复制到新工作簿的声明,并且查询将是独立的。
- 在执行 1 之前,在查询窗格中将所有构建块查询从原始工作簿复制到新工作簿。与 #1 相同的错误
- 在同一工作簿中复制工作表。在查询窗格中,右键单击“水果”查询和“复制”并尝试“关闭并加载到...”新工作表以尝试覆盖查询。我收到错误“”无效的表格范围。所选范围无效。表格不能与包含数据透视表、查询结果、受保护单元格或其他表格的范围重叠”。
- 执行 #3,但这次使用“转换为范围”将数据变为静态,然后再复制查询。与 #3 相同的错误消息。
- 执行#4,但在“转换为范围”后实际上清除了单元格,因此工作表公式指向空白单元格。当我复制查询时,确实会加载到工作表中,但这样做会插入新列,以便工作表公式仍指向空白单元格,而我需要它们指向新的数据单元格。
我正在使用 Excel 2013。
编辑:另一次尝试(根据@Peter 的建议)。
- 执行#5,但在加载到工作表时选择将此数据添加到数据模型。查询如我所料在工作表上,工作表上的公式指向查询表中的正确单元格,但是,与表相邻的公式已从表列表示法转换为绝对单元格表示法(即'模板(2)!$ F $ 26')。因此,虽然一切看起来都很好,但如果我刷新查询并且行发生变化,那么相邻列将不会填充公式。我可以手动编辑公式,但我希望有更好的方法。
【问题讨论】:
标签: excel powerquery