2

我有一个电子表格(Excel 的 Office 2007 版本),其中充满了负时间值的文本条目,例如“-0:07”,因为员工完成工作的时间比预期的少 7 分钟。我需要对这些条目进行数学计算,并且正在寻找比我迄今为止想出的更优雅的公式/方法。

我知道 1904 日期系统和 * 或 / by 24 来回转换,问题是得到一个公式,将文本条目识别为负时间值。

我试过 value(), *1,如果数字是正数,它们都适用于文本字段,但“-”似乎把它们弄乱了。即使 paste-special/add 也无法将这些识别为数字。

这是我想出的可以完成工作的方法,但这对我来说太难看了:

=IF(LEFT(E5,1)="-",((VALUE(RIGHT(E5,LEN(E5)-1)))*-1.0),VALUE(E5))

显然,在本例中,我的文本条目位于单元格 E5 中。

这行得通,所以我并不急于寻求解决方案,但出于教育目的(和更小的代码),我想知道是否有更好的方法。有没有人建议更短,更容易的东西?

谢谢。

PS - 这里有一个有趣的花絮,我在工作中使用 Excel,但不在家里,所以我将一个示例电子表格上传到 Google Docs,它实际上正确处理了这些条目上的 Value() 命令。很奇怪吧?

再次感谢您的任何建议。

4

1 回答 1

2

Excel 不处理单元格中的时间跨度。它只处理时间。当您执行“00:07”时,它将转换为 0.0048611,这与 1900 年 1 月 1 日上午 12.07 相同。因此,如果您将 2 分钟减去 7 分钟,则最多只能在晚上 11.55 分。

你这样做的方式是唯一的方式。

于 2012-07-13T14:49:59.330 回答