The problem is that using TEXT just gives you a text value ... like it says on the tin.
The examples where you have a true time are just being represented as the text of the original numeric value. So, if you just said =A2 and converted it to General Format, you would get 0.947916667. As it is, you are truncating the value to 0.945. That is, 5 text characters from the original numeric value.
Where you have text in the cell, you get the "time" but it is just TEXT that looks like a time.
Depending on what you want/need to do with the end results will determine the best approach to take.
Try:
Formula:
=IF(ISNUMBER(A2), A2, TIME(LEFT(A2,2),MID(A2,4,2),0))
Bookmarks