使用外部链接(将一个工作簿链接到另一个工作簿中的数据)可以是一个好主意,也可以是一个可怕的主意。这完全取决于您的操作方式。
如果您将数据保存在数据库工作簿中,然后在一个或多个报告工作簿中报告数据,则是一个好主意。这使您可以一次更新数据并多次使用。
但是,要使此想法有效,您需要正确设置链接。因此,让我们看看如何做到这一点……
打开两个新的工作簿。将一个另存为Database.xls,将另一个另存为Report.xls。在Database.xls中,分别在单元格A1到A3中输入值1、2和3。在Report.xls中,为显示的单元格输入以下公式:
A1:= SUM([Database.xls] Sheet1!$ A $ 1:$ A $ 3)
当您按Enter键时,单元格A1显示6,即1 + 2 + 3的总和。现在保存两个工作簿,然后关闭Report.xls。
在Database.xls中,在工作表的顶部插入两行,以便您的数据在A3:A5范围内。现在再次打开Report.xls。重新计算时,报表的单元格A1现在将显示值1,因为Report.xls单元格A1中的公式仍引用范围A1:A3。
当然,这是一件坏事。
若要解决此问题,我们在Database.xls中为数据分配一个范围名称,然后在Report.xls中的公式中使用范围名称-而不是单元格引用。要分配范围名称,请在Database.xls中选择数据范围(A3:A5),然后…
在New Excel中,选择“公式”,“定义的名称”,“定义名称” ...
在Classic Excel中,选择“插入”,“名称”,“定义” ...
… 在对话框中输入数据作为名称,然后选择确定。
在Report.xls中,用此公式替换显示的单元格的公式:
A1:= SUM(Database.xls!Data)
并保存两个工作簿。
现在,您可以将Database.xls中的数据范围移动到工作簿中所需的任何位置,Report.xls中的公式将继续返回正确的结果。
这是教训:当一个工作簿中的公式引用另一工作簿中的范围时,请始终引用范围名称,而不要引用单元格地址。
但是,这还不是故事的结局。这是因为即使我们报告中的公式使用范围名称,我们的链接仍然可能存在其他问题。我们将在设置范围名称以将报表连接到Excel数据库的第2部分中讨论这些问题及其解决方案。