【问题标题】:Excel cell reference to other workbook using previous date for name使用先前日期作为名称的 Excel 单元格对其他工作簿的引用
【发布时间】:2016-01-15 13:52:24
【问题描述】:

我需要将当前工作表(每日日志)中的数据引用到前一天日志(以显示过去一天的数据)。

我可以使用对其他工作簿的直接引用以固定格式执行此操作。但是我真的很想让它自动引用前一天日志中的单元格。幸运的是,文件名的格式很好“2016 年 1 月 1 日.xlsm”,因此使用公式引用它们应该不难。

我知道我可以使用以下方法构建显示前一天名称的单元格值:

=text(today()-1, "yyyy dd Mmmm") & ".xlsm"

但是,当我尝试在应该引用此工作表的单元格中使用它时,我的连接似乎中断了:

='[TEXT(TODAY()-1, "yyyy dd Mmmm") & ".xlsm"]Readings'!$J$14

我可以在 Matlab 中轻松调试串联,但遗憾的是我不在那个环境中,而且我似乎不明白 Excel 是如何工作的。

提前致谢! 本

【问题讨论】:

标签: excel excel-formula string-concatenation


【解决方案1】:

您只需在公式前面加上 INDIRECT 命令。 INDIRECT 告诉 excel 您没有明确引用特定位置,而是要动态计算位置,然后引用该计算点。假设您的文件名是正确的,这应该很简单:

=INDIRECT(TEXT(TODAY()-1, "'\[yyyy dd mmmm") & ".xlsm]Readings'!J14")

要测试它是否正确创建了文件名,请考虑将串联公式放在不同的单元格中,然后使用 INDIRECT 引用该单元格。这将为您确认您没有拼写错误等。

*由 Jeeped 突出显示的编辑,现在可以正确计算文件名,而不是硬编码为明确的文本字符串。

【讨论】:

  • 除了没有 INDIRECT 之外,还有更多错误。 =INDIRECT(TEXT(TODAY()-1, "'\[yyyy dd mmmm") & ".xlsm]Readings'!J14")
  • 太棒了!我从来没有使用过 INDIRECT,不过我会把它添加到我的工具箱中!再次感谢。
  • 我似乎需要更多帮助才能使其正常运行。我需要在文件名的开头添加一些目录调用。我相信我有正确的 ' 和 " 标记,但使用此代码时出现 #REF! 错误。我使用单元格 C2 来保存日期,因为它将在我正在构建的工作簿中作为当前日期读取. 到目前为止,我有: =INDIRECT("'\\Network\Directory\Tree\" & TEXT(C2,"yyyy") & " Operations Shift Log\" & TEXT(C2,"yyyy mm Mmmm") & "\ " & TEXT(C2-1, "[yyyy dd mmmm") & ".xlsm]Readings'!$J$14") 坏了。
猜你喜欢
  • 2018-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多