Excel 对使用以前日期作为名称的其他工作簿的单元格引用

Excel cell reference to other workbook using previous date for name

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

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

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

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

但是,当我尝试在应该引用此 sheet 的单元格中使用它时,似乎我的串联被破坏了:

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

我可以很容易地调试 Matlab 中的连接,但遗憾的是我不在那个环境中,我似乎不明白 Excel 是如何工作的。

提前致谢! 本

您只需在公式前添加 INDIRECT 命令即可。 INDIRECT 告诉 excel 你没有明确指代一个特定的位置,而是你想动态计算一个位置,然后指代那个计算出的位置。假设您的文件名是正确的,这应该很简单:

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

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

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