将表示负时间值的文本转换为数字或时间值以进行添加(Excel)

将表示负时间值的文本转换为数字或时间值以进行添加(Excel),excel,time,excel-formula,negative-number,Excel,Time,Excel Formula,Negative Number,我有一个电子表格(Office2007版Excel),里面充满了负时间值的文本条目,例如“-0:07”,因为员工完成一项工作的时间比预期少了7分钟。我需要对这些条目进行数学计算,我正在寻找一个比我目前想出的更优雅的公式/方法 我知道关于1904年的日期系统和*或/由24来回转换,问题是得到一个公式,将识别文本输入为负时间值 我尝试了value(),*1,如果数字为正数,这两种方法都适用于文本字段,但“-”似乎会把它们搞乱。即使是“特殊粘贴/添加”也无法识别这些数字 下面是我想出来的能完成任务的方

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

我知道关于1904年的日期系统和*或/由24来回转换,问题是得到一个公式,将识别文本输入为负时间值

我尝试了value(),*1,如果数字为正数,这两种方法都适用于文本字段,但“-”似乎会把它们搞乱。即使是“特殊粘贴/添加”也无法识别这些数字

下面是我想出来的能完成任务的方法,但对我来说太难看了:

=IF(LEFT(E5,1)="-",((VALUE(RIGHT(E5,LEN(E5)-1)))*-1.0),VALUE(E5))
显然,在本例中,我的文本条目位于单元格E5中

这是可行的,所以我并不迫切需要一个解决方案,但出于教育目的(和更小的代码),我想知道是否有更好的方法。有没有人对更短更简单的东西有什么建议

谢谢

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


再次感谢您的建议。

Excel不处理单元格中的时间跨度。它只涉及时间。当您执行“00:07”时,它将转换为0.0048611,这与1900年1月1日12:07上午相同。所以如果你做了2分钟减去7分钟,最多只能得到晚上11点55分

你这样做是唯一的办法