Excel 从两个不同的工作簿偏移,创建一个副本而不影响另一个

Excel 从两个不同的工作簿偏移,创建一个副本而不影响另一个

我正在使用两个不同的工作簿,第一个工作簿 [仅 Excel 数据] 创建为数据库,第二个工作簿 [发票模板] 创建用于创建发票。

创建发票时,我使用偏移量来读取客户位置列表等。

=OFFSET('[Excel Data Only.xlsx]Channels'!$A$2,MATCH(Invoice!$C$1,'[Excel Data Only.xlsx]Channels'!$A$2:$A$198,0)-1,1,COUNTIF('[Excel Data Only.xlsx]Channels'!$A$2:$A$198,Invoice!$C$1),1)

并且它运行正常。

问题是当我想创建工作簿 [发票模板] 的副本时,该副本将具有不同的路径,例如在桌面上,偏移量更改为

=OFFSET('C:\Users\anthony\Desktop\[Excel Data Only.xlsx]Channels'!$A$2,MATCH(Invoice!$C$1,'C:\Users\anthony.boulos\Desktop\[Excel Data Only.xlsx]Channels'!$A$2:$A$198,0)-1,1,COUNTIF('C:\Users\anthony.boulos\Desktop\[Excel Data Only.xlsx]Channels'!$A$2:$A$198,Invoice!$C$1),1)

因此,[仅 Excel 数据] 工作簿的路径自动更改且不再可访问,因为我仅更改了 [发票模板] 的路径,而不是另一个。

那么我该如何管理这个公式,以便在更改 [发票模板] 的路径时它不会影响 [仅 Excel 数据] 的路径。

谢谢你的帮助!

答案1

当您打开带有外部引用的 excel 文件(并允许它执行更新,此时您会收到安全警告)时,Excel 似乎会执行一些自动化操作来解析引用。它似乎针对您移动源和目标的情况进行了优化,尤其是对于更改驱动器号(可能是软盘时代的遗留问题?)

不幸的是,如果您单独移动目标文件(Invoice Template.xlsx在您的示例中),这可能会破坏一切。

修复问题最快的方法可能是通过功能区edit links中的对话框Data。那里有一个包含所有外部文件的表格,您可以更改这些文件的指向位置 ( change source)。当您将路径更正到Excel Data Only.xlsx那里时,它应该会立即更新电子表格中对此文件的所有引用。

答案2

如果您在需要批量更新大量文件时遇到问题(或者您只是想冒险,哦,别忘了先备份!),您可以尝试编辑原始文件*.xlsx。它实际上是一个 zip 存档。

如果你使用存档资源管理器打开它(7-zip例如),您将在子目录中找到外部引用\xl\externalLinks\_rels\。可能有一个名为的文件externalLink1.xml.rels(数字可能有所不同)。它是一个包含(相对)文件路径和名称的 XML 文件。您可以在那里更新它。它将被输入为.../externalLinkPath将其标记为相对于文件位置。将该类型更改为http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing也可能解决问题。

您的 externalLink1.xml.rels 可能看起来像我还没有专门测试过该路径

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
      <Relationship 
          Id="rId1" 
          Type="http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing"
          Target="'C:\Users\anthony\Desktop\channels%20(BE%20VERY%20VERY%20PRECAUTIOUS%20WITH%20THIS%20FILE)!!!!\0000%20TEMPLATES\INVOICE%20template\New%20template\Excel%20Data%20Only.xlsx "
          TargetMode="External"
      />
 </Relationships>

附言:我不鼓励在 Excel 文件或路径中使用特殊字符(括号、感叹号等),因为这也可能会引起麻烦。

相关内容