如何在EXCEL表中自动生成时间,并能保持不变

我用EXCEL做了一个订餐用的统计表,现在希望能在输入相关地址和订餐量的同时,自动生成订餐时间,请问,我应该如何做才能在输完第一栏后自动在另一栏中生成时间,并一直保持原始的时间不变?
多谢!

  方法一:利用迭代计算

  点击excel左上角的“文件”→“选项”,弹出的对话框中,选择“公式”选项卡,勾选“启用迭代计算”,“确定”;

  将需要填入时间的单元格格式设置为需要的单元格格式,输入公式=IF(A2="","",IF(B2="",NOW(),B2)),A列为录入数据,B列记录录入数据的时间,需要注意的是,填写数据前,先将公式填充至B列的整个区域,这样在录入数据时才能自动填写时间。

方法二:数据有效性

在一个辅助单元格(假设C1)中填写公式=now(),用来计算现在的时间,在B列需要填写时间的单元格做数据有效性,方法是:选中B2:B17,选项卡上一次点击:数据→数据有效性→序列→填入公式“=$C$1”,这样在A列填入数据后,B列对应单元格可以通过下拉箭头选择时间填入。

C1的格式不影响B列的显示效果,设置不设置都可以

我用的是office2013版,“数据有效性”叫做“数据验证”,早期版本还是叫“数据有效性”

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-25
ctrl+;自动插入当前日期
ctrl+shift+;自动插入当前时间本回答被提问者采纳
第2个回答  2009-10-25
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
If Target = "" Then
Cells(Target.Row, 3) = ""
Else
Cells(Target.Row, 3) = Format(Now(), "yyyy-m-d hh:mm:ss")
End If
End If
End Sub
需要用VBA,如果你会,则是很简单的事情,如上请参考,A列为订餐地址,B列为订餐数量,C列为时间(自动生成),当你输完订餐数量后,C列自动生成当前时间,并保持不变。

如果对VBA无了解,建议用上面几位提供的方法,虽然手动,但简单易用。
第3个回答  2009-10-25
A列为日期,B列为地址,C列为订餐量。
该工作表VBA代码
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(Target.Row, 1) = "" Then
If Cells(Target.Row, 2) <> "" And Cells(Target.Row, 3) <> "" Then
Cells(Target.Row, 1) = Date
End If
End If
End Sub

如果日期为输入,且地址和订餐量都输入的情况下,自动输入当前日期。

把代码中的Date改为Now,则输入当前时间。
第4个回答  2009-10-25
yurui_chen - 名动一方 六级
这个是正解。我和他想法一样,还没来得及发上来