通常我们在WPS中可以用快捷键“Ctrl + ;”和“Ctrl + Shift + ;”输入日期和时间,但当我们要录入大量时间时,快捷键到底还是不够高效,总希望可以自动填充录入的时间,实现如下图所示的效果。
或者自动选择录入的时间。
在WPS中,是怎样实现这样的效果呢?
很多朋友想到了“now()”函数,但是now()函数只填充当前时间,每次修改数据或填写数据或打开文件时,会自动更新。怎样让时间录入后就保持不变呢?
方法一:自动生成时间,并保持不变
首先在选项中启用迭代计算,如下图所示。
接着在时间单元格中输入以下公式即可。
公式:=IF(B3<>””,IF(C3=””,NOW(),C3),””)
这个公式可以保证,当你在B3单元格中录入数据后,C3单元格立即显示当前时间。
有些朋友的表格有很多列,希望在数据区域随意哪个单元格输入数据后,都会自动填充时间。那就需要将公式修改成以下样子。
公式:=IF(COUNTA(B3:D3),IF(E3=””,NOW(),E3),””)
如果想要B-D列都填写完数据后,才填充时间,那就得把公式修改成:
公式:=IF(COUNTA(B3:D3)=3,IF(E3=””,NOW(),E3),””)
网上有些教程提议使用以下数组公式。虽然可以达到相同的效果,不过我不建议使用,数组公式在计算效率上是不如普通公式的,还要同时按“Ctrl + Shift + Enter”输入公式。
公式:“=IF(OR(B3:D3<>””),IF(E3=””,NOW(),E3),””)”或“=IF(AND(B3:D3<>””),IF(E3=””,NOW(),E3),””)”
方法二:自动选择时间,数据更新后,也可以快速更改时间
步骤:随便找个空白单元格如E1,输入公式“=now()”,接着设置下拉菜单,“来源”中输入公式“=$E$1”。
这样,就实现了下拉选择时间的效果。
两种方法的差别
第一种方法更高效,但需要启用迭代计算,当表格中的数据很多时,迭代计算会导致卡顿。所以,建议在自动录入时间后,将公式结果选择性粘贴为数值。
第二种方法虽然不及第一种方法高效,但修改数据后,可以再次下拉选择新的时间。
最后,不管哪种方法,在使用前都必须先将时间单元格设置为自定义格式“yyyy/m/d h:mm:ss”。