Esta pergunta foi feita antes, e uma resposta muito detalhada é dada aqui .
Essa resposta inclui soluções de fórmulas manuais, VBA e matriz. Este último é referenciado de este site , mas para ir direto ao ponto, a fórmula dada lá (ligeiramente modificada para ajustar seus dados) é:
=INDEX($B$1:$B$21, SMALL(IF(ISBLANK($B$1:$B$21), "", ROW($B$1:$B$21)-MIN(ROW($B$1:$B$21))+1), ROW(A1)))
A saída resultante é mostrada na coluna C na tabela abaixo. Se você quiser evitar o # NÚM! erros, coloque a fórmula acima em IFERROR (), que dará os resultados na coluna D:
=IFERROR(INDEX($B$1:$B$21, SMALL(IF(ISBLANK($B$1:$B$21), "", ROW($B$1:$B$21)-MIN(ROW($B$1:$B$21))+1), ROW(A1))),"")