亚当有两个工作簿。分别称为A和B。在工作簿A中,他具有工作簿B中数据透视表中的值的链接。当他打开工作簿A而未打开工作簿B时,Adam得到了#REF!链接错误。他想知道是否有任何方法可以避免在未打开的工作簿中链接到数据透视表值时发生错误。

有两种方法可以解决此问题。两种方法都涉及了解Excel如何引用工作簿A中的数据透视表值。当您创建到值的链接并且工作簿A和工作簿B都打开时,引用将类似于以下内容:

=GETPIVOTDATA("TotalValue",'C:\XLDocs\[MyData.xls]PTable'!$H$15,"EName","Rac")

解决该问题的一种方法是将引用包含在IF语句中,方法是:

=IF(ISERROR(=GETPIVOTDATA("TotalValue",'C:\XLDocs\[MyData.xls]PTable'!

$H$15,"EName","Rac")),"Make sure Workbook B is Open", =GETPIVOTDATA( "TotalValue",'C:\XLDocs\[MyData.xls]PTable'!$H$15,"EName","Rac"))

该公式检查GETPIVOTDATA函数的结果,并且如果它返回错误值(如未打开工作簿B时),它将显示一条消息。仅当没有错误值时,才会获取工作簿B中的值。

另一种方法是修改原始引用,以便不使用GETPIVOTDATA函数。 (当未打开工作簿B时,是此特定函数会产生错误。)这是您应该重做引用的方法,以便直接引用该值而不是通过函数来​​引用:

='C:\MyWork\XLDocs\[MyData.xls]PTable'!$H$15

以这种方式重写引用时,不会返回错误条件。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(10650)适用于Microsoft Excel 2007和2010。您可以在下面的Excel的较旧菜单界面中找到此技巧的版本: