一旦输入数据,如何冻结= today()函数

时间:2015-08-02 11:01:36

标签: excel excel-formula

我想在excel的表中使用= TODAY()函数。但是,一旦将数据输入到该表行中,我希望它永远不会再次更改日期(有效地捕获添加行数据的日期)。

这将用于表格中的每一行,因此当数据沿着行输入到表格中时,每个日期都将被捕获。

这可能吗,我该怎么做?

编辑 - 它与this问题不一样。我不想使用按钮,而是使用单元格公式。

2 个答案:

答案 0 :(得分:12)

而不是输入公式

=TODAY()

触摸 Ctrl + ;

代替。这将在单元格中放置一个“冻结”日期。

答案 1 :(得分:2)

Gary的学生答案最适合这个特定问题,但如果您愿意使用循环引用,则可以在没有VBA的情况下冻结易失性工作表函数。在File\Options\Formulas检查Enable iterative calculation然后,假设A1当前为空,请输入

=IF(A1 = 0,TODAY(),A1)

Excel的默认格式处理并不知道将其格式化为日期 - 因此您需要单独执行此操作。比Ctrl + ;更多的工作,但可能还有其他一些使用案例。

免责声明:我明确测试过此技巧可以防止重新计算Now()而不是Today()。我不愿意等到午夜来测试Today()

编辑:这是一个有趣的用例。假设您有一整列空白单元格,其中A1为左上角单元格。突出显示该范围时,请输入公式

=IF(A1 = 0, RAND(), A1)

并点击Ctrl + Enter。然后整个范围填满不同但固定的随机值。