Sei sulla pagina 1di 22

La funcin

JERARQUIA.EQV en Excel
La funcin JERARQUIA.EQV en Excel devuelve la jerarqua o posicin
de un nmero dentro de una lista de nmeros. De manera
predeterminada la funcin dar la mayor posicin al nmero ms grande
pero podemos indicar un orden de tipo ascendente que asignar la
primera posicin al nmero de menor valor.

Sintaxis de la funcin JERARQUIA.EQV


La funcin JERARQUIA.EQV tiene tres argumentos que explicar a
continuacin:

Nmero (obligatorio): Nmero del cual se encontrar la posicin.


Referencia (obligatorio): Rango de celdas que contiene la lista de
nmeros.

Orden (opcional): Para un orden descendente se debe omitir o


colocar cero y para un orden ascendente cualquier valor diferente
de cero.
Debes saber que la funcin JERARQUIA.EQV asignar la misma
posicin a los nmeros que estn duplicados por lo que debers
implementar un mtodo alterno para el desempate para los nmeros
duplicados.

Ejemplo de la funcin JERARQUIA.EQV


En la siguiente imagen podrs observar una lista de nmeros en la
columna A y en la columna B la funcin JERARQUIA.EQV obteniendo la
posicin de cada uno de los nmeros. Observa que la funcin no tiene el
tercer argumento de la funcin por lo que Excel asignar la posicin 1 al
nmero ms alto.

Ya que la lista consta de diez nmeros, las posiciones obtenidas por


la funcin JERARQUIA.EQV van del nmero 1 hasta el nmero 10.
Ahora utilizar el tercer argumento de la funcin JERARQUIA.EQV para
indicar un orden ascendente. Observa la diferencia en las posiciones
mostradas:

Al indicar un orden ascendente, la funcin JERARQUIA.EQV asigna la


primera posicin al nmero que tenga el menor valor posible. Por lo
tango recuerda que si deseas dar la posicin ms alta al nmero ms
alto, debes omitir el tercer argumento de la funcin. Sin embargo, si
deseas dar la posicin ms alta al nmero mas bajo, entonces debes
indicar un nmero diferente de cero en el tercer argumento de la funcin
JERARQUIA.EQV.

La funcin JERARQUIA.EQV y los nmeros


duplicados
Ahora mostrar el comportamiento de la funcin
JERARQUIA.EQV cuando en el rango proporcionado aparecen nmeros
duplicados. Observa el siguiente ejemplo:

La primera posicin es otorgada al nmero 10 porque es el valor ms


alto. Sin embargo al final de la lista tenemos dos veces el nmero 9 y
para cada uno de ellos la funcin JERARQUIA.EQV les ha asignado la
posicin 2.
Pero sucede algo todava ms interesante y es que no encontrars la
posicin nmero 3 bajo la columna Posicin. La siguiente posicin
asignada por la funcin ser la posicin 4 debido a que ya existen tres
elementos por delante.

Desempate con la funcin JERARQUIA.EQV


La nica manera de romper el empate entre nmeros repetidos es utilizar
un criterio adicional. En el siguiente ejemplo tenemos una serie de puntos
alcanzados por varios competidores en donde existen un par de ellos que
tiene el puntaje 38:

Para desempatar estos valores utilizar el criterio del tiempo que cada
uno de los participantes utiliz para alcanzar dicha puntuacin.

La manera de utilizar este segundo criterio ser que en caso de tener un


empate en los puntos, el competidor que tenga el menor tiempo tendr
una posicin mayor. Ahora necesito generar en una nueva columna dicho
factor de desempate y lo lograr utilizando la siguiente frmula:
=SI(CONTAR.SI($B$2:$B$6, B3) > 1, JERARQUIA.EQV(D3, $D$2:$D$6) / 100, 0)

Ahora explicar lo que hace esta frmula:


