martes, 10 de marzo de 2020

Contar valores de columnas entre tres primeros

Respondiendo, o al menos intentándolo, la duda de un lector que decía:
[...]Necesito una formula matricial? (se que se puede hacer de forma indirecta rellenando otra tabla auxiliar, pero creo que existen formulas que lo pueden hacer directamente) que cuenten el nº de exámenes en los que cada alumno ha sacado una de las 3 mejores notas. Por ejemplo, el alumno 1 tendría que dar 0 veces y  alumno 3 tendría que dar 4 veces.[...]


El objetivo es averiguar para cada elemento cuantas de sus calificaciones se encuentran, por examen, entre las tres primeras notas...
Algo bastante concreto, pero que al intentar dar respuesta me he encontrado con verdaderos problemas para solucionar el tema planteado.

Seguro que algún lector puede aportar una alternativa mejor (sin rangos auxiliares, y empleando fórmulas matriciales).


Tenemos el siguiente rango de notas para cuatro exámenes de nueve alumnos:

Contar valores de columnas entre tres primeros


La mejor aproximación encontrada ha sido añadir la fórmula matricial en G3:G11:
=(C3:C11>=K.ESIMO.MAYOR(C3:C11;3))+
(D3:D11>=K.ESIMO.MAYOR(D3:D11;3))+
(E3:E11>=K.ESIMO.MAYOR(E3:E11;3))+
(F3:F11>=K.ESIMO.MAYOR(F3:F11;3))


Lo que obtenemos es un vector de V y F (0 y 1) con aquellos valores que cumplan la condición, columna a columna, de superar el tercer valor más alto... acaba la fórmula sumando por fila.

Válida para este ejemplo en el que solo debo evaluar cuatro exámenes... obviamente para un número alto de exámenes esta fórmula se hace muy tediosa...

Alternativas, basadas en rangos auxiliares, hay muchas.
La que más me gusto después de varios intentos es construir una matricial en J3:M11 con:
=--($C$3:$F$11>=K.ESIMO.MAYOR(INDICE($C$3:$F$11;0;COLUMNA($A:$D));3))

Contar valores de columnas entre tres primeros



Terminamos sumando fila a fila en el rango I3:I11.

Esta matricial devuelve desglosado por fila y columna una matriz de 0 y 1 para aquellos elementos buscados.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.