excel 如果满足条件,则返回今天的日期

如果A1<=0,则在B1显示今天的日期。否则(也就是A1>0),则在B1显示“不合格”。
也就是自动记录此品种 合格的日期。
请问各位高手,该如何实现?在线等。
嵌套、数组、vba的方法,任何方法都可以。

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

示例图片:

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-02
=IF(A1<=0,TODAY(),"不合格")
这个公式是没问题的。
你那里之所以显示41276是因为你的单元格格式设定为数字了。
你在单元格上右键单元格格式选择成日期就OK了。

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

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

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

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

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

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

这样你就可以在A1:A100中输入当前日期了。本回答被网友采纳
第3个回答  2013-01-02
函数方法:
=if(a1>0,"不合格",today()),但是,会始终显示当前的系统日期。
从你表述的意思来看,B1里的日期不能进行变更,也就是一旦显示日期,就不能再变。
这样的话,只能使用VBA。而且B1的更新触发条件很不好设定。搞不好也会更新为当前日期……
第4个回答  2013-01-02
要用VBA记录当前日期,但是在下次打开时不变化。
宏代码:

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

参考资料:metoome123百度知道。

本回答被提问者采纳