miércoles, 4 de enero de 2012

Ordenación de listas numéricas

El método mostrado para ordenar listas de nombres es igualmente válido para listas de números. Sin embargo, los números son más fáciles de ordenar si utilizamos la función K.ESIMO.MENOR (para ordenaciones ascendentes) o K.ESIMO.MAYOR (para ordenaciones descendentes). La lista que vamos a ordenar es la siguiente:

Primero, ordenaremos la lista de menor a mayor en la hoja Ascen (por dos métodos) y después, de mayor a menor en la hoja Descen (utilizando los dos métodos).

ORDENACIÓN ASCENDENTE: Método 1

Como este método ya ha sido explicado, me limitaré a exponer los pasos que se deben dar.

Accediendo a Fórmulas + Asignar nombre, crearemos los nombres siguientes:

En D3:
=SI.ERROR(INDICE(Lista_1;COINCIDIR(FILA(A1);Auxiliar_1;0);1);INDIRECTO(DIRECCION(FILA()+1;COLUMNA())))

Extendemos la fórmula hasta la fila 22. A partir de la fila 18 no hay valores en la columna B por lo que sólo aparecen ceros.

ORDENACIÓN ASCENDENTE: Método 2

Vamos a utilizar la función K.ESIMO.MENOR cuya sintaxis es:

K.ESIMO.MENOR(matriz; k)

Esta función devuelve el elemento de una matriz que ocupa la posición k en una ordenación ascendente.

En E3:
=SI(B3="";"";K.ESIMO.MENOR(Lista_1;FILA()-2))

Extendemos la fórmula hasta la fila 22. A partir de la fila 18 las celdas se llenan de blancos.

Para ocultar los ceros de la columna D a partir de la fila 18, podemos utilizar un formato condicional. Seleccionamos D2:D22 (si hemos extendido la fórmula más abajo, seleccionaremos el rango completo), accedemos a Inicio + Formato condicional + Nueva regla y hacemos clic en Utilice una fórmula que determine las celdas para aplicar formato. Ponemos la fórmula: =ESBLANCO($B2) y hacemos clic en el botón Formato.

En la ficha Fuente, elegimos el color Blanco, Fondo 1 y salimos pulsando Aceptar.

Los métodos de ordenación descendente son similares a los empleados aquí.

ORDENACIÓN DESCENDENTE: Método 1

Creamos dos nombres:

En D3:
=SI.ERROR(INDICE(Lista_2;COINCIDIR(FILA(A1);Auxiliar_2;0);1);INDIRECTO(DIRECCION(FILA()+1;COLUMNA())))

Extendemos la fórmula hasta la fila 22 y eliminamos los ceros sobrantes con el formato condicional que hemos explicado más arriba.

ORDENACIÓN DESCENDENTE: Método 2

Usaremos la función K.ESIMO.MAYOR cuya sintaxis es:

K.ESIMO.MAYOR(matriz; k)

La función devuelve el elemento de una matriz que ocupa la posición k en una ordenación descendente.

En E3:
=SI(B3="";"";K.ESIMO.MAYOR(Lista_2;FILA()-2))

Extendemos la fórmula hasta la fila 22.

Si añadimos o sustituimos números, la lista se reordena automáticamente.

Descargar archivo (SE6-Ordenación de listas numéricas.xls)

Descargar archivo (SE6-Ordenación de listas numéricas.xlsx)


1 comentario: