如何制作一个公式,当有人填写单元格时,它会计算现在的时间。例如,如果员工来了,需要填补缺勤,公式将输入他们输入的时间,例如 14:30。
我已经使用公式 =now(),但是它不起作用,每次我们输入缺席时它都会更新。
答案1
您可以通过两种方式实现此目标:
使用迭代计算:
- 转到文件-选项-公式
- 勾选“启用迭代计算”
- 将“最大迭代次数”设置为
1
- 现在您可以使用这个公式:
=IF(A1="","",IF(B1="",NOW(),B1))
一旦在 A1 中输入任何内容,这将把当前日期和时间插入到 B1,并且以后不会更新它。
- 转到文件-选项-公式
使用宏
- 按 Alt+F11 打开 VBA 编辑器
- 双击需要数据的工作表的名称,这将打开该工作表的代码模块
- 输入此代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Target.Offset(0, 1) = Evaluate("now()")
End If
End Sub
每当 A 列中的单元格被填充时,此代码将在 B 列的相应行中输入 now()。