![](/img/trans.png)
[英]Excel entering the date time into a cell when another cell has a value entered into it
[英]Excel Formula which places date/time in cell when data is entered in another cell in the same row
希望有一种方法可以通过公式来完成,因为我将把它作为共享工作簿放在 SharePoint 上。
B 列包含任务,而 E 列包含分配任务的日期和时间。 是否有一个公式可以在有人在 B 列中输入数据时自动在 E 列中输入当前日期和时间?
任何帮助将不胜感激。
执行此操作的另一种方法如下所述。
首先,在File - Options - Formulas - Enable Iterative Calculation
。 然后将最大迭代次数设置为 1000。
执行此操作后,请使用以下公式。
=If(D55="","",IF(C55="",NOW(),C55))
一旦在单元格D55
输入任何内容(对于本示例), C55
根据单元格格式填充今天的日期和/或时间。 即使在单元格 C55 中输入新数据,此日期/时间也不会再次更改,因此它显示了最初输入数据的日期/时间。
这是一个循环引用公式,因此您每次打开工作簿时都会收到有关它的警告。 无论如何,该公式有效并且易于在工作表中的任何位置使用。
这可以通过一个简单的 VBA 函数来完成。 Excel 支持Worksheet Change Sub,它可以被编程为在每次触发时将日期放在相关列中。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Offset(0, 3).Value = "" Then
Target.Offset(0, 3) = Format(Now(), "HH:MM:SS")
End If
End Sub
快速解释。 以下“if”语句检查两件事:(1) 是否是第二列发生了变化(B 列),以及(2)单元格 3 列上方(E 列)当前是否为空。
If Target.Column = 2 And Target.Offset(0, 3).Value = "" Then
如果这两个条件都为真,那么它将使用NOW()
函数将日期放入 E 列中的单元格中。
Target.Offset(0, 3) = Format(Now(), "HH:MM:SS")
不确定这是否适用于具有函数的单元格,但我在其他地方找到了用于单个单元格条目的代码,并对其进行了修改以供我使用。 如果操作得当,您无需担心在每次打开时在单元格或文件中输入函数将日期更改为当天的日期。
复制/粘贴以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D:D")) Is Nothing Then Exit Sub
Target.Offset(0, 2) = Date
结束子
祝你好运...
恐怕没有这样的功能。 您将需要一个宏来完成此任务。
你可以在 E 列中做这样的事情(记得设置自定义格式“dd/mm/yyyy hh:mm”):
=If(B1="";"";Now())
但是每次打开文件时它都会改变值。
您需要通过宏保存该值。
您可以使用 If 函数在要输入日期的单元格中写入以下公式: =IF( MODIFIED-CELLNUMBER <>"",IF( CELLNUMBER-WHERE-TO-INPUT-DATE ="",NOW(), CELLNUMBER-WHERE-TO-INPUT-DATE ),"")
这是对我有用的解决方案
=IF(H14<>"",NOW(),"")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.