Cuadro de Puntaje |
Responder |
Autor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
edisito
Asiduo Unido: 23/Octubre/2005 Localización: Ecuador Estado: Sin conexión Puntos: 406 |
Opciones de entrada
Gracias(0)
Enviado: 29/Diciembre/2020 a las 18:42 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hola amigos, tengo un problema con buscar datos en una matriz. El asunto es el siguiente, tengo un grupo de personas a las cuales se les toma una evaluacion fisica, para ello se usa el Test de Cooper, el cual tiene la siguiente tabla:
CATEGORIA EDAD30 EDAD39 PUNTOS MUY MALA 16:30 17:30 5 MALA 14:31 15:31 10 REGULAR 12:21 13:01 15 BUENA 10:16 11:01 18 EXCELENTE 10:15 11:00 20 como se puede ver, segun la edad y el tiempo que haga la persona se le asigna un puntaje, para ello yo uso INDICE y COINCIDIR. El inconveniente es que los puntajes no son los correctos, por ejemplo, si una persona de 30 años de edad hace 11:30 minutos, su puntaje deberia ser de 18, pero le toma como 15. Si alguien me da una mano para la busqueda de valores del tipo hora me ayuda un monton. Saludos.
Editado por edisito - 29/Diciembre/2020 a las 18:49 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5976 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Suponiendo que 18 puntos corresponden a: >=10:16 y <12:21 1.- Invierte los valores de la tabla, de modo que las horas estén ordenadas de menor a mayor. 2.- Fórmula: =INDICE($D$2:$D$6;COINCIDIR(B10;$B$2:$B$6;1)) (posiblemente en Ecuador en vez de «;» sea «,»)
También te vale: =ELEGIR(COINCIDIR(B10;$B$2:$B$6);20;18;15;10;5) ( B10 contiene 11:30 ) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saludos desde Tenerife.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
edisito
Asiduo Unido: 23/Octubre/2005 Localización: Ecuador Estado: Sin conexión Puntos: 406 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GRAACIAS por la ayuda, les voy a poner las soluciones, si alguien puede simplificar mas la formula le pone en este hilo.
Solucion de AnSanVal (Con los datos ordenados de Mayor a Menor Puntaje) =INDICE($D$2:$D$6;COINCIDIR(B10;$B$2:$B$6;1)) =ELEGIR(COINCIDIR(B10;$B$2:$B$6);20;18;15;10;5) Tiene un error con tiempos menores de 10:15, pero se puede controlar con un SI... (Gracias AnSanVal) Soluciones mias sin ordenar datos: =INDICE(G4:K8;COINCIDIR(M3;G4:G8;-1);5): Esta es la formular que utilice al inicio y tenia el problema descrito. G4:K8 son los datos de la tabla, M3 el valor buscado (Ej. 11:00), G4:G8 la columna donde busco, -1 valor mayor y 5 para la columna de puntaje. =BUSCARV(M18;G18:K22;5): Con los datos ordenados de mayor a menor puntaje M18 valor buscado; G18:K22 matriz de datos; 5 columna de puntaje, tiene el mismo error de los tiempos menores a 10:15 =INDIRECTO("K"&BUSCARV(SUMAPRODUCTO(--($G$4:$G$8<=M3);FILA($G$4:$G$8));$D$4:$E$9;2;FALSO): Formula final con los datos sin ordenar, aqui utilice dos columnas de ayuda quedando la tabla de la siguiente manera:
Un poco enredada: SUMAPRODUCTO me da un resultado de la multiplicacion de dos matrices "--(BD!$G$4:$G$8<=M3);FILA(BD!$G$4:$G$8)", estos valores son los que estan el la columna D4, luego uso BUSCARV para el valor de la Fila con un valor exacto, y luego con indirecto obtengo la posicion de la celda y por ende el valor del puntaje (Ej. K7). En la celda M3 estaria el valor a comparar/buscar Como pueden ver la formula es un poco larga, y se hace mucho mas cuando le combino con la edad, ya que se tiene que evaluar a personas <30 años hasta personas >50 años. Saludos desde Ecuador.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5976 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
«... Tiene un error con tiempos menores de 10:15...»
Eso suele ocurrir cuando la exposición de la consulta no se parece a la realidad, seguramente mas adelante habrá problema con el puntaje de un sujeto de 28 años (< 30) y un usuario de 18 (<30), etc. aunque se resuelve fácil con ELEGIR/COINCIDIR sin alargar la fórmula. Otra cosa es incluir la edad, eso si alarga (o cambiar de método a por ejemplo una UDF). Como esta parece una de esas consultas que amenazan eternizarse, yo (de momento) paso a «Modo lectura». |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saludos desde Tenerife.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |