Excel自动输入当前时间的公式
因为平时的工作需要不断在excel记录别人反馈的问题,有时候同一时间接到多个问题,脑子只想着这个问题怎么处理,会导致你忘记记录时间,ctrl+;键也不好使了。
在网上搜了好久,结合尝试了好几种方法,发现这种方法还比较合适。
公式:
=IF(OR($B2:$E2<>""),IF($A2="",TEXT(NOW(),"yyyy-mm-dd hh:mm:ss"),$A2),"")
操作方式:
- 上述公式复制进单元格之后,需要按一下ctrl+shift+enter,数组公式的操作;
- excel选项——公式,启用迭代计算前打勾。
公式的作用:
公式放在A2单元格,B2到E2之间任意单元格填入数字后,就会在A2单元格显示输入时的时间。
公式解释:
OR($B2:$E2<>"")
,B2到E2之间任意一个单元格是非空单元格。IF($A2="",TEXT(NOW(),"yyyy-mm-dd hh:mm:ss"),$A2)
,如果A2单元格为空,则输入当前时间,否则就显示A2单元格当前的内容。
总的就是如果B2~E2之间任意一个单元格填入数据,则显示第二段公式的内容,否则就显示A2本身的内容(未填入的时候A2本身是空白的,所以会显示空白);第二段公式内容是如果A2是空白的,输入当前时间,否则就显示A2单元格当前的内容。
PS: 这里可能会有一个地方不理解,为什么第二段公式不直接显示当前时间,而要多加一道IF判断。
主要是迭代计算的自动重算功能,如果不加IF,你在表格内更改任意一个(不止是B2~E2),A2的时间都会重新计算,刷新成当时时间。
所以加了IF,当A2单元格有值时,显示A2的值,所以即使重新计算,也只会显示原来的值,而不会再刷新时间