如何在IF函数中写入可识别的时间?工时表求和异常求助
解决Excel工时表求和无法识别IF函数返回的"7:40"问题
嘿,我来帮你搞定这个困扰!问题的核心其实不是格式设置,而是你的IF函数返回的内容类型不对——你现在用的公式=IF(D5<>FALSE,"7:40", Sheet1!E20)里,"7:40"是文本字符串,而Excel能参与时间求和的是时间数值(Excel把时间存储为0到1之间的小数,比如7小时40分钟对应的数值是(7*60+40)/1440≈0.3194)。哪怕你给单元格套了hh:mm的自定义格式,本质还是文本,求和函数自然读不懂它。
给你两个简单的解决方案:
方案1:用TIME函数直接生成时间数值
修改公式为:=IF(D5<>FALSE,TIME(7,40,0), Sheet1!E20)TIME(小时,分钟,秒)会直接返回Excel认可的时间数值,设置hh:mm格式后显示就是7:40,同时能正常参与求和。方案2:用VALUE函数把文本转成时间数值
如果习惯用字符串写法,也可以用VALUE转换:=IF(D5<>FALSE,VALUE("7:40"), Sheet1!E20)这个函数会把文本格式的时间字符串转换成对应的时间数值,效果和方案1一致。
验证方法
修改公式后,选中单元格看编辑栏:如果显示的是7:40:00或者类似0.319444...的小数,说明已经成功转换成时间数值了,此时求和就能正常计算啦。
另外提醒下:如果Sheet1!E20本身也是文本格式的时间,那也要用同样的方法把它转成数值,确保整个求和区域都是时间数值类型哦。
内容的提问来源于stack exchange,提问作者user11577136
相关产品推荐
相关产品推荐

