第1个回答 2010-07-14
先点菜单栏,工具,选项,重新计算,勾选迭代计算,最多迭代次数设为1次,确定退出.然后在B1输入=IF(A1="","",IF(B1="",TEXT(IF(B1>0,NOW(),""),"yyyy-m-d"),B1)),C1输入=IF(A1="完工",IF(C1="",TEXT(IF(C1>0,NOW(),""),"yyyy-m-d"),C1),"")
记住A1先不要输入任何内容,公式写完后再输入
第2个回答 2010-07-14
我可以用普通方法做
工具→选项→重新计算→勾选迭代计算→最多迭代次数改为1→确定→在b1输入公式:=IF(AND(A1="在施",CELL("address")="$a$1"),TEXT(NOW(),"yyyy-m-d"),IF(AND(A1="停工",CELL("address")="$a$1"),B1,B1)))→回车
在c1输入公式:=IF(AND(A1="完工",CELL("address")="$a$1"),TEXT(NOW(),"yyyy-m-d"),IF(AND(A1="停工",CELL("address")="$a$1"),"",C1))→回车,已验证结果完全正确本回答被提问者采纳
第3个回答 2010-07-14
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "在施" Then
[b1] = Date
End If
If Target = "完工" Then
[c1].Value = [b1].Value
End If
If Target = "停工" Then
[c1].Value = ""
End If
End Sub
第4个回答 2010-07-14
公式应该不行的了,估计VBA可以轻松解决.