全球主机交流论坛

标题: 天才们这个EXCEL问题我懵逼了,,, [打印本页]

作者: 芭啦啦能量    时间: 2024-4-18 11:29
标题: 天才们这个EXCEL问题我懵逼了,,,
A1 = 20:00:00
A2 = IF(A1>=TIME(19,0,0), INT((A1-TIME(19,0,0))*24/0.5)/2, 0)

按照公式计算,先判断A1是否大于19:00:00,大于下一步,否则返回0
INT((A1-TIME(19,0,0))*24/0.5)/2
INT((20:00:00-TIME(19,0,0))*24/0.5)/2
INT((1))*24/0.5)/2
INT(24/0.5)/2
INT(48)/2
INT(24)
卧槽,最后是24,

但是我在excel 中 显示是 20:00:00 1,是1,这是正确的值 1

我想计算以19:00:00为基数,每30分钟为0.5小时,计算加班时间。1是对的,

但是公式计算的24,这个又是1,我真的无语,大佬们这啥意思,,


作者: wangtaoceo    时间: 2024-4-18 11:33
本帖最后由 wangtaoceo 于 2024-4-18 11:35 编辑

20:00:00-TIME(19,0,0)=1:00:00  !=1 所以又水了一贴

作者: heilnt    时间: 2024-4-18 11:39
本帖最后由 heilnt 于 2024-4-18 11:42 编辑

因为:20:00:00-TIME(19,0,0) =0.0416666666666667,不等于1,而是等于1/24

建议:要查找哪里出问题,那就多用些单元格,填分公式
作者: 芭啦啦能量    时间: 2024-4-18 12:14
heilnt 发表于 2024-4-18 11:39
因为:20:00:00-TIME(19,0,0) =0.0416666666666667,不等于1,而是等于1/24

建议:要查找哪里出问题,那就 ...

大佬说的在理,
我重新计算了时间的格式, A1 = 21:35:10
INT((A1-TIME(19,0,0))*24/0.5)/2
INT((21:35:10-TIME(19,0,0))*24/0.5)/2
INT((2.3510/24))*24/0.5)/2
INT(0.0979583333333333))*24/0.5)/2
INT(2.351/0.5)/2
INT(4.702)/2
INT(2.351)
INT(2)



作者: 芭啦啦能量    时间: 2024-4-18 16:27
芭啦啦能量 发表于 2024-4-18 12:14
大佬说的在理,
我重新计算了时间的格式, A1 = 21:35:10
INT((A1-TIME(19,0,0))*24/0.5)/2

这个是错误的,正确的是需要计算
小时的分数,
分钟的分数,
秒钟的分数,
21:35:10=小时的分数+分钟的分数+秒钟的分数
完结,懒得改了,




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4