概念:公式中的相对时间
随着时间的推移,要减少维护公式所需的时间,您可以创建引用相关时间的公式。相关时间会根据单元格的时间跨度而变化。无论处于时间跨度的哪个阶段,绝对时间都保持不变。
要引用相关时间,请将
其
用作时间表达式:[time=this]。 您还可以使用 versionmonthmodified
bythis
:versionmonth(this)。绝对时间与相对时间的对比
绝对时间 | 相关时间 |
|---|---|
Acct.Expenses[time=12/2018]
对于时间跨度中的任何单元格,此公式始终会获取 2018 年 12 月以来的相同值。 | Acct.Expense[time=this-1]
对于时间跨度中的所有单元格,此公式始终会获取上一个时段的值。 对于“Mar 2018”,它会抓取“Feb 2018”。对于 2023 年 8 月,系统会抓取 2023 年 7 月。 |
Acct.Expense[time=2018]
对于时间跨度中的所有单元格,此公式始终会获取年份 2018 的汇总值。 | Acct.Expense[time=this.year]
对于时间跨度中的所有单元格,此公式始终会获取同一期间内的汇总值。对于“2018 年 3 月”,它会获取 2018 年的汇总。对于 2023 年 8 月,它会获取 2023 年的汇总。 |
人员编制计划中的动态时间示例
您在模型化工作表上跟踪人员数据。模型化工作表有一个账户:“新员工”。要计算每个月的新员工数量,您可以在“新员工”账户中使用如下所示的公式:
If(versionmonth(this) = versionmonth(ROW.StartDate),1,0)。
此公式表示:如果此行中的开始日期与当前单元格的版本月份相同,则在“新员工”中填充 1。如果不相同,则计算为零。
以下是模型化工作表的行:
员工姓名 | 开始日期 |
|---|---|
无名氏 | 2023 年 1 月 |
John Smith | 2022 年 7 月 |
玛丽·乔 | 2023 年 2 月 |
杰克·布朗 | 2022 年 6 月 |
对于版本月份“2023 年 1 月”,新员工账户的值为 1,因为 Jane 是 2023 年 1 月唯一的新员工。