Forum Discussion
Need help splitting up times in excel into 3 shifts
- Nov 07, 2022
Try this version:
=IF(MOD(A2,1)<=TIME(7,0,0),"Shift 3",IF(MOD(A2,1)<=TIME(15,0,0),"Shift 1",IF(MOD(A2,1)<=TIME(23,0,0),"Shift 2","Shift 3")))
Try this version:
=IF(MOD(A2,1)<=TIME(7,0,0),"Shift 3",IF(MOD(A2,1)<=TIME(15,0,0),"Shift 1",IF(MOD(A2,1)<=TIME(23,0,0),"Shift 2","Shift 3")))
- Showtime11214Nov 07, 2022Copper ContributorThis worked, thank you so much!
- JoeUser2004Nov 07, 2022Bronze Contributor
HansVogelaar wrote:
=IF(MOD(A2,1)<=TIME(7,0,0),"Shift 3",IF(MOD(A2,1)<=TIME(15,0,0),"Shift 1",
IF(MOD(A2,1)<=TIME(23,0,0),"Shift 2","Shift 3")))But beware of binary arithmetic anomalies. Consider the following:
I think you expect "Shift2" in B4, since you originally wrote ``3 shifts which are 7:01 to 15:00, 15:01 to 23:00, and 23:01 to 7:00
IMHO, it is more reliable to write
=IF(--TEXT(A2,"h:m")<=TIME(7,0,0),"Shift 3",
IF(--TEXT(A2,"h:m")<=TIME(15,0,0),"Shift 1",
IF(--TEXT(A2,"h:m")<=TIME(23,0,0),"Shift 2", "Shift 3")))If you want to use the newer IFS function:
=IFS(--TEXT(A2,"h:m")<=TIME(7,0,0),"Shift 3",
--TEXT(A2,"h:m")<=TIME(15,0,0),"Shift 1",
--TEXT(A2,"h:m")<=TIME(23,0,0),"Shift 2", TRUE,"Shift 3")The double negation ("--") converts text to a numeric result.
If that is too subtle, use 1*TEXT(A2, "h:m") .