Excel表格数据连接在刷新时删除单元格引用

我在Excel工作簿(2007)中有一个数据连接,它引用另一个Excel工作簿中的一个表。 我有一个单元格在表格的最后一列标题内引用一个date值。 每次外部工作簿被更新并且此date值更改时,我的工作簿中的单元格引用已损坏,单元格显示#REF

如果它帮助我使用数据库查询。

连接string:{replace的path和工作簿名称}

 DBQ=PATH\WORKBOOKNAME.xlsx;DefaultDir=PATH;Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DriverId=1046;FIL=excel 12.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=1;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes; 

命令文本:{replace的path}

 SELECT * FROM `PATH\WORKBOOKNAME.xlsx`.`Main$` `Main$` ORDER BY `Main$`.IP 

这就是刷新之前H列中的单元格值:

在这里输入图像说明

这就是刷新后列H中的单元格值:

在这里输入图像说明

此表的最后一个列标题包含每次更新源工作簿时都会更改的date值(源工作簿中的“易失性date”)。 技术上这个date字段不是其他工作簿表的一部分。 但是,数据连接仍然将其拉入主工作表的表格中。 我将无法修改其他工作簿表格和格式,而不会因为其他依赖项而更改其他一些内容。 我不确定任何其他方式真正引用dynamic表头或正确引用此单元格,以便参考不被破坏…

我希望在单元格公式内部完成此操作,而不必使用macros(如果可能的话)。

任何帮助是极大的赞赏。 谢谢。

如果将表用作数据库字段名称,表格的标题不应更改。 我可以考虑一个解决方法,直接给源文件中的date列给出一个范围名称,例如“date”。 然后在你的另一本书中,只要使源指向这个范围内的单元格,即。 make cells = [sourcebookname.xlsx]!Dates

我想这个解决scheme和使用间接一样简单。

 =INDIRECT("G1")