我正在使用 Excel 2010,我想使用 IF 语句获取当前日期,该语句不会在每次打开工作表时刷新。有没有办法使用 IF 来实现这一点,或者有其他函数吗?
答案1
不。的目的TODAY()
是为了获取最新重新计算的日期。IF
或者任何其他函数都无济于事,因为没有函数可以存储首次调用的时间并始终返回该值
如果您需要插入当前日期而不进行更改,则不应使用函数,而应使用Ctrl+ ;(分号)静态插入。与插入NOW()
而不进行更改类似,使用Ctrl+ :(冒号)
在 Excel 单元格中插入静态日期或时间
工作表中的静态值是指在重新计算或打开工作表时不会发生变化的值。当您按下组合键(例如 Ctrl+;)以在单元格中插入当前日期时,Excel 会“拍摄当前日期的快照”,然后将该日期插入单元格中。由于该单元格的值不会发生变化,因此它被视为静态的。
插入更新其值的日期或时间
当重新计算工作表或打开工作簿时更新的日期或时间被视为“动态”而不是静态。在工作表中,在单元格中返回动态日期或时间的最常见方法是使用工作表函数。
要插入当前日期或时间以使其可更新,请使用 TODAY 和 NOW 函数,如下例所示。有关如何使用这些函数的详细信息,请参阅 TODAY 函数和 NOW 函数。
答案2
对您来说可能有用的一种方法是使用循环引用并启用迭代计算。
- 在选项选择公式标签并勾选启用迭代计算选项。
- 在单元格中
B1
输入公式:(=IF(A1<>"",IF(B1="",TODAY(),B1),"")
它将返回空白) - 将单元格格式化为日期。
- 向单元格添加一个值
A1
- 文本“日期:”将是一个不错的选择。
当前日期应显示在单元格中B1
,而不是更新。
缺点
- 编辑公式将重新计算为0- 或者1900 年 00 月 01 日日期格式。
- 删除单元格 A1 中的值并将其添加回来将重新计算日期。
- 用户
迭代是指重复计算工作表,直到满足特定的数值条件。Excel 无法自动计算引用包含公式的单元格(无论是直接还是间接)的公式。这称为循环引用。如果公式引用了其自身的单元格之一,则必须确定公式应重新计算多少次。循环引用可以无限迭代。但是,您可以控制最大迭代次数和可接受的变化量。
更改公式重新计算、迭代或精度
答案3
最佳答案,在单元格 B1 中输入以下内容
=IF(A1<>“",IF(B1<>“",B1,NOW()),"")。
一旦 A1 输入日期就不会改变。只有删除文本并在 a1 中重新输入值,它才会改变