MAX and MIN find the extremes. For the next ones down, use:
=LARGE(array, k): the k-th largest. LARGE(B2:B9,1) equals MAX; LARGE(B2:B9,2) is the second highest.
=SMALL(array, k): the k-th smallest.
=RANK.EQ(number, ref, [order]): where a value places in a list, 1 for the highest (or the lowest with order 1).
Ties: LARGE counts duplicates separately, so with two scores of 92 both LARGE(...,2) and LARGE(...,3) are 92. RANK.EQ gives tied values the same rank and skips the next one: two players ranked 2 means nobody is ranked 3.
For a top-3 list, put 1, 2 and 3 in a column and point LARGE's k at them.