Depende se você precisa ou não para mantê-los na ordem apresentada. Se você fizer isso, você pode usar o seguinte:
C2: =IFERROR(MONTH(INDEX($A$1:$A$500,SMALL(IF($A$1:$A$500<>"",ROW($A$1:$A$500),""),ROW()-1))),"")
D2: =IFERROR(DAY(INDEX($A$1:$A$500,SMALL(IF($A$1:$A$500<>"",ROW($A$1:$A$500),""),ROW()-1))),"")
E2: =IFERROR(YEAR(INDEX($A$1:$A$500,SMALL(IF($A$1:$A$500<>"",ROW($A$1:$A$500),""),ROW()-1))),"")
Se você estiver bem com uma coluna de ajuda, basta extrair as datas em sua própria coluna com:
F2: =IFERROR(INDEX($A$1:$A$500,SMALL(IF($A$1:$A$500<>"",ROW($A$1:$A$500),""),ROW()-1)),"")
Todos estes são fórmulas de matriz entraram com CTRL + SHIFT + ENTER. Desta forma, você só tem que fazer a pesquisa de uma vez por linha em vez de três vezes.
Se eles podem estar em qualquer ordem, você pode pular a parte do índice e usar:
C2: =IFERROR(MONTH(SMALL($A$1:$A$500,ROW()-1)),"")
D2: =IFERROR(DAY(SMALL($A$1:$A$500,ROW()-1)),"")
E2: =IFERROR(YEAR(SMALL($A$1:$A$500,ROW()-1)),"")
Novamente, se você pode usar uma coluna ajudante você pode usar:
F2: =IFERROR(SMALL($A$1:$A$500,ROW()-1),"")
Eles fornecerão resultados em ordem de data crescente e não deverão ser inseridos com CTRL + SHIFT + ENTER.
Expanda $ A $ 1: $ A $ 500 para o que precisar e copie as fórmulas para baixo para expandir quantos resultados deseja ver.
O primeiro conjunto de fórmulas gera uma lista de números de linhas que possuem valores e, em seguida, usa a função Small para puxar o enésimo valor em ordem crescente, onde n é um menor que a linha na qual a fórmula está (Row () - 1 ).
O segundo conjunto de fórmulas é exatamente o mesmo, exceto que, em vez de uma lista de números de linha, ele simplesmente puxa a lista de datas diretamente.