我正在 Excel 2016 中制定计划事件,以跟踪一系列日期/时间戳之间的差异并保持累计总数。
... | ETA | ATA | 差异 | 总计 | ... 11/20/18 8:00 11/19/18 12:00 (ETA - ATA) (差异 + 最后差异)
问题是 Excel 无法处理负数的日期时间。因此,如果某个值超出了 schudle,它就会变成 #VALUE,整个系列就会消失。
我尝试过使用 1904 日期格式,但那总是至少 1 天,而且没有零日期,甚至相等的日期时间也会等于 +1 天。
然后使用 TEXT() 转换为文本,但它实际上不可能用于下一个事件,因为它不再是一个日期,而负日期仍然是一个问题。
唯一的其他选择是将天/小时/分钟分成单独的隐藏列,然后将每个日期转换/添加到每个日期时间或一些愚蠢的事情。
还有其他方法可以保存我遗漏的正或负日期时间的累计总数吗?
答案1
由于 Excel 将日期/时间值表示为Double
,因此这当然是简单的数学运算。我怀疑您的问题在于列的格式Diff
。在此示例中:
| A | B | C | D | ... | AA |
| ETA | ATA | Diff | Total | ... | Helper |
|------------------|:----------------:|:------------:|:--------:| ... |:------:|
| 11/20/2018 8:00 | 11/19/2018 12:00 | 00:20:00 | | ... | =A2-B2 |
| 11/19/2018 12:00 | 11/20/2018 8:00 | -00:20:00 | =AA2+AA3 | ... | =A3-B3 |
该Diff
列的格式不是日期,而是常规格式。Diff 列中的公式为
=TEXT((A2-B2)*24,"#0.00")&" hours"
但当然您可以根据需要进行调整。
扩展上面的答案,使用“辅助”列(即使它在右边)
因此,在Diff
列中使用如下公式
=IF(A2>=B2,TEXT(A2-B2,"dd:hh:mm"),"-"&TEXT(B2-A2,"dd:hh:mm"))
这将为您提供一个显示良好的值。但是然后在最右边的一列(也许AA
?)中使用简单的公式=A2-B2
。然后回到您的Total
列中,它可以执行累计总计以包含正数和负数。