You could probably make an assumption that if the first row is all Strings and some cell in the second row is NOT a String, then there are headers

Or


Use the Custom Sort approach and get input from the user


Capture.JPG