用excel函数可以自动输入当天日期,比方说"=today()",但怎么锁定这个日期?
2016-12-31 · 知道合伙人教育行家
在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
注意事项
方法一是直接输入日期并显示日期,单元格内以数值的形式存在;
方法二和方法三是输入函数显示日期,单元格内仍然是以函数的形式存在,而不是数值。
终于在网上找到用函数的解决方法了!太多人只会一种思路,导致大多数人都自己琢磨不出来,就说函数实现不了一定要用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。
你为什么非要用函数呢?
用VBA也行,不过能用函数实现是最好的。