使用 OpenOffice.org Calc 查找时间差异

Sat*_*hat 4 openoffice-calc openoffice

我有这种格式的数据:

      Action  (A)                  |     Time logged (B)
  ---------------------------------|-----------------------
1 |Policy converted successfully   |   19-FEB-10 18:34:01   
2 |Policy converted successfully   |   19-FEB-10 18:34:10   
3 |Policy converted successfully   |   19-FEB-10 18:34:21   
Run Code Online (Sandbox Code Playgroud)

我需要找到第 2 行和第 1 行之间的时差,以秒(或分钟/小时)为单位。我如何使用 OpenOffice.org Calc 做同样的事情?我试过了=B2-B1,结果单元格有一个Err: 529。我试过DD-MMM-YY HH:MM:SS在源单元格和目标单元格上放置格式掩码,但没有效果。有关如何完成此操作的任何提示?

大约有 2,800 行记录,要遍历每一行是不可能的。

小智 6

计算两个小时的差值:

=(HOUR(E17)+(MINUTE(E17)/60))-(HOUR(D17)+(MINUTE(D17)/60))
Run Code Online (Sandbox Code Playgroud)

其中 D17 是“从时间”,E17 是“到时间”。E17 和 D17 都应格式化为时间。


sle*_*ske 5

正如克里斯回答的那样,您的问题是您的工作表将日期存储为文本字符串,而不是日期。

除此之外,单元格只能是日期(即日历上的一天)时间(挂钟时间),不能同时是两者。 编辑:不正确,这很好用。只是没有解析函数可以一口气解析日期+时间。

因此,首先,您需要将日期+时间字符串拆分为两列。然后使用 DATEVALUE 转换日期,使用 TIMEVALUE 转换时间。然后你可以和他们一起计算。

为此,您可以使用如下公式:

Policy converted successfully   |       19-FEB-2010 18:34:01 | =LEFT(B1; 11) | =RIGHT(B1;8) | =DATEVALUE(C1) | =TIMEVALUE(D1) | =E1+F1
Run Code Online (Sandbox Code Playgroud)

解释:

  • 前两个公式 (LEFT, RIGHT) 将字符串拆分为日期和时间,以分别解析它们。
  • 接下来的两个 (DATEVALUE,TIMEVALUE) 将字符串解析为日期/时间
  • 最后一个将日期+时间合并到一个单元格中(内部日期和时间只是浮点数,因此您可以添加)

现在您可以尽情使用它们。当然,您可以组合公式以使用更少的单元格。

如果最后一列不显示为日期+时间,而是显示为数字,请选择“日期”格式。