viernes, 6 de marzo de 2015

Ordenar Texto con Fórmulas

"Tengo grandes listados donde me aparecen, en distintas columnas, Nombre; Apellido 1; Apellido 2. Quisiera que primero me presente la información con el formato Apellido1 Apellido 2, Nombre y, finalmente, que me los ordene de la A a la Z automáticamente".

Como siempre, partimos de un ejemplo:
Lo primero que vamos a hacer es CONCATENAR los apellidos y nombre como nos interesa. Nos situamos en la celda H3 y escribimos:
 y copiamos hasta la celda H16. De esta manera estamos concatenando primero el primer apellido; después un espacio en blanco; inmediatamente el segundo apellido; ahora una coma y un espacio en blanco y, finalmente, el nombre. De esta manera, en la celda H3, por ejemplo, aparecerá Arnaiz Guerra, Begoña:
Como no existe una función en excel que ordene directamente texto, vamos a utilizar una fórmula matricial para asignarle un número de orden a cada registro. Primero le doy nombre al rango H3:H16. Selecciono dicho rango y en el cuadro de nombres escribo ApNombre, y pulsamos enter para acabar. Vamos a G3 y escribimos:
 Pulsamos Ctrl+Shift+Enter y se mostrará como fórmula matricial:
Terminamos copiando esta fórmula hasta G16.
Excel es capaz de comparar textos por orden alfabético, de tal manera que si comprobamos si un texto es mayor, menor o igual que otro texto, excel nos devolverá un VERDADERO o FALSO. El menor valor es la A y el mayor la Z. Ejemplos:
El resultado de aplicar la fórmula matricial será: 
Ahora ya disponemos de un número de orden para cada registro. Procedemos ahora a preparar el cuadro para la salida final de información:
Seleccionamos el rango G3:H16 y le damos el nombre OrdenNombres. Vamos a K3 y escribimos la fórmula (que luego copiaremos hasta K16):
 

No hay comentarios:

Publicar un comentario en la entrada