1. Utilizo la funcin SI para saber si un puntaje se repite en cuyo caso
utilizar la columna adicional para desempatar los valores.
2. Como primer argumento de la funcin SI tenemos a la funcin
CONTAR.SI que cuenta las apariciones de cada puntaje en el
rango B2:B6 y si aparece ms de una vez regresar el valor
VERDADERO.
3. Si el puntaje aparece ms de una vez se devolver el segundo
argumento de la funcin SI que en este caso es la funcin
JERARQUIA.EQV que es utilizada para obtener la posicin del
criterio en el rango D2:D6 (que en el ejemplo es la columna de
tiempo). Divido el resultado entre 100 porque deseo que dicha
posicin de tiempo sea un nmero fraccionario que me ayude a
desempatar los puntajes.
4. Si el puntaje buscado con la funcin CONTAR.SI no se repite,
entonces la funcin SI devolver el valor cero que es el tercer
argumento de la funcin.
Observa el resultado de aplicar esta frmula en la columna E:

Como puedes observar, solamente se obtiene un valor para los puntos


repetidos. Lo nico que debemos hacer es sumar la columna Puntos y la
columna Desempate para obtener una nueva puntuacin que no se
repetir y sobre el cual podremos obtener la posicin adecuada con
la funcin JERARQUIA.EQV:

*********************///////////////////////*********************

Construir con Excel una tabla con las 10 primeras posiciones.


SBADO, OCTUBRE 21, 2006

Uno de mis lectores me consulta como construir con Excel una tabla donde aparezcan los 10 alumnos
de un curso que han conseguido el mejor puntaje. El pedido incluye que la tabla se actualice
automticamente

Para

medida

construir este

Supongamos

que

se

modelo tomaremos

La

funcin JERARQUIA (RANK

Rangos

esta

vayan

en

ingresando

consideracin

en

la

nuevos

dos

versin

dinmicos con

lista

de

alumnos

datos.

elementos:

inglesa)

nombres.

con

sus

notas

Para la posicin de cada uno de acuerdo al puntaje usamos la funcin JERARQUIA (RANK en la versin
inglesa). En la celda C2 escribimos la frmula =JERARQUIA(B2,puntaje) y la copiamos al resto de las
celdas.
El argumento "puntaje" en la funcin es un rango dinmico definido en un nombre. La definicin es
=DESREF(Hoja1!$B$2,0,0,CONTARA(Hoja1!$B:$B)-1,1).

El objetivo del rango dinmico es permitir que la frmula se vaya adaptando a medida que agregamos o
quitamos

Si

observamos

alumnos

el

resultado

de

de

la

frmula

la

veremos

que

lista.

hay

un

problema

Ana y Enrique, al tener el mismo puntaje reciben el mismo nmero de posicin. Ambos reciben la
posicin

10

el

prximo

en

la

lista

recibir

la

posicin

12.

Para solucionar este problema creamos un nuevo campo en la columna D, al que llamamos "posicin
sin

empate",

con

la

frmula

=JERARQUIA(B2,puntaje)+CONTAR.SI($C$2:C2,C2)-1

Al

ordenar

la

tabla

en

orden

ascendente

de

"puntaje

sin

empate"

podemos

ver

Ahora

podemos

En

la

las

crear

columna

diferencias

un

cuadro

entre

que

ponemos

los

muestre

nmeros

resultados

los

primeros

(constantes)

de

ambas

diez

alumnos

de

frmulas.

del

curso

10.

En

la

columna

usamos

la

frmula

=INDICE(alumno,COINCIDIR(F2,posicion_sin_empate,0)),
que

usa

los

nombres

Alumno:

=DESREF(Hoja1!$A$2,0,0,CONTARA(Hoja1!$A:$A)-1,1)

Posicin_sin_empate:

=DESREF(Hoja1!$D$2,0,0,CONTARA(Hoja1!$D:$D)-1,1)

En

la

columna

usamos,

similarmente

la

frmula

