To calculate with time in Excel each time must be represented by a number between 0 and 1 (that is, a fraction of one day). So, although
"8am-4pm"
means something to you, Excel cannot perform calculations on the numbers (start and end of the shift) in that form. The start time might be provided by a formula such as
=SWITCH(Shift, "8am-4pm", 8/24, "2pm-8pm", 14/24, FALSE)
The clocking-in times are nearer to what is needed except they are text strings and not numbers. To convert you could use
= TIMEVALUE(TimeIn) or, more concisely, = --TimeIn
Your 15 minute period of grace could be represented by
= TIME(0,15,0) or you may prefer = 1/96
Only once such conversions have been performed, can excel provide information such as
"Was the employee late?" or
"How many hours did they work?"
by simply subtracting the relevant times.