excel表now如何去掉时间?

我现在想在左边获取填写时的日期,然后右边匹配对应的值,但是now获取到日期+时间,导致右边计算不到,怎么把左边的时间去掉?用了text(now(),“yyy/m/d”)也不行

第1个回答  2023-07-25
格式设置日期可以
第2个回答  2023-07-25
=IF(C2="","",NOW())

亲,你这条公式是不行的。
当C2非空时,每当工作表刷新计算时,此公式返回的结果都会改变。
不信你按F9键刷新一下工作表看看。追问

我想获取填写时间应该用什么公式?我只想要年月日,不要时间

追答

NOW()返回的是当前日期和时间。
TODAY()返回的是当前日期。
你把NOW()换成TODAY()就好了啊。
但是,前面我已经说过了,你那条公式是有问题的,
当C2非空时,每当工作表刷新计算时,此公式返回的结果都会重算,返回重算时的日期。

追问

固定需要用什么公式??比如说我填写的时候是2023/7/25,那我无论什么时候打开,或者重算,都还是2023/7/25不变?

追答

要么用VBA,要么用迭代计算配合公式。
涉及到循环引用报错,所以必须开启迭代运算。

比如你的公式是放在B2单元格中,公式为:
=IF(C2="","",IF(B2="",TODAY(),B2))
此公式在B2中,而公式中又引用B2的值,所以涉及到循环引用报错。
在Excel的选项设置中---公式---勾选"迭代运算"。
公式的意思是:
如果C2为空时,那么返回空,
否则,如果B2为空时,返回今天日期,
否则,(即B2非空时),返回B2原有日期。

本回答被提问者采纳
相似回答