我正在构建一个每天刷新的新仪表板。仪表板包括当月数据和上月数据。然而,我需要在日期方面尝试一些不同的场景,以确保月份转换没有问题。例如,我想知道当一个月的第一天和第二天有不同的条件时,如第一天是周末或假日等,我的公式会做什么,这将导致错误。
我尝试修复公式,但涉及的公式太多并且相互关联。数据也从SQL服务器中提取,我也在那里使用GETDATE()。
例如,我的一个公式显示 =YEAR(TODAY()-1)
获得年度
总之,我想知道是否可以更改Excel正在读取的日期。例如,我有一个=TODAY() -我希望这个公式返回我设置的其他日期,而不是今天的实际日期。
首先将此用户定义的函数放在标准模块中:
Public Function todaz() As Date
todaz = Evaluate("=today()") + 12
End Function
然后在您的工作表中,替换以下所有实例:
Today()
跟:
todaz()
您可以将用户定义函数更改为具有所需的任何日期偏移量。
完成测试后,将所有的< code>todaz()改回< code>Today()。
这里有一个非VBA版本:
有一个单元格,其中只放=今天()。
在工作表中,将今天()的所有其他实例替换为对该单元格的引用。为了测试,将今天()
替换为您喜欢的任何日期,完成后,将今天()
放回。
这个和Gary的学生版本都有一个优点,那就是不太稳定——也就是说,它们会运行得更快,因为今天()是那些经常在它出现的每个地方重新计算的函数之一——在你的例子中,这听起来很多。