如何复制包含 powerquery 的 Excel 工作表,以便新工作表上的查询独立于原始工作表上的查询
Posted
技术标签:
【中文标题】如何复制包含 powerquery 的 Excel 工作表,以便新工作表上的查询独立于原始工作表上的查询【英文标题】:How to copy an excel worksheet containing a powerquery so that the query on the new worksheet is independent from the query on the original worksheet 【发布时间】: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')。因此,虽然一切看起来都很好,但如果我刷新查询并且行发生变化,那么相邻列将不会填充公式。我可以手动编辑公式,但我希望有更好的方法。
【问题讨论】:
【参考方案1】:-
复制您的模板工作表到模板(2)。
复制您在 PowerQuery 中的 fruits 查询,并将 fruits (2) 中的水果更改为香蕉。
关闭并加载到 模板 (2)
【讨论】:
我可以关闭并加载到模板 (2) 的空白部分,但我需要查询结果来覆盖已经存在的查询结果(否则我的其他公式不指向正确的单元格。如果我关闭并加载到模板 (2) 上的原始位置,那么我会得到“无效的表格范围。所选范围无效。表格不能与包含数据透视表、查询结果、受保护单元格或其他内容的范围重叠表”再次出错。 我知道,有一个简单的解决方法。但是您似乎没有将功劳归功于自愿帮助。 嗨@Peter,对不起我的简洁的话。谢谢你的建议。我试过了,它对我不起作用。我尝试了一个变体(加载到空白单元格),它在加载时不是我想要的,因为我需要我的公式指向数据。如果您有进一步的说明以使其工作,我很乐意听到它(并将问题标记为心跳回答!)以上是关于如何复制包含 powerquery 的 Excel 工作表,以便新工作表上的查询独立于原始工作表上的查询的主要内容,如果未能解决你的问题,请参考以下文章
excel如何通过powerquery生成某一区间内所有日期
[PowerQuery]Excel 如何开启PowerQuery组件
[PowerQuery]Excel 如何开启PowerQuery组件
[PowerQuery]Excel 如何开启PowerQuery组件