提问者:小点点

我可以像今天是未来的某一天一样测试我的 Excel 公式吗?


我正在构建一个每天刷新的新仪表板。仪表板包括当月数据和上月数据。然而,我需要在日期方面尝试一些不同的场景,以确保月份转换没有问题。例如,我想知道当一个月的第一天和第二天有不同的条件时,如第一天是周末或假日等,我的公式会做什么,这将导致错误。

我尝试修复公式,但涉及的公式太多并且相互关联。数据也从SQL服务器中提取,我也在那里使用GETDATE()。

例如,我的一个公式显示 =YEAR(TODAY()-1)

获得年度

总之,我想知道是否可以更改Excel正在读取的日期。例如,我有一个=TODAY() -我希望这个公式返回我设置的其他日期,而不是今天的实际日期。


共2个答案

匿名用户

首先将此用户定义的函数放在标准模块中:

Public Function todaz() As Date
    todaz = Evaluate("=today()") + 12
End Function

然后在您的工作表中,替换以下所有实例:

Today()

跟:

 todaz()

您可以将用户定义函数更改为具有所需的任何日期偏移量。

完成测试后,将所有的< code>todaz()改回< code>Today()。

匿名用户

这里有一个非VBA版本:

有一个单元格,其中只放=今天()。在工作表中,将今天()的所有其他实例替换为对该单元格的引用。为了测试,将今天()替换为您喜欢的任何日期,完成后,将今天()放回。

这个和Gary的学生版本都有一个优点,那就是不太稳定——也就是说,它们会运行得更快,因为今天()是那些经常在它出现的每个地方重新计算的函数之一——在你的例子中,这听起来很多。