excel计算时间差|excel自动记录数据修改时间

excel计算时间差|excel自动记录数据修改时间)

Excel 中,有许多「自动」功能,可以大幅提高表哥表姐们的办公效率,例如:

? 自动标亮整行数据。

? 自动合并工作表。

? 到期自动提醒。

……

今天要给大家讲的,也是一个「自动」功能:

在 Excel 中输入数据后,会自动记录时间。修改数据后,既可以让日期时间跟随修改而变化,也可以让它保持不变。

不懂?来看看动图:

excel计算时间差(excel自动记录数据修改时间

▲ 修改数据,日期时间变化

excel计算时间差|excel自动记录数据修改时间

▲ 修改数据,日期时间不变

相对于手工录入时间,自动记录修改时间效率更高,错误几率更小。

还是不懂?没关系。我们来看具体案例。

excel计算时间差|excel自动记录数据修改时间

修改数据,日期时间变化

秋叶小店需要记录报单和产品出入库时间,如果有出入库情况,还得修改库存。如下图:

excel计算时间差|excel自动记录数据修改时间

|为了更好地演示,这里仅展示部分数据。)

但是,由于产品数量太多,每次记录都要多次核查,总担心时间没有记、记错了、库存数量没有更改等等,特别麻烦。

怎么办呢?

这时,我们就需要用到「自动记录时间」的小技巧了,而且,还需要让日期和时间随着数据的修改而变化。

这样就可以清楚地知道,库存、入库/出库有没有登记好。

以后再打开时,还可以看到上一次修改的时间,便于盘点。

excel计算时间差(excel自动记录数据修改时间

怎么做呢?我们可以用 VBA 代码。

VBA?!

淡定,别慌。

不用自己写,网络上已经有很多大佬写的现成代码,我们只需套用即可。

来看看操作步骤:

? 打开 VBA。

按【Alt】 【F11】打开 VBE 窗口,即 VBA 的编程工具,我们在这里编写 VBA;

excel计算时间差|excel自动记录数据修改时间

? 将下面的代码复制到【Sheet2】|数据所在工作表)的代码窗口中。

Private Sub Worksheet_Change(ByVal Target As Range)If Target.Count > 1 Then Exit SubIf Target.Row = 1 Then Exit SubIf Target.Column Mod 2 > 0 Then Exit SubIf Target = "" Then Target.Offset(, 1) = "" Else Target.Offset(, 1) = NowEnd Sub

▲ 左右滑动查看

excel计算时间差(excel自动记录数据修改时间

PS:注意代码不要放错工作表。

? 关闭窗口即可。

之后,在偶数列输入数据,后面一列就会自动显示时间。

excel计算时间差|excel自动记录数据修改时间

好啦,这个小技巧就讲到这里了~

有同学会问,如果我不需要日期时间随着修改的数据而变动,该怎么办?

别急,我们来看第二个案例

excel计算时间差|excel自动记录数据修改时间

修改数据,日期时间保持不变

小竹每周需要进行采购工作,同时需要记录好采购时间,如下图:

excel计算时间差|excel自动记录数据修改时间

由于每次采购的种类太多,时间紧,产品名称和时间非常容易弄错。

excel计算时间差|excel自动记录数据修改时间

这时,就可以用到上面说的「自动记录时间」的小技巧了。

并且,如果产品名称不小心打错了,修改数据之后,日期和时间也能保持之前的不变。

操作方法:

? 选中 B2 单元格,输入公式:

=IF(A2="","",IF(B2="",NOW(),B2))

excel计算时间差|excel自动记录数据修改时间

PS:A2 是输入产品名称的单元格,B2 是输入时间的单元格,可根据实际需要进行修改。

公式含义:

=IF(A2="","",IF(B2="",NOW(),B2))

如果 A2 单元格为空,则 B2 单元格也为空;如果 A2 单元格有内容,则显示第二个 IF 函数的值。

第二个 IF 函数的含义是,如果 B2 单元格为空,则显示 NOW 函数的值;否则返回原来的值。|避免因电脑时间改变,B2 单元格中的内容也变了。)

? 下拉填充到其他单元格。

excel计算时间差(excel自动记录数据修改时间

? 公式存在循环引用,因此需要允许 Excel 进行迭代计算。

打开【文件】-【选项】-【公式】,勾选「启用迭代计算」,确定。

excel计算时间差|excel自动记录数据修改时间

? 将 B 列的单元格格式设置为日期时间。

选中 B 列,【Ctrl 1】打开设置单元格格式,选择「日期」-「2012/3/14 13:30」。

excel计算时间差|excel自动记录数据修改时间

之后,在 A 列输入数据,B 列就会自动记录时间了。

excel计算时间差|excel自动记录数据修改时间

excel计算时间差|excel自动记录数据修改时间

总结一下

本文主要讲了「输入数据,自动记录时间」的 2 种方法。

根据不同的场景需求,可以选择不同的方法:

? VBA 法:修改数据后,日期时间随之变化。

? 函数法:修改数据后,日期时间保持不变。

之后遇到需要用 Excel 记录时间的场景,一定记得来看看这篇文章哦~

Tips:

? 为了不影响其他公式,在关闭启用了「迭代计算」的表格之前,先取消勾选,再次打开时启用。

? 为了避免丢失,建议在录入完成后,用「选择性粘贴-数值」的方法,把已生成的时间记录由公式改为纯数值。

推荐阅读