=INDICE(puntaje,COINCIDIR(F2,posicion_sin_empate,0))

El problema con esta tabla es que "deja afuera" a Enrique y a Pablo que tienen el mismo puntaje que
Ana.

Lo que queremos lograr es una tabla que muestre todos los alumnos que comparten las primeras diez
posiciones.

Para

En

solucionar

nuestro

este

ejemplo

problema

hay

12

alumnos

modificamos

con

nuestra

los

mejores

tabla

diez

puntajes.

sus

frmulas:

agregamos

un

campo

(nmero

de

orden)

con

la

frmula

=SI(INDICE(posicion,COINCIDIR(FILA()-1,posicion_sin_empate,0))>10,"",FILA()-1)

En

la

columna

usamos

la

frmula

la

frmula

=SI(CELDA("contenido",J2)="","",BUSCARV(L2,alumno_posicion,3,0))

En

la

columna

usamos

=SI(CELDA("contenido",J2)="","",INDICE(alumno,COINCIDIR(FILA()-1,posicion_sin_empate,0)))

En

la

columna

usamos

la

frmula

=SI(CELDA("contenido",J2)="","",BUSCARV(L2,alumno_puntaje,2,0))

Todas estas frmulas usan una funcin SI para condicionar el resultado. Si el valor en el campo "nmero
de orden" nos es "blanco" las frmulas darn el resultado buscado; en caso contrario el resultado es
"blanco".

El nmero de lneas de esta tabla debe coincidir con el nmero de alumnos en el curso.

Estas frmulas usan funcin CELDA que es voltil y tambin funciones de bsqueda INDICE,
COINCIDIR y BUSCARV, con bsqueda exacta. En hojas con un gran nmero de alumnos esto puede
causar

que

la

recalculacin

sea

lenta.

Una alternativa para esos casos es utilizar Tablas Dinmicas. Los pasos a dar son los siguientes:

definimos

un

td:
para

rango

dinmico

rango_

=DESREF(Hoja1!$A$1,0,0,CONTARA(Hoja1!$A:$A),4)
que

nuestra

tabla

dinmica

se

adpate

los

cambios

en

la

lista

de

alumnos

2 Ponemos el campo Alumnos en el rea de filas; en el rea de datos ponemos Posicin y Puntaje.

Abrimos

el

men

de

configuracin

de

campo

apretamos

el

botn

Avanzado

4 - en el dilogo de avanzado definimos Opciones de Autoordenar: ascendente; activamos la opcin de


mostrar los 10 valores inferiores; en ambas ventanillas de "Usar campo" elegimos "posicin"

El

resultado

es

La ventaja de usar tablas dinmicas es que nos exime de escribir frmulas complicadas y los clculos
son mucho ms eficientes en trminos de tiempo; la desventaja es que las posibilidades de formato son
menores

que

Categoras:

en

tablas

Funciones&Formulas_,

normales

Manejo

de

de

Excel.

Datos_

Technorati Tags: Excel

Posted by Jorge Dunkelman at 10:50 a. m.


Enviar esto por correo electrnicoBlogThis!Compartir en TwitterCompartir en FacebookCompartir en Pinterest

Labels: DESREF, Funciones y Formulas

30 comments:
Annimo, 07 noviembre, 2006 03:53

Hola este ejemplo es justo lo que necesitaba te pasaste...., Pero quisiera saber como hacer lo
contrario es decir el que tenga menos puntaje que sea el primero, el penultimo el segundo y asi

sucesivamente, intente hacerlo con jerarquia pero no sale, gracias por tus aportes la verdad es
que son geniales.
Jorge L. Dunkelman, 07 noviembre, 2006 22:14

