This question is closely related to the question [Best way to insert element into an ordered list at the correct position? ](https://mathematica.stackexchange.com/q/224249/731), where it was noted that Leonid Shifrin's `bsearchMax` from [this](https://mathematica.stackexchange.com/q/2369/731) answer is a fast way to solve this problem. Like flinty's answer it uses a binary search but it appears to be faster. bsearchMax[{1, 4, 10, 12, 20}, 11] > 4 It is many orders of magnitude faster than `FirstPosition` for a list of decent size.