Usando LOOKUP en Excel quiero mostrar la celda que tiene la puntuación más alta pero el resultado es extraño.
De esa tabla quiero determinar quién obtuvo el puntaje más alto, y uso este código:
for biggest score no 1 "=LOOKUP(MAX(C4:C8),C4:C8,B4:B8)"
for biggest score no 2 "=LOOKUP(LARGE(C4:C8,2),C4:C8,B4:B8)"
for biggest score no 3 "=LOOKUP(LARGE(C4:C8,3),C4:C8,B4:B8) "
Y el resultado es extraño:
for biggest score no 1 it show "mordi"
for biggest score no 2 it show "mordi"
for biggest score no 3 it show "ngun"
¿Alguien puede corregirme y estoy usando la función incorrecta?
Respuestas
0 para la respuesta № 1Lo que está haciendo tu primera fórmula es encontrar 5
en C4: C8 pero luego buscando eso 5
en una lista que no está en orden ascendente. La búsqueda es binaria; de hecho, compara 5
con el punto medio 3
entonces se olvida de 5
y 4
porque espera 5
ser después 3
así que continúa la búsqueda solo en la segunda mitad del rango (nuevamente dividiéndolo en dos). No lo encuentra allí, por lo que los valores predeterminados (quizás no realmente intencionalmente) a la última entrada (es decir 1
) luego devuelve el valor correspondiente en la columna B para eso.
Sugiero una fórmula para los tres "rangos", con el "rango" especificado fuera de la fórmula, digamos 1
en G4, 2
en G5 y 3
en G6. Luego aplique:
=INDEX(B$4:B$8,MATCH(LARGE(C$4:C$8,G4),C$4:C$8,0))
Esto debería regresar johan
y cuando se copia aan
y entonces ngun
.
Utiliza GRANDE, como lo has sido, pero dentro de unMATCH para encontrar la posición relativa de la puntuación requerida en ColumnC y luego devuelve el contenido de esa misma posición relativa en el rango en ColumnB.
BUSCARV no sería adecuado porque el resultado está a la izquierda en la matriz de tabla.
Puede ser más fácil ver qué sucede si los puntajes no son los "rangos" en reversa.
1 para la respuesta № 2
Para utilizar la función de búsqueda, se deben ordenar los datos de la tabla. Para encontrar simplemente la primera aparición de un valor (-> max (C4: C8)) use la función de coincidencia y seleccione el valor apropiado de esta manera:
=INDIRECT("B" & MATCH(MAX(C4:C8),C4:C8,0))