用excel函数可以自动输入当天日期,比方说"=today()",但怎么锁定这个日期?

就是说,无论什么时候再次打开excel,日期还是显示上一次函数作用的时间。

  在Excel中要输入日期、时间可以直接手工输入,也可以通过一些快捷方式或者函数来输入。

  方法一、选择A1单元格,按“Ctrl+;”,可以快速在单元格中输入并显示系统当前的日期。

  方法二、选择A1单元格,输入“=NOW()”,按回车可以显示系统当前的日期及时间。

  方法三、选择A1单元格,输入“=TODAY()”,按回车可以显示系统当前的日期。

  方法四、VBA可以实现,公式要加用辅助单元格,

  =TEXT(TODAY(),"e-mm-dd")&":"&c1

  但today()函数每次都会自动更新,就是说日期永远是当天的日期。

  加三个辅助单元格可以解决上述问题:

  c1:=today()定义名称TD,=c1

  d1数据有效性,序列来源TD

  E1输入内容

  b1=d1&e1

  注意事项

  方法一是直接输入日期并显示日期,单元格内以数值的形式存在;

  方法二和方法三是输入函数显示日期,单元格内仍然是以函数的形式存在,而不是数值。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-13

终于在网上找到用函数的解决方法了!太多人只会一种思路,导致大多数人都自己琢磨不出来,就说函数实现不了一定要用vba!

说白了真不是高科技。一般来说想要实现这个功能的人,都是用来记录数据录入日期时间的,再次打开文档时间就跟着系统时间变了的话,就失去了记录的意义了,所以我们希望它不要跟着系统时间变化。

首先点击菜单栏,工具,选项,重新计算,勾选“迭代计算”,最多迭代次数设为1次。这一步很重要。

公式如下:

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

我来解释一下这个天才的思路,实在让我钦佩。。。用最朴实的逻辑解决普罗大众口口声声解决不了的问题。如果B1单元格,也就是我们数据录入的单元格,为空,那该公式所在单元格就为空。如果B1不为空,在这里再嵌套一个条件:当A1单元格,也就是自动跳出日期的单元格,为空,那就在这里输入today()函数。要点来了,如果该单元格不为空,也就是说,已经有数据了,那就输入本单元格的原始数据,也就是保持不变!!! 就这么简单实现了:后面有数据,自动输日期,没数据,自动清空。已有日期的情况下,不更新为系统当日日期。完美(请脑补金星大姐)

我在他的基础上又变化了一点点,因为我希望在日期同一行的后面几列里面,有任何一列有数据输入,日期列就自动录入当天日期,所以在最外层if函数的判定条件里加了个AND函数,也就是后面全为空,日期列就留空,但凡有任意一格有数据,就输入当天日期。

这是我变形后的公式:

=IF(AND(C8:H8=""),"",IF(B8="",TODAY(),B8))

释义:C8到H8里面有任意一格有数据的话,就输入当天日期,没有的话就留空。如果日期列已有日期数据,就保持不变,如果没有,就输入当天日期。看起来有点啰嗦,这是因为if条件嵌套的关系。

贴个原贴链接:网页链接

这个“久落江边”答主如此精准的回答居然淹没在茫茫因特网。。。时至今日你再去搜索想固定today函数输入日期的方法,依然大多数搜索结果是告诉你办不到,必须用vba。

第2个回答  2013-01-30
要实现自动输入当天日期而且不变,一般要用VBA宏,有点麻烦,你还不如直接按ctrl+;(分号)完全可以达到你的要求。本回答被提问者和网友采纳
第3个回答  2013-01-30
更新一下 或者 当表格发生变化的时候 会自动变的 ctrl+alt+F5
第4个回答  2013-01-30
ctrl+:
你为什么非要用函数呢?追问

用VBA也行,不过能用函数实现是最好的。