lunes, 12 de diciembre de 2011

Las funciones DERECHA, LARGO y ENCONTRAR en Excel.

Abordaré hoy el uso combinado (más bien anidado) de varias funciones de texto, como son DERECHA, LARGO y ENCONTRAR. Pretendo dar solución con ello al problema planteado por un lector que preguntaba la forma de ordenar una tabla de datos según una parte del texto de una columna.
Veamos cuales son los datos de partida y cómo queremos obtenerlos:

Las funciones DERECHA, LARGO y ENCONTRAR en Excel.


Podemos ver más claro en la imagen cuál es nuestro objetivo. Debemos ordenar no por Primer Apellido, si no por el Nombre, que encontramos a la derecha de cada celda, únicamente separado por espacios...
Nuestra labor comienza entonces por convertir nuestro rango de datos en una Tabla de Excel(Ctrl+q para Excel 2007 ó Ctrl+t para Excel 2010), para luego en la columna D anexa a la tabla, incorporar la siguiente función, que nos devolverá el Nombre de cada celda:
=DERECHA(DERECHA(B4;LARGO(B4)-ENCONTRAR(" ";B4));LARGO(DERECHA(B4;LARGO(B4)-ENCONTRAR(" ";B4)))-ENCONTRAR(" ";DERECHA(B4;LARGO(B4)-ENCONTRAR(" ";B4))))


La función DERECHA(texto; núm caracteres) es muy sencilla de entender, del texto seleccionado, mostrará el número de caracteres por la derecha indicados.
La función LARGO(texto) nos dice el número total de caracteres incluido en el texto seleccionado.
La función ENCONTRAR(texto buscado; dentro de) nos dirá la posición, contando de izquierda a derecha, del texto o caracter buscado dentro de la celda seleccionada.
Estas funciones de texto, en principio muy sencillas, cobran relevancia cuando somos capaces de combinarlas adecuadamente. Analicemos, entonces, nuestra fórmula.

Observamos cuál es nuestro primer argumento de la función principal DERECHA:
DERECHA(B4;LARGO(B4)-ENCONTRAR(" ";B4))
a su vez otra función anidada DERECHA, que extrae del texto de la celda B4, un número igual a los caracteres que nos dice la fórmula
LARGO(B4)-ENCONTRAR(" ";B4)
esto es, los 20 caracteres por la derecha del texto 'ADAMEZ BARRIOS ARMANDO JOSE'; para nuestro ejemplo, nos deja fuera el Primer apellido: 'BARRIOS ARMANDO JOSE'...ya estamos en marcha. Sólo nos queda eliminar el Segundo apellido.

Para dejar fuera el segundo apellido, o lo que es lo mismo, obtener únicamente el Nombre, trabajaremos sobre el segundo argumento de la función principal DERECHA:
LARGO(DERECHA(B4;LARGO(B4)-ENCONTRAR(" ";B4)))-ENCONTRAR(" ";DERECHA(B4;LARGO(B4)-ENCONTRAR(" ";B4)))
es algo más larga, pero en esencia, trabajamos de igual forma que en el paso anterior. Obtenemos el número de caracteres que cuentan por la derecha para eliminar del texto obtenido en el primer argumento el Segundo apellido. Vemos como contamos el número de caracteres del texto anterior 'BARRIOS ARMANDO JOSE', para luego encontrar el siguiente espacio en blanco, el que separa Nombre y Apellido, para saber sobre este texto, cuántos caracteres por la derecha nos interesan. En este ejemplo, finalmente obtendríamos el texto 'ARMANDO JOSE'.

Una vez incorporada nuestra función a la Tabla de datos, ya podremos realizar la ordenación por el nuevo campo, obteniendo el resultado esperado.

Las funciones DERECHA, LARGO y ENCONTRAR en Excel.

0 comentarios:

Publicar un comentario en la entrada