Separar cadena de texto

Tengo en una hoja de Excel una columna que contiene los nombres y apellidos de una persona. Lo que necesito hacer es separar esa cadena de texto. Que en una columna quede el primer apellido, en la segunda el segundo apellido, y en la tercera el nombre.

1 respuesta

Respuesta
1
Ok, vamos entonces con esto:
Suponiendo el dato en A1 ingresa en B1;C1;D1;E las siguientes formulas:
=NOMPROPIO(IZQUIERDA(A1;LARGO(A1)-ENCONTRAR(CARACTER(1);SUSTITUIR(A1;" ";CARACTER(1);LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))))-2))
=NOMPROPIO(IZQUIERDA(EXTRAE(A1;LARGO(B1)+2;LARGO(A1)-LARGO(B1)+2);LARGO(EXTRAE(A1;LARGO(B1)+2;LARGO(A1)-LARGO(B1)+2))-ENCONTRAR(CARACTER(1);SUSTITUIR(EXTRAE(A1;LARGO(B1)+2;LARGO(A1)-LARGO(B1)+2);" ";CARACTER(1);LARGO(EXTRAE(A1;LARGO(B1)+2;LARGO(A1)-LARGO(B1)+2))-LARGO(SUSTITUIR(EXTRAE(A1;LARGO(B1)+2;LARGO(A1)-LARGO(B1)+2);" ";""))))-2))
=NOMPROPIO(DERECHA(EXTRAE(A1;1;LARGO(A1)-LARGO(E1)-1);LARGO(EXTRAE(A1;1;LARGO(A1)-LARGO(E1)-1))-ENCONTRAR(CARACTER(1);SUSTITUIR(EXTRAE(A1;1;LARGO(A1)-LARGO(E1)-1);" ";CARACTER(1);LARGO(EXTRAE(A1;1;LARGO(A1)-LARGO(E1)-1))-LARGO(SUSTITUIR(EXTRAE(A1;1;LARGO(A1)-LARGO(E1)-1);" ";""))))))
=NOMPROPIO(DERECHA(A1;LARGO(A1)-ENCONTRAR(CARACTER(1);SUSTITUIR(A1;" ";CARACTER(1);LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))))))
Y te adjunto una formula para ver si A1 tiene 3 o cuatro nombres:
=LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))+1
Esta sirve para filtrar y ver que fórmula aplicar, dado que poner un condicional con las fórmulas para 2 o 3 es posible pero quedarían un poco largas las fórmulas, si lo requieres dime que lo armamos.
Ok. Muchas Gracias, me ha funcionado bien
Muchas gracias por la ayuda, he aprendido varias cosas, pero aún no tengo el resultado que quiero. El nombre completo (2 nombres y 2 apellidos) lo tengo que descomponer en las 4 columnas (apellido1, apellido2, nombre1 y nombre2). Y hay algunos nombres que solo tienen 2 apellidos y un nombre.
Esto lo puedes hacer agregando las siguientes tres funciones en las celdas a la derecha:
Suponiendo el dato en A2
En B2 poner:
=NOMPROPIO(IZQUIERDA(A2;LARGO(A2)-ENCONTRAR(CARACTER(1);SUSTITUIR(A2;" ";CARACTER(1);LARGO(A2)-LARGO(SUSTITUIR(A2;" ";""))))))
en C2 poner:
=NOMPROPIO(EXTRAE(A2;LARGO(B2)+1;LARGO(A2)-LARGO(B2)-LARGO(D2)))
en D2 poner:
=NOMPROPIO(DERECHA(A2;LARGO(A2)-ENCONTRAR(CARACTER(1);SUSTITUIR(A2;" ";CARACTER(1);LARGO(A2)-LARGO(SUSTITUIR(A2;" ";""))))))
Aunque podrías ponerlos en orden diferente, siempre que hagan referencia a la misma celda que contenga los datos.
Si tienes algún nombre con más de 3 espacios dime que armamos la fórmula,
Espero te sirva, si así fue por favor valora, de lo contrario házmelo saber.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas