Uma maneira não-macro de fazer o mesmo problema é dividir os 3 nomes como uma fórmula e combiná-lo. Eu normalmente usaria o gerenciador de nomes para isso, mas também mostraria a fórmula estendida que não usa o nome manage. (Todos esses exemplos usarão a célula a1 como tendo um nome que é Nome (espaço) Nome (espaço) Formato de nome
Etapa 1 obter o primeiro nome.
-
Fname = + LEFT (Folha1! A1, FIND ("", Folha1! A1))
Isso procura o primeiro espaço e retorna tudo para a esquerda
-
Lname = + RIGHT (Folha1! A1, LEN (Folha1! A1) -FIND ("", Folha1! A1,1 + LEN (Fname)))
Isso retorna o sobrenome. Precisamos do primeiro e do último nome para marcar a resposta. Isso pressupõe que há apenas dois espaços e procura o segundo espaço fazendo uma descoberta que começa após o primeiro espaço.
-
Mname = MID (Folha1! A1,1 + LEN (Fname), LEN (Folha1! A1) -LEN (Fname) -LEN (Lname))
Isso retorna o nome do meio completo usando o Fname e o Lname para colchetes.
para juntar tudo
- = (Fname & LEFT (MName, 1) & "." & Lname)
O "." Após a esquerda (mname, 1) poderia ser "" se não quisesse o período.
Em uma única linha sem usar nomes,
- = ESQUERDA (A1, FIND ("", A1)) e ESQUERDA (MID (A1, FIND ("", A1) +1,1)) & "." & RIGHT (A1, LEN A1) -FIND ("", A1,1 + FIND ("", A1)))
Problemas com essa abordagem,
- Sensível a problemas de estrutura de dados, coloque um iferror na frente com um "Erro de formato de nome", como
- = + IFERROR (Fname & LEFT (MName, 1) & "" & Lname, "erro de formato de nome")
Também pode ser necessário fazer um substituto para substituir espaços duplos por espaços únicos.
- Aname = substituto (a1, "", "")
O que pode ser necessário dependendo de quão boa é sua fonte de dados em estar exatamente seguindo o formato.