我正在做一份报告,计算人们确定工资的时间。我们从服务器中提取报告并将其粘贴到 Excel 中进行计算。我在提取数据时遇到了一个问题:如果他们登录的时间少于一个小时,我们的公式将不起作用:
=IF(E159="","",((小时(E159)+(分钟(E159)+(秒(E159)/60))/60)))
如果时间为 :34:15
,则会出现错误 (#value
),但如果时间为 00:34:15
,则没关系。
格式化单元格似乎不起作用。
我想浏览此列并将 00
添加到所有缺少它的值中,并且我需要从那里获得一些帮助或指导。
Another question on SO看起来它可能有帮助,但我不确定如何使用它。
最佳答案
假设上述公式中的 tiem 位于单元格 E159 中,您可以在时间开头附加 0。这将修复所有缺少小时的时间,并且不会影响其他线路。
="0"&E159
然后,您可以使用此编辑替换原始公式中的所有 E159
引用,使其如下所示:
=IF(E159="","",((HOUR("0"&E159)+(MINUTE("0"&E159)+(SECOND("0"&E159)/60))/60)))
虽然很难阅读,但它确实有效。
虽然这回答了你的问题..我认为有更好的方法来实现这个公式。
看起来您正在寻找的最终结果是将时间转换为小时,其中穆鲁特和秒作为下一小时的十分之一。您可以通过执行以下操作来实现此目的:
=E159*24
这将为您提供与原始公式相同的结果。 然后将其与我的第一个答案结合起来,得到一个如下所示的公式:
=("0" & E159)*24
这种方法更容易阅读/编辑,并提供相同的输出。
为什么这样有效
Excel 将所有日期存储为整数,并将所有时间存储为一天的十分之一%。 因此,当 Excel 存储 12 小时时,它会将其保存为 0.5,因为它是半天。 通过将时间输出除以 24,我们将整个时间值从一天的 % 转换为小时的 %。
关于excel - 修复 h=0 时格式错误的时间 'hh:nn:ss',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11849687/