excel 如果满足条件,则返回今天的日期 excel如何与当前日期比较比较返回合格或不合格,如下图!

作者&投稿:向郊 (若有异议请与网页底部的电邮联系)

使用if函数,可以设置满足一定条件,返回今天的日期。

示例图片:

如图所示,B2单元格的公式为=IF(A2<>"",TODAY()),意思是如果A2单元格不为空,就返回今天的日期。today函数是易失性函数,可以返回今天的日期。



=IF(A1<=0,TODAY(),"不合格")
这个公式是没问题的。
你那里之所以显示41276是因为你的单元格格式设定为数字了。
你在单元格上右键单元格格式选择成日期就OK了。

大家都在考虑你每次打开这个文件的时候,日期都会变成当天的日期,无法固定为显示输入数据时的日期的问题。这个问题不好解决。你如果是要做记录的话,当然不会希望以前录入的数据日期总是变成当前的日期。

稳妥的办法是每天把当天的数据整理好后复制出去选择性粘贴成数值,形成一个履历文件,只把这个文件作为当天处理数据的整理文件。

当然你可以在“公式”----“计算”----“计算选项”那里选成“手动”,但是这样设置整个工作表的公式就都不自动计算了,一旦你点了“开始计算”或者“计算工作表”之后,之前所有的日期又都变成当天的日期了,而且难以找回,所以要慎用。

如果你在A1:A100需要输入日期的话,

那么你可以这样做,
1,在B1中输入 =TODAY()

然后选中A1:A100,点数据--有效性--设置--允许--序列

在下面的来源中输入 =$B$1

这样你就可以在A1:A100中输入当前日期了。

函数方法:
=if(a1>0,"不合格",today()),但是,会始终显示当前的系统日期。
从你表述的意思来看,B1里的日期不能进行变更,也就是一旦显示日期,就不能再变。
这样的话,只能使用VBA。而且B1的更新触发条件很不好设定。搞不好也会更新为当前日期……

要用VBA记录当前日期,但是在下次打开时不变化。
宏代码:

Private Sub worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then Sheet1.Cells(Target.Row, 2) = Now()
End Sub

excel 满足条件返回满足条件当天日期 日期以后不更新 , =if((A1<>"")*(B1<~

如果是在C列记录满足条件时的日期,那么在E1单元格输入=TODAY()
然后选择C列,在“数据”选项下的“数据有效性”“设置”中,选择“序列”,数据来源输入=$E$1 ,确定后,在C列生成唯一的序列;
当条件满足时,在C列下拉选项中按一下,就会记录当时的日期,且该日期不会随系统日期而改变。

=if(b2="","",if(today()>a2+substitute(b2,"个月",""),"合格","不合格"))