1

我有一个 Master 工作簿,如下所示: 在此处输入图像描述

我有所有员工的个人陈述,如下所示:

SR 声明

我的所有动态命名范围都在主表上正常工作,看起来都不错。

现在我注意到,如果我关闭Master工作簿,那么数据应该在的突出显示区域全部变为#REF erros...

当工作簿打开时,所有提取数据的公式都是这样的:

=INDEX('Staff Rewards Master.xls'!BenefitsData,MATCH(FirstName & " " & Surname,'Staff Rewards Master.xls'!Employees,0),MATCH(A:A,'Staff Rewards Master.xls'!BenefitNames,0))

当源或主工作簿关闭时,公式(自然)变为:

=INDEX('C:\vss\Staff Rewards Statements\Staff Rewards Master.xls'!BenefitsData,MATCH(FirstName & " " & Surname,'C:\vss\Staff Rewards Statements\Staff Rewards Master.xls'!Employees,0),MATCH(A10,'C:\vss\Staff Rewards Statements\Staff Rewards Master.xls'!BenefitNames,0))]

顺便说一句,如果我将它复制到“运行”对话框(取自上面的路径),该文件在 Excel 中打开没有问题:

C:\vss\员工奖励报表\员工奖励 Master.xls

如果我在关闭源 Master 工作簿后计算 Statement 表,则会收到以下错误消息:

名称引用错误

现在,我应该提到,如果我删除定义的名称并只放入单元格引用,它工作正常,但为什么我的动态命名范围不能工作?

例如,这没有问题:

=INDEX('O:\Dev\Staff Rewards Statements\[Staff Rewards Master.xls]Staff Benefits Master'!$B$7:$K$150,MATCH(FirstName & " " & Surname,'O:\Dev\Staff Rewards Statements\[Staff Rewards Master.xls]Staff Benefits Master'!$A$7:$A$150,0),MATCH(A10,'O:\Dev\Staff Rewards Statements\[Staff Rewards Master.xls]Staff Benefits Master'!$B$6:$T$6,0))

那么我在这里错过了什么或做错了什么?

4

4 回答 4

4

您不能使用名称来引用已关闭工作簿中的范围。

我猜想(没有看到这本书)你可以用整列/整行引用替换你的命名引用(因为匹配不会在空白处触发)。这将解决您的需求,并且不会导致速度问题。

高温高压

于 2013-06-06T09:33:07.947 回答
2

INDEX函数可能不稳定,具体取决于您使用的 excel 版本,它可能有直接或间接依赖项。(来源: http: //www.decisionmodels.com/calcsecretsi.htm)。

无论如何,后果是它是否重新计算结果。如果它在这种情况下重新计算结果,可能需要打开 excel 文件。

我使用的目录类型与您的目录类型相同,具有非易失性功能,我没有问题(office 2016)。即使更新结果,每次我打开文件时都会更新所有内容。

于 2017-07-25T12:45:06.247 回答
1

迟到的回复,并使用 2016 365 进行了回答,但是......即使外部工作簿关闭,外部参考也可以在外部工作簿中工作。您收到的错误指示外部命名引用引用表的位置,例如:“=Table1[Employee]”。这不起作用!

什么将起作用是您关闭了 Excel 设置 /options/formulas/'Use table names in formulas'。需要删除外部命名范围并在关闭此设置的情况下重新设置。因此,新的命名范围将类似于“=worksheet1!$D$4:$D$100”。当您增加表格的大小时,您可能希望查看范围如何扩大。

然后您可能仍然会收到错误,但它会从#ref 更改为#value。如果您尝试使用带有外部定义的命名范围的 OFFSET ,仍然会导致错误 - 如上所述,我认为这与任何公式的易失性有关。

布赖恩·巴雷特

于 2017-11-10T13:33:36.550 回答
-2

这将为你们中的一些人解决问题。我想从中提取数据的文件来自我们的总部。我认为问题是由于他们的计算机上没有 365 Office (OneSource) 并且他们使用的是旧版本的 Office。我还注意到我无法将文件的自动保存更改为开,“自动保存已关闭此工作簿包含阻止其使用自动保存的功能”。我想将信息提取到的文件是 xlsx 文件。当我将鼠标悬停在自动保存上时,它说总部文件是以旧格式创建的,然后选择文件另存为以更新格式。嗯,没有帮助,因为总部文件的扩展名也是 .xlsx。

因此,我复制了总部文件并将其粘贴到一个新的工作簿上,然后将其保存在 OneSource 驱动器上。如果这不起作用,请以稍微不同的名称保存总部文件,或在保存文件之前尝试使用特殊粘贴(值)。

于 2019-09-10T22:07:47.333 回答