Professional Documents
Culture Documents
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.
Para desempatar estos valores utilizar el criterio del tiempo que cada
uno de los participantes utiliz para alcanzar dicha puntuacin.
*********************///////////////////////*********************
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
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
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_
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
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
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
Ponemos la frmula en la primer celda del rango y luego la copiamos al resto del rango.
dman, 11 mayo, 2008 08:20
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:
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,
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:
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).
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 ...
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
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
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.
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