Hola
todo lo que tens que hacer es agregar un tercer argumento en la funcin JERARQUIA para
que el orden sea ascendente.
En el ejemplo de la nota, en la celda C2, en lugar de =JERARQUIA(B2,puntaje), escribi
=JERARQUIA(B2,puntaje,1) y copi la frmula a todo el rango.
Lo mismo en D2. EL resto de las frmulas se adaptarn automticamente.
En cuanto a la tabla dinmica, tens que abrir el men de configuracin de campo, apretar el
botn Avanzado y elegir las opciones "Opcin de autoordenar--Ascendente", "Usar campo-Puntaje".
sueoprofundo, 26 diciembre, 2007 13:34

hola buenos dias, me gustaria que me solucionaras una duda: llevo los datos de una liga de
amigos, y me gustaria ordenar la clasificacion, la tabla se encuentra en la posicion A622 hasta
E650, estando organizada de la siguiente forma

AByCDE
NOMBRE EQUIPO PUNTOS

esa linea de texto esta en la fila 622, me podria decir que hacer para ordenar la clasificacion? si
quiere me puede decir como mandarle el archivo, pero soy nuevo aqui y no se como hacerlo.
muchas gracias
sueoprofundo, 26 diciembre, 2007 13:37

hola buenos dias, me gustaria que me solucionaras una duda: llevo los datos de una liga de
amigos, y me gustaria ordenar la clasificacion, la tabla se encuentra en la posicion A622 hasta
E650, estando organizada de la siguiente forma

AByCDE
NOMBRE EQUIPO PUNTOS

esa linea de texto esta en la fila 622, me podria decir que hacer para ordenar la clasificacion? si
quiere me puede decir como mandarle el archivo, pero soy nuevo aqui y no se como hacerlo.
muchas gracias
Jorge L. Dunkelman, 26 diciembre, 2007 16:23

Mandame el archivo a jorgedun@gmail com


hug0mx, 04 febrero, 2008 04:28

Buen da, me sirven enormemente tus explicaciones, pero yo en mi trabajo necesito que ante
empate de jerarquias, el criterio a evaluar para desempatar sea la productividad del trabajador,
esta productividad es medible en un nmero (ej. 8.72)
Jorge L. Dunkelman, 04 febrero, 2008 20:11

Usando la funcin JERARQUIA junto CONTAR.SI, para el desempate.


Edgard, 04 mayo, 2008 18:46

Gracias Jorge, por compartir tus conocimientos, me sirven tus datos y necesitaba esta ayuda,
pero tengo un problema, este es el caso: dos alumnos comparten un mismo lugar 1er lugar, yo
considero un empate, pero el segundo lugar seria el tercer alumno, y el cuarto alumno tendria el
tercer lugar,como yo hago para que la tabla me muestre con cifras esto, haciendo uso de tu
ejemplo carlos seria el segundo, pero tu tabla le pone posicin 3, como podria hacerlo en este
caso, y otra duda puede el excel poner el orden con 1ero, 2do, 3ero...8vo, en lugar de
numerarlo?, espero tu respuesta, y te agradesco de antemano tu ayuda.
Jorge L. Dunkelman, 07 mayo, 2008 17:06

Hola Edgard

Tushar Meta desarroll una frmula para solucionar ese problema.

Aplicada a nuestro ejemplo, donde el resultado de la funcin JERARQUIA estn en el rango


C2:C25, la frmula es

={SUMA(1/SI($C$2:$C$25 < C2,CONTAR.SI($C$2:C25,$C$2:$C$25),9.999999999E+307))+1}

Esta es una frmula matricial; en lugar de apretar ENTER usamos


CTRL+MAYUSCULAS+ENTER

Ponemos la frmula en la primer celda del rango y luego la copiamos al resto del rango.
dman, 11 mayo, 2008 08:20

Antes que nada, gracias por allanarnos el camino del Excel.

Consulta: si los datos se presentan desordenados, cmo ordenarlos, es decir que Cristina
aparezca en el 1 lugar, Perla en el 2 y as sucesivamente?
Annimo, 11 mayo, 2008 10:03

Jorge:

Si en lugar de calificaciones fuesen tiempos cronometrados, cul sera la funcin adecuada


