excel 自动设置日期且以后日期不改变

因为工作需要,每张表格都要附上出表的日期,但事多了记性不好,经常忘记,故考虑用函数替代。一开始考虑用today函数,但因为函数today是取得当前日期,每次打开表格日期就变了,这可不行。

百度研究了一下要保持输入数据的日期不变,只能是下面三种方法:

  1. 直接输入当前日期,快捷键是Ctrl+;(容易忘记)

  2. 用VBA(不会)

  3. 研究用today函数也可以,但得有点技巧,就是要用到Excel的迭代循环,并用另一个单元格来触发。首先在选项的高级中勾选“启用迭代计算”(WPS是在设置-重新计算选项里面),再你的工作表中除了日期肯定是要输入其它数据的。比如你要在A1中显示输入数据的日期,而A2以下是序号,假设工作表只要有数据A2肯定不会为空,就可以A2来做触发的单元格。在A1中输入如下公式:

  =IF(A2="","",IF(A1="",TODAY(),A1))

  公式中,首先,因为A2没有数据,所以取空值,当A2输入数据时,条件不成立,但此时A1="",第2个IF条件成立,函数TODAY()取得当前日期,而到第2天及以后,因为2个IF条件都不成立,A1按第2个IF不成立时取值,取得A1——即仍是原值不变。因为公式中要取得单元格本身,这就是Excel的循环引用,所以要勾选“启用迭代计算”。

  PS:这里的日期完全可以在单元格格式中设置,选择一个你喜欢的日期格式,没必要多用一个text函数。而即是使用text函数,也没必要你那么复杂。你的公式用如下方式即可:

  =TEXT(TODAY(),"yyyy年mm月dd日")

over!

评论回复