Excel公式,在同一行的另一个单元格中输入数据时,将日期/时间放在单元格中

时间:2014-06-11 18:49:22

标签: excel excel-formula excel-2007

希望有一种方法可以通过公式完成,因为我将把它作为共享工作簿放在SharePoint上。

B列包含任务,而E列包含分配任务的日期和时间。当有人在B列中输入数据时,是否有一个公式会自动输入E列中的当前日期和时间?

非常感谢任何协助。

6 个答案:

答案 0 :(得分:5)

另一种方法如下所述。

首先,在File - Options - Formulas - Enable Iterative Calculation下启用迭代计算。然后将最大迭代次数设置为1000。

执行此操作后,请使用以下公式。

=If(D55="","",IF(C55="",NOW(),C55))

一旦在单元格D55中输入任何内容(对于此示例),C55将填充今天的日期和/或时间,具体取决于单元格格式。即使将新数据输入单元格C55,此日期/时间也不会再次更改,因此它显示最初输入数据的日期/时间。

这是一个循环引用公式,因此每次打开工作簿时都会收到有关它的警告。无论如何,该公式都可以在工作表中的任何位置使用,并且易于使用。

答案 1 :(得分:4)

这可以通过简单的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")

Range.Offset

Range.Column

答案 2 :(得分:2)

不确定这是否适用于具有功能的单元格,但我在其他地方找到了单个单元格条目的代码并将其修改以供我使用。如果操作正确,您无需担心在单元格中输入函数,或者每次打开日期时将日期更改为当天的日期。

  • 打开Excel
  • 按“Alt + F11”
  • 双击要应用更改的工作表(左侧列出)
  • 复制/粘贴以下代码
  • 调整范围()输入以对应您要更新的列
  • 调整偏移量(0,_)输入以对应于您希望显示日期的列(在下面的版本中,我对列D进行更新,我想要在F列中显示日期,因此输入条目从列D)开始的2列的“2”
  • 点击保存
  • 如果工作簿中有其他需要相同代码的工作表,请重复上述步骤
  • 您可能需要将显示日期的列的数字格式更改为“常规”,如果在更新条目后显示“####”,则增加列的宽度

复制/粘贴代码如下:

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("D:D")) Is Nothing Then Exit Sub
Target.Offset(0, 2) = Date

End Sub

祝你好运......

答案 3 :(得分:0)

我担心没有这样的功能。您需要一个宏来完成此任务。

你可以在E栏中做这样的事情(记得设置自定义格式" dd / mm / yyyy hh:mm"):

=If(B1="";"";Now())

但每次文件打开时它都会改变价值。

您需要通过宏保存值。

答案 4 :(得分:0)

您可以使用If功能 在要输入日期的单元格中写入以下公式: = IF(的改性CELLNUMBER <>"",IF(的 CELLNUMBER-WHERE-TO-INPUT-DATE ="& #34;,NOW(),的 CELLNUMBER-WHERE-TO-INPUT-DATE )"&#34)

答案 5 :(得分:0)

这是对我有用的解决方案

/usr/sbin/sendmail -t << MESSAGE_END
From:theServer
To:myEmail@domain.com
Subject:My Subject

SOMETEXT $Variable
SOMETEXT $Variable
SOMETEXT $Variable

MESSAGE_END