para que excel reconozca las diferencias de tiempos?
Cuando cambio el formato de celda el ejemplo aparecido en mejores_10.xls no funciona, ya que
coloca el tiempo del ms rpido en ltimo lugar, en especial cuando intento cargarle los tiempos
con centsimas de segundo.
Gracias desde ya,
Jorge L. Dunkelman, 11 mayo, 2008 17:04

Con INDICE y COINCIDIR, como est indicado en la nota


Jorge L. Dunkelman, 11 mayo, 2008 17:12

Los tiempos en Excel son nmeros, as que puedes usar la funcin JERARQUIA.
Esta funcin tiene un paramtro opcional para indicar el orden de posicin del valor. Si no

indicas ningn valor para el parmetro, la funcin asigna al menor valor (en tu caso el tiempo
ms rpido) la ltima posicin. Para que el menor valor reciba la primer posicin debes usar la
funcin de esta manera:
=JERARQUIA(nmero,referencia,1).
Annimo, 15 mayo, 2008 23:51

hola, la verdad me intereso mucho el comentario y qisiera saber si me podes ayudar. Mi nombre
es ezequiel, tengo 19 aos y me interesa mucho el uso de excel, por eso estoy empezando a
investigar por mi cuenta, o con ayuda de algun tutorial aunque son dificiles de encontrar.
En fin, estoy tratando de hacer un fixture como el de un mundial de futbol. En una hoja se
escriben los resultados de los partidos y automaticamente se completan los datos de los
equipos en la tabla de la otra hoja (puntos, partidos ganados, diferencia de goles, etc.), quiero
saber si se puede lograr que se autoordenen los equipos por puntos (si son iguales, por
diferencia de goles) sin la necesidad de hacer una tabla dinamica.
Seguramente se me presenten muchas mas dudas en el camino pero por ahora es eso lo que
no me deja continuar.
Espero puedas ayudarme, desde ya muchas gracias.
Jorge L. Dunkelman, 16 mayo, 2008 06:49

Hola Ezequiel,

pods fijarte en esta nota.


Un modelo ms elaborado, que usa macros, pods verlo aqu.
Annimo, 22 mayo, 2008 18:05

gracias por considerar mi comentario y por tu ayuda..


esta muy bueno lo que haces..
tratare de ponerlo en practica..

ezequiel...
Annimo, 16 mayo, 2010 05:37

Hola jorge es muy bueno tu blog me ha servido de mucho.. Tengo un problema y no lo puedo
solucionar, tengo una tabla con: jugadores (columna B), puntaje (columna C) y posicion
(columna D). Esta tabla esta en orden de jugadores , yo quiero hacer otra al lado ordenada por
posiciones pero no me sale, no puedo... Que formula tendria que usar. Cabe aclarar que mi
tabla tiene empates y quiero que los empates queden, pero cuando uso indice y coincidir me
pone siempre mismo jugador para los jugadores del mismo puntaje.... desde ya agradezco tu
ayuda... SERGIO
Jorge L. Dunkelman, 19 mayo, 2010 16:56

Usando JERARQUIA para obtener el nmero de orden de acuerdo al puntaje. Luego con
INDICE los organizs de mayor a menor.
Annimo, 18 enero, 2011 01:06

Hola Jorge,

He llegado a tu blog intentando resolver un problema de clasificacin de golf usando Excel. Soy
un novato en esto de Excel y lo que estoy consiguiendo es mediante copia y adaptacin pero no
encuentro nada que se parezca a lo que quiero hacer.

Te explico por si puedes ayudarme. Tengo una tabla dinmica de Excel con las siguientes
columnas:

Columna A (Jugador): J1, J2, J3, J4, J5


Columna B (Hoyos jugados): 4, 1, 0, 6, 0
Columna C (Par): -1, +1, 0, -1, 0

Tengo que crear una nueva columna D con la clasificacin que se establece segn los
siguientes criterios:

* Los jugadores sin hoyos jugados "no cuentan" para el orden (deberan ir al final de la lista)

* El orden se establece mediante la columna Par sabiendo que menor es mejor (-2 es mejor que
+2)

* Si un par es igual, gana quien tenga jugados ms hoyos (en el ejemplo, J1 y J4 tienen par -1
pero J4 ira primero por llevar 6 hoyos).

La clasificacin debera ser la siguiente:

Columna D (Clasificacin): 2, 3, 4, 1, 5

Se puede conseguir con una frmula como las mencionadas en este artculo? He aplicado
alguna pero claro, cuenta todos los valores incluidos los ceros y los inserta enmedio ...

Espero que se pueda. Gracias por todo.


Jorge L. Dunkelman, 19 enero, 2011 11:58

Se puede, pero tendras que construir algunas columnas auxiliares para considerar todas las
posibilidades que mencions.
Pods orientarte con las tcnicas que muestro en esta nota.
Tambin pods ver esta nota sobre cmo ordenar con JERARQUIA.
Ignasi D, 20 julio, 2012 14:04

Muchas gracias por el post.


Me ha servido para crear un ranking de puntos conseguidos a lo largo del mes.
He estado pensando la manera de mejorar la tabla aadiendo una columna que muestre un
valor segn la posicin anterior de cada alumno. Es decir, si el alumno mejora su posicin en el
ranking desde la ltima entrada de datos, aparece una flecha hacia arriba, si empeora aparece
la flecha hacia abajo, si mantiene su lugar en el ranking, aparece el signo "=".
Me podras ayudar?
Muchas gracias por adelantado.
Ignasi
Jorge L. Dunkelman, 20 julio, 2012 17:24

Se puede hacer con formato condicional, pero tendrs que tener una columna con el puntaje
anterior del alumno para hacer la comparacin.
En esta nota muestro la tcnica para hacerlo con Excel 97-2003; en esa misma nota hay un
enlace a otra nota donde muestro como hacerlo con Excel 2007/10.
Angel Marcelo, 05 marzo, 2013 01:49

Simplemente asombroso!!!
Annimo, 13 mayo, 2013 23:34

Estimado Jorge:

De una lista de alumnos, mediante formulario, requiero listar de manera de poner las notas
segn el apellido que se escribe en el formulario. Qu funcin es recomendable, por favor?

Atentamente
Jorge Dunkelman, 14 mayo, 2013 15:39

BUSCARV o una combinacin de INDICE y COINCIDIR


Pablo Vergara, 22 mayo, 2013 20:35

Hola Jorge, te queria consultar cuales son las formulas que utilizaste para los rangos
alumno_posicion y alumno_puntaje. De antemano muchas gracias!
Jorge Dunkelman, 22 mayo, 2013 23:32

Pods descargar el ejemplo (el enlace donde dice "para construir este modelo..."
Federico Seco Moran, 30 marzo, 2015 17:44

buenas tardes Jorge. Mi pregunta es si existe alguna solucin para cuando se genera la
clasificacion de equipos de futbol en excel, el empate a puntos entre varios equipos se tomen
en cuenta los enfrentamientos directos entre ellos, no solamente reflejando la diferencia entre
goles a favor y en contra. Le agradeceria que me lo explicase. Atentamente reciba un saludo.

Jorge Dunkelman, 31 marzo, 2015 07:17

Hola Federico, existen soluciones pero no se trata de aplicar simplemente una frmula.
Tendras que tener una hoja donde registrar los resultados entre los equipos y crear una
especie de ndice que te permita saber cul fue el vencedor en el encuentro.
Como comprenders la forma de hacerl depende de cmo est organizado el modelo y
explicarlo excede las posibilidades de un comentario.
Mario Escudero, 17 octubre, 2015 01:35

Gracias Jorge. Encontr exactamente lo que necesitaba.

Potrebbero piacerti anche