Dividir nombres completos en nombre y apellidos

En alguna ocasión un conocido mío tenía el siguiente problema: Había recibido por e - mail una lista con nombres de personas en Excel, pero con la particularidad de que se presentaban juntos nombre y apellidos en una misma celda. Aparecía primero el nombre y luego los apellidos de la persona. Él necesitaba separar nombres de apellidos para poder ordenarlos por apellido paterno, entre otras cosas. No podía utilizar DERECHA ni IZQUIERDA (que ya vimos anteriormente) porque obviamente cada nombre tenía una extensión distinta.

En realidad sí tenemos que utilizar DERECHA e IZQUIERDA, aunque en combinación con otras más: EXTRAE, LARGO, ENCONTRAR (o HALLAR) y opcionalmente, ESPACIOS, NOMPROPIO, MAYUSC y MINUSC. Excel es muy flexible al trabajar textos. Solo hay que saber pedirle las cosas.

Dividamos el siguiente nombre completo, el cual está en A2, en nombre, apellido paterno y apellido materno.

Alejandra Reyes Avendaño

Eliminemos también los espacios excedentes entre palabras. Estos espacios casi siempre se producen al importar datos. Para hacerlo usamos la función ESPACIOS, la cual elimina los espacios excedentes excepto los espacios individuales entre palabras.

=ESPACIOS(A2)


Recordamos de la misma nota anterior que ENCONTRAR nos devuelve la posición en la que se encuentra determinado texto (o caracter) dentro de otro texto. Usémosla para determinar la posición del primer espacio en blanco de nuestro nombre, con esta fórmula:

=ENCONTRAR(" ", A2, 1)

En nuestro caso el resultado es 10. Si restamos uno, obtenemos la longitud de "Alejandra" (9).


Por lo tanto, para extraer el nombre, utilizamos la función IZQUIERDA con la fórmula anterior como segundo argumento. Esta fórmula devuelve la primera palabra de un texto:

=IZQUIERDA(A2, ENCONTRAR(" ", A2,1)-1)





Ahora determinemos el último apellido. Esto es un poco más difícil ya que ENCONTRAR solo funciona de izquierda a derecha. Aquí el problema es encontrar la posición del segundo espacio dentro del nombre para poder utilizarlo con la función DERECHA. (En nuestro ejemplo el segundo espacio está en la posición 16). Utilizamos la función ENCONTRAR, pero especificando como caracter inicial de búsqueda la posición del primer espacio más uno: un ENCONTRAR doble (sinceramente espero que vayan entendiendo). En otras palabras, queremos la posición del carácter " " empezando a contar de la posición 11.

Esta fórmula devuelve 16:

=ENCONTRAR(" ", A2, ENCONTRAR(" ", A2, 1)+1)




Ahora usamos la función derecha con el segundo argumento igual a la longitud total del texto menos los primeros 16 carácteres. Esta fórmula extrae el último apellido de un nombre completo:

=DERECHA(A2, LARGO(A2)-ENCONTRAR(" ", A2, ENCONTRAR(" ", A2,1)+1))




Continuamos en la siguiente entrada.

0 comentarios:

Publicar un comentario