我有一个电子表格(Office 2007版本的Excel),其中包含负时间值的文本条目,例如“-0:07”,因为员工完成工作的时间比预期少7分钟。我需要对这些条目进行数学计算,并且我正在寻找一种比我迄今为止提出的更优雅的公式/方法。
我知道1904日期系统和*或/ 24来回转换,问题是得到一个公式,将文本条目识别为负时间值。
我已经尝试过value(),* 1,如果数字是正数,它们都可以在文本字段上工作,但是“ - ”似乎搞砸了那些。即使是paste-special / add也无法将这些识别为数字。
这就是我提出的完成工作的内容,但这对我来说太难看了:
=IF(LEFT(E5,1)="-",((VALUE(RIGHT(E5,LEN(E5)-1)))*-1.0),VALUE(E5))
显然,我的文本条目在此示例中位于单元格E5中。
这很有效,所以我并不急于寻求解决方案,但出于教育目的(和较小的代码),我想知道是否有更好的方法。有没有人建议更短,更容易?
感谢。
P.S。 - 这里有一个有趣的消息,我在工作时使用Excel,但不在家,所以我将一个示例电子表格上传到Google Docs,它实际上正确地处理了这些条目的Value()命令。很奇怪,是吗?
再次感谢您的任何建议。
答案 0 :(得分:2)
Excel不处理单元格中的时间跨度。它只涉及时间。当您执行“00:07”时,它将转换为0.0048611,这与1900年1月1日上午12时07分相同。因此,如果你做了2分钟减去7分钟,那么最好在晚上11点55分。
你这样做是唯一的方法。