Para separar o nome de sobrenome e ainda identificar os nomes do meio tudo o que você precisa saber é onde estão os "espaços em branco", uma vez que são os "espaços em branco" que separam nome de sobrenome etc.
Antes vamos digitar o nome "José Carlos Antônio da Silva" na célula A4.
1. Como separar o primeiro NOME
Vamos identificar aonde esta o "primeiro" espaço em branco.
Para isso vamos utilizar a função PROCURAR().
B4: =PROCURAR(" ";A4;1)
O "1" na formula significa que o Excel ira procurar a partir o primeiro carácter que esta na célula A4.
Atenção! Caso o o nome que você esta utilizando no exemplo tiver "espaços em branco" antes do nome ou "espaço em branco" a mais no meio os sobrenomes, convém você tilizar a formula ARRUMAR() antes de começar a procurar os "espaços em branco".
A função ARRUMAR() elimina todos os "espaços em brando" antes, depois e os duplicados.
B4: =PROCURAR(" ";ARRUMAR(A4);1)
O resultado da formula será: 5
Para obter o primeiro nome vamos pegar todos os caracteres do NOME da primeira osição até o primeiro "espaço em branco" que acabamos de achar.
Para isso vamos utilizar a formulam EXT.TEXTO(), que serve para extrair parte de caracteres e uma cadeia de caractes.
C4: =EXT.TEXTO(ARRUMAR(A4);1;5)
Onde "1" é o primeiro carácter até o "5" que é o ultimo carácter antes do primeiro espaço em branco.
O resultado da formula será: José
Pronto já achamos o nome.
Podemos "juntar" as formulas e ficaria assim: C4: =EXT.TEXTO(ARRUMAR(A4);1;PROCURAR(" ";ARRUMAR(A4);1))
2. Como identificar o SOBRENOME
Para identificar o sobrenome ( o último) vamos utilizar o mesmo conceito ou seja com base no "espaço em branco".
Porém neste caso devemos procurar o último"espaço em branco".
Mas quantos "espaços em branco" tem este nome?
Então vamos fazer assim, contamos quantos "espaços em branco" o nome tem , para isso vamos utilizar a função NÚM.CARACT() combinada com a função SUBSTITUIR()
Então ficaria assim:
D4: =NÚM.CARACT(ARRUMAR(A4))-NÚM.CARACT(SUBSTITUIR(ARRUMAR(A4);" ";""))
O resultado será: 4
Com isso sabemos que o nome todo tem 4 espaços em branco, e o sobrenome começa depois do 4º espaço em branco.
Mais não sabemos em que posição esta o 4º espaço em branco como conseguiremos extrair o sobrenome?
Para resolver isso vamos "marcar" o 4º espaço em branco com um carácter especias e a partir disso conseguiremos identificar a posição de onde sta o 4] espaço em branco que não será mais espaço em branco e sim um carácter especial.
Para marcar o 4º espaço em branco vamos utilizar a função SUBSTITUIR().
E4: =SUBSTITUIR(ARRUMAR(A4);" ";"#";4)
o "#" é o carácter special que vamos utilizar (você pode utilizar outro qualquer, só verifique se ele já não existe no nome).
O 4 é a posição do espaço em branco que começa o sobrenome , o qual iremos "trocar".
A função SUBSTITUIR irar trocar o 4º espaço em branco pelo carácter especial "#".
O resultado será: José Carlos Antônio da#Silva
Agora fica mais fácil saber onde esta o "#" que estamos querendo identificar.
Vamos utilizar a mesma função que utilizamos para o primeiro nome a função PROCURAR().
F4: =PROCURAR("#";ARRUMAR(E4);1)
O resultado será: 23
O sobrenome começa na posição 24, mas quantos caracteres preciso extrair? Não temos o tamanho do sobrenome!
Para calcular o tamanho do sobrenome amos primeiro identificar o tamanho do nome todo e subtrair 23 que ´pe a posição onde começa o sobrenome.
Para isso vamos utilizar a função NÚM.CARACT()
G4: =NÚM.CARACT(ARRUMAR(A4)) , tamanho do nome todo.
O resultado será: 28
H4: =28-23
O resultado será: 5
Vamos "juntar" as duas formulas ficaria assim:
H4: =NÚM.CARACT(ARRUMAR(A4))-PROCURAR("#";ARRUMAR(E4);1)
Pronto já sabemos que posição começa o sobre nome 24 e o seu tamanho 5, agora podemos extrair os caracteres.
I4: =EXT.TEXTO(arrumar(A4);24;5)
O resultado será: Silva
Vamos "juntar" as duas formulas ficaria assim:
I4: =DIREITA(ARRUMAR(A4);NÚM.CARACT(ARRUMAR(A4))-PROCURAR("#";SUBSTITUIR(ARRUMAR(A4);" ";"#";NÚM.CARACT(ARRUMAR(A4))-NÚM.CARACT(SUBSTITUIR(ARRUMAR(A4);" ";"")));1))
O resultado será: Silva
3. Como identificar o NOME DO MEIO
Pronto! Já extraimos o NOME e o SOBRENOME, falta apenas os nomes do meio.
Agora tá fácil, se sabemos onde termina o PRIMEIRO NOME e o ULTIMO NOME o que obrar é o NOME DO MEIO, é só extrair então.
J4: =EXT.TEXTO(arrumar(A4);6;23)
O "6" é a posição do primeiro espaço em branco mais 1, que significa o inicio do NOME DO MEIO.
O "23" é a posição do espaço em branco que começa o sobrenome, que significa o término do NOME DO MEIO.
O resultado será: Carlos Antônio da
Pronto!
O PRIMEIRO NOME será: José
O NOME DO MEIO será: Carlos Antônio da
O SOBRENOME será: Silva
Vamos Juntar tudo! AGORA NA LINHA 7.
O PRIMEIRO NOME será: C7: =SEERRO(EXT.TEXTO(ARRUMAR(A7);1;PROCURAR(" ";ARRUMAR(A7);1));ARRUMAR(A7))
O NOME DO MEIO será: D7: =SEERRO(EXT.TEXTO(ARRUMAR(A7);PROCURAR(" ";ARRUMAR(A7);1)+1;NÚM.CARACT(ARRUMAR(A7))-PROCURAR(" ";ARRUMAR(A7);1)-NÚM.CARACT(DIREITA(A7;NÚM.CARACT(ARRUMAR(A7))-PROCURAR("#";SUBSTITUIR(ARRUMAR(A7);" ";"#";NÚM.CARACT(ARRUMAR(A7))-NÚM.CARACT(SUBSTITUIR(ARRUMAR(A7);" ";"")));1))));"")
O SOBRENOME será: E7: =SEERRO(DIREITA(ARRUMAR(A7);NÚM.CARACT(ARRUMAR(A7))-PROCURAR("#";SUBSTITUIR(ARRUMAR(A7);" ";"#";NÚM.CARACT(ARRUMAR(A7))-NÚM.CARACT(SUBSTITUIR(ARRUMAR(A7);" ";"")));1));"")
Aqui utilizei a função SEERRO() para evitar erros com nomes sem sobrenomes etc.
Pronto!
Pode digitar qualquer nome e tamanho que ele vai separar corretamente nome, sobrenome e nome do meio.