我正在做一份报告,计算人们确定工资的时间。我们从服务器提取报告并将其粘贴到Excel中进行计算。我在提取数据时遇到了一个问题:如果他们登录的时间不到一小时,我们的公式就不起作用了:
=IF(E159="","",((HOUR(E159)+(MINUTE(E159)+(SECOND(E159)/60))/60)))
如果时间为#value
,则会出现错误(:34:15
),但如果时间为00:34:15
,则表示没问题。
格式化单元格似乎不起作用。
我想浏览此专栏并将00
添加到缺少它的所有值中,我需要一些帮助或指导。
Another question on SO看起来可能有所帮助,但我不确定如何使用它。
答案 0 :(得分:3)
假设tiem位于上述公式的单元格E159中,您可以在时间开头附加0。这将修复所有小时缺失的时间,不会影响其他行。
="0"&E159
然后,您可以使用此修改替换原始公式中的所有E159
引用,以使其如下所示:
=IF(E159="","",((HOUR("0"&E159)+(MINUTE("0"&E159)+(SECOND("0"&E159)/60))/60)))
虽然很难阅读,但它可以解决问题。
虽然这回答了你的问题。我认为有更好的方法来实现这个公式。
看起来你正在寻找的最终结果是转换为小时的时间,将mulutes和seconds作为下一小时的分数。你可以这样做:
=E159*24
这将为您提供与原始公式相同的结果。 然后将其与我的第一个答案结合起来得到一个看起来像的公式:
=("0" & E159)*24
这种方法更容易阅读/编辑,并提供相同的输出。
为什么会这样做
Excel将所有日期存储为整数,并将所有时间存储为一天的分米%。 因此,当Excel存储12小时时,它将其保存为.5,因为它是一天的一半。 通过将时间输出除以24,我们将整个时间值从一天的百分比转换为小时百分比。