我的工作簿中有一系列单元格,我想在另一个工作簿中动态复制它们。我不想使用显式单元格引用以防范围移动,我总是尝试使用命名范围进行跨工作簿引用。因此,我想在复制的工作簿中输入一个公式,该公式使用命名范围来获取位于相同位置的值。我需要计算在 OFFSET() 函数的参数中使用什么值。
我想要的是这样的:
=OFFSET('Book1'!NamedRange,x,y)
我可以将什么输入到 x 和 y 中来计算当前单元格在工作簿 2 中相同大小区域内的相对位置?
或者,是否有另一种方法将命名范围从一个工作簿复制到另一个工作簿?
答案1
我找到答案了!我将第一个公式(假设为 A1)设置为:
=OFFSET('Book1'!NamedRange,ROW(A1)-ROW($A$1),COLUMN(A1)-COLUMN($A$1),1,1)
然后,我可以将此公式拖到整个范围内,所有公式都可以计算出它们相对于 A1 的行和列位置。末尾的 ,1,1 是为了让我得到一个单元格,而不是与 NamedRange 大小相同的移位范围。
答案2
如果两个工作簿中都有命名范围(名称完全相同),excel 会询问您是否希望公式引用新工作簿或旧工作簿中的命名范围。此时您可以单击“新建”(或类似按钮),然后就大功告成了。