Excel根据某单元格是否为空自动填充当前日期和时间

需求:

excel中使用now函数获得的时间会自动刷新,怎么让时间不变?需求是:B2为空则C2为空,如果B2不为空,则C2自动填充为当前日期和时间,且不会重新计算?

可以使用以下公式来实现您的需求:

 =IF(B2="", "", IF(C2="", NOW(), C2))   -- 这种生成的带毫秒为时间格式
 ​
 -- 一些其它的样式(带格式化样式)
 =IF(B2="", "", IF(C2="",TEXT(NOW(),"YYYY-MM-DD HH:MM:SS"),C2))
 =IF(B2="", "", IF(C2="",TEXT(NOW(),"YYYY-MM-DD"),C2))

说明:上述公式使用了Excel中的IF函数,第一个参数判断B2是否为空,如果为空则返回空值,第二个参数判断C2是否为空,如果为空则返回当前日期和时间,否则返回C2原有的值。由于NOW函数会自动刷新时间,所以只有当C2为空时才会调用NOW函数。

注意需要开启“迭代计算“才能正常工作:

1、工具>选项>重新计算 (或者公式) >选中"迭代计算"复选框。

附:关于迭代计算

问:Excel 迭代计算是什么意思呢?

答:

Excel 迭代计算是一种特殊的计算方式,其目的在于解决一些复杂的公式中存在循环依赖问题的情况,比如某个单元格的计算需要依赖于其他单元格的结果,而同时又有其他单元格的计算依赖于该单元格的结果,这就形成了循环依赖。对于这种情况,如果使用普通的计算方式,在计算时会出现错误或无法得到正确结果。

而迭代计算则通过反复循环计算的方式,进行逐步逼近,最终得到正确结果。在 Excel 中,我们需要开启迭代计算功能,并设置迭代次数和误差值等参数,才能进行迭代计算。具体操作方法如下:

  1. 点击“文件”选项卡,选择“选项”。

  2. 在弹出的“Excel 选项”对话框中,选择“公式”选项卡。

  3. 找到“工作表计算”部分,勾选“迭代计算”选项,并设置“最大迭代次数”和“最大误差值”。

  4. 在需要使用迭代计算的单元格中,输入包含循环依赖关系的公式,并使用“循环引用警告”对话框中提供的选项,控制迭代计算的行为。

需要注意的是,迭代计算可能会增加计算时间,同时也需要特别注意避免死循环等问题。

猜你喜欢

转载自blog.csdn.net/wh445306/article/details/131691530
今日推荐