Não é uma solução elegante, mas funciona e é razoavelmente rápida.
No Excel 2007, use a ferramenta "Texto em colunas" no ribon de dados. Use o espaço como um separador. O resultado será
A | B | C | Ivan | P. | Freely | John | Smith | |
Em seguida, na célula E1, use a fórmula = A1. Na célula F1, use a fórmula = IF (ISEMPTY (C1); ""; B1). Na célula G1, use a fórmula = IF (ISEMPTY (C1); B1; C1). Copie as fórmulas de E1, F1 e G1 nas linhas abaixo. Seus dados separados estão nas colunas E, F e G.
Esta solução assume que todos têm exatamente um ou exatamente zero nomes do meio inseridos, e que se você tem pessoas com um patronímico (Nadezda Vasilevna Orehova) ou pessoas com mais de um sobrenome (Irene Garcia Cano), você quer tratar a segunda substring da mesma maneira que um nome do meio. Se você tiver apenas alguns exots, eu recomendo que você continue assim e então os corrija por mão. Se você tiver muitos deles ou muitos dados para examinar manualmente, provavelmente será melhor escrever uma macro para todo o processo.