在设置范围名称以将报表连接到Excel数据库的第1部分中,我们看到了为什么一个工作簿中的公式引用另一个工作簿中的单元格地址不是一个好主意。而是,您的公式应链接到数据库工作簿中的范围名称,如下所示:
A1:= SUM(Database.xls!Data)
这是对引用单元地址的一种改进,但这还不是故事的结局。原因如下:
当您在公式中看到诸如“ Database.xls!Data”之类的简短引用时,您就会知道Excel将数据库工作簿识别为在Excel中打开的工作簿。但是,如果报表工作簿中的公式无法将数据库识别为开放工作簿,则公式中的引用将类似于以下内容:
A1:= SUM('E: Data MyStuff Database.xls'!Data)
有时,这些链接可能会损坏。也许您将数据库文件移动到硬盘上。也许您重命名该文件。也许您将报表工作簿移到另一台计算机上。也许您用搜索和替换命令不小心损坏了链接文本。随你。
根据您设置报告工作簿的方式,此损坏可能是次要问题或主要问题。
如果您的报表工作簿中有成千上万的公式具有损坏的数据库工作簿链接,这可能会成为一个主要问题。但是,如果我们再迈出一步,外部链接断开将成为一个小问题。
打开第1部分中介绍的Report.xls和Database.xls工作簿。在Report.xls中,创建范围名称DbData并将名称定义为:
= Database.xls!数据
然后,在Report.xls中,为显示的单元格输入以下公式:
A1:= SUM(DbData)
考虑一下我们对这一简单更改所做的工作。
我们已经在报表工作簿中创建了一个范围名称,该范围名称指向数据库工作簿中的另一个范围名称。然后,我们在公式中使用该新名称。如果两个工作簿之间的链接损坏,我们只需要修复该范围名称的定义即可;我们不必修复许多本来会使用外部链接的公式。而且,如果我们在数据库工作簿中创建多个这样的范围名称,则这些名称很容易找到和修复,因为我们将所有这些名称都以“ Db”(对于“数据库”)开头,就像在“ DbData”中一样。
当然,当报表工作簿中的公式看起来像…
= SUM(DbData)
…比诸如…的公式更短,更容易使用
= SUM(Database.xls!Data)
因此,这是此步骤的底线:在范围名称中而不是在公式中设置对其他工作簿的引用。使用这些名称的公式将更易于使用,链接中的任何问题也将更容易解决。
最后,我们需要考虑的最后一件事。当我们要在一个数据库工作簿中维护带有数据的多个工作表时该怎么办?我将在设置范围名称以将报表连接到Excel数据库的第3部分中讨论该主题。