Object - to determine the time lapse (in hrs/mm) between a given set of times.

Cell M - start time. I use a drop down menu to generate this value - it is in 15 minute increments as is formatted h:mm

Cell N - lunch start. I use a drop down menu to generate this value - it is in 15 minute increments as is formatted h:mm

Cell O - lunch end. I use a drop down menu to generate this value - it is in 15 minute increments as is formatted h:mm

Cell P - finish time. I use a drop down menu to generate this value - it is in 15 minute increments as is formatted h:mm

Cell R- hours worked =((P7-M7+(P7<M7))-(O7-N7+(O7<N7)))*24
format - general

This formula returns the correct result (hours worked) for some values and appears to add 24 hours for others. When I override the list function and manually input the times in cells M, N, O and P it always returns the correct result. I have checked the format of the list drop down times and they appear to be all uniform so I am puzzled at to why I get a different result between a manual input and using the list.

Any help appreciated.