Excel #ref 错误:刷新数据时发生

use*_*308 5 excel excel-formula

我使用 Excel 中数据选项卡下的本机功能在 excel 中建立了到另一个 excel 工作簿的连接。我通过选择数据-> 现有连接,然后打开相关工作表,将数据从“其他”工作簿导入到我的“主要”excel 工作簿中。这允许我将其他工作簿中的数据链接到我的主工作簿。

我的问题是,当其他工作簿中的数据发生更改时,我在主工作簿中收到了 #ref 错误。我在导入数据上使用的公式粘贴在单独的工作表中(我也尝试将其粘贴到导入数据旁边)。注意:我为相应列粘贴了第 1 - 500 行的公式,以便在导入数据时,公式会自动使用正确的值填充单元格。当我刷新数据时(即当其他工作簿中的数据已更改时)似乎我复制的公式不再引用正确的单元格。

我尝试使用间接但没有成功。

这就是我使用的公式的样子

 =IF(INDIRECT("A"&ROW(#REF!))<>"",VLOOKUP(INDIRECT("A"&ROW(#REF!)),'Safex Codes'!$A$1:$H$1000,8,0),"")
Run Code Online (Sandbox Code Playgroud)

但是,当数据刷新列中的“某些”行时,公式将返回此公式

=IF(INDIRECT("A"&ROW(#REF!))<>"",VLOOKUP(INDIRECT("A"&ROW(#REF!)),'Safex Codes'!$A$1:$H$1000,8,0),"")
Run Code Online (Sandbox Code Playgroud)

每次刷新数据时都会发生这种情况。奇怪的是,在我的数据末尾,因此最后一次调用公式时,对正确行的引用完全关闭。

例如在第 28 行,我希望上面的公式引用 a28,但是我收到

 =IF(INDIRECT("A"&ROW(A24))<>"",VLOOKUP(INDIRECT("A"&ROW(A24))
Run Code Online (Sandbox Code Playgroud)

Nic*_*ees 6

我敢打赌,你遇到了和我一样的问题。当数据范围中的行数发生变化时,之前填充数据的未使用单元格将被删除。引用这些已删除单元格的公式不再引用它们,因为它们已被删除(因此出现 #REF 错误)。

您可以使用数据选项卡上的属性菜单更改 Excel 在处理新行或未使用行方面的行为。

数据标签

在该菜单中,查看标有“如果刷新时数据范围中的行数发生变化”的部分。我猜你已经选中了第一个选项。尝试第三个选项。

外部数据范围属性