Macro que me genere un ranking de repeticiones

Tengo una base de datos desde A1 hasta L500.

Ahora en la columna D:D tengo el número de identificación del cliente, deseo que en una hoja aparte (hoja diferente), me arroje un listado de los 10 clientes que más se repiten.

Importante: que en el listado no se me repita el número de identificación.

Observaciones: sirve fórmulas o macro.

La función k.esimo.mayor me devuelve es la identificación más grande :( deseo es la identificación.

1 respuesta

Respuesta

Con fórmulas parece que se puede hacer. Prueba a poner esta fórmula en la fila 1 de cualquier columna en la hoja donde tenga que ir el ranking:

=INDICE(Hoja1!D:D;COINCIDIR(K.ESIMO.MAYOR(SI(COINCIDIR(Hoja1!$D$1:$D$500;Hoja1!$D$1:$D$500;0)=FILA($D$1:$D$500);CONTAR.SI(Hoja1!$D$1:$D$500;Hoja1!$D$1:$D$500)+FILA($D$1:$D$500)/1000);FILA());SI(COINCIDIR(Hoja1!$D$1:$D$500;Hoja1!$D$1:$D$500;0)=FILA($D$1:$D$500);CONTAR.SI(Hoja1!$D$1:$D$500;Hoja1!$D$1:$D$500)+FILA($D$1:$D$500)/1000);0))

extender la fórmula hacia abajo hasta la fila 10.

A tener en cuenta que:

- Se trata de una fórmula matricial, por lo que hay que introducirla pulsando mayúsculas control entrada al mismo tiempo

- Quizás haya que sustituir los puntos y comas por el separador de listas que esté establecido en la configuración regional del equipo

- Si la hoja con la base de datos no se llama Hoja1, habrá que cambiar "Hoja1" por el nombre que sea

- Las fórmulas tienen que hacer varias operaciones sobre matrices de 500 elementos, así que podrían tardar un poco en ser recalculadas

Saludos_

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas