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

时间:2019-04-11 18:41:13

标签: excel excel-formula

我正在构建一个每天刷新的新仪表板。仪表板包含当月数据和上月数据。但是,我需要在日期方面尝试一些不同的方案,以确保月份转换正常进行。例如,我想知道在月份的第一天和月份的第二天有不同条件(例如第一天是周末或节假日等)的情况下我的公式会做什么,而我不会有任何数据,这会导致错误。

我尝试修正公式,但是公式涉及的太多且彼此相关。另外,数据也从SQL Server提取,我也在此处使用GETDATE()。

例如,我的一个公式显示 =YEAR(TODAY()-1)&IF(MONTH(TODAY()-1)<10,0&MONTH(TODAY()-1),MONTH(TODAY()-1))

获取年份和月份(例如,2019年4月的201904)。这是内置了Today()的众多公式之一

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

2 个答案:

答案 0 :(得分:0)

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

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

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

Today()

具有:

 todaz()

enter image description here

您可以将用户定义的功能更改为所需的任何日期偏移量。

完成测试后,将所有todaz()改回Today()

答案 1 :(得分:0)

这是非VBA版本:

在工作表中有一个仅放置=Today().的单元格,用对此单元格的引用替换Today()的所有其他实例。为了进行测试,请将Today()替换为您喜欢的任何日期,并在完成后将Today()重新放入。

此版本和Gary的Student版本都具有较少波动的优点-也就是说,它们将运行得更快,因为Today()是在出现的每个位置都会频繁重新计算的函数之一-在您的情况下听起来很喜欢