top of page

5 mejores equipos en funcion total goles

Tenemos una serie de años, junto con unos equipos de futbol ganadores, a continuación, el resultado, y, una ultima columna con los subcampeones.












Debemos de crear un reporte, donde debemos de enumerar los 5 mejores equipos en funcion del total de goles marcados.


Empecemos…


En la celda F3, usamos LET, creamos una variable, usamos APILARV, como argumento matriz1, seleccionamos el rango B2:B22, como argumento matriz2, seleccionamos el rango D2:D22, probamos variable.


=LET(unic;APILARV(B2:B22;D2:D22);unic)


Tenemos una matriz desbordada en vertical con todos los equipos.


















Nos quedamos con los valores únicos.


=LET(unic;UNICOS(APILARV(B2:B22;D2:D22));unic)


















Creamos otra variable, usamos APILARH, como argumento matriz1, seleccionamos el rango B2:B22, como argumento matriz2, usamos IZQUIERDA, como argumento texto, seleccionamos el rango C2:C22, omitimos el argumento numero de caracteres, por lo que va a extraer un carácter por la izquierda, y, multiplicamos por 1, para que el resultado nos lo de en formato de número.


=LET(unic;UNICOS(APILARV(B2:B22;D2:D22));a;APILARH(B2:B22;IZQUIERDA(C2:C22)*1);a)


Tenemos los equipos ganadores junto con sus puntos.














Antes de APILARH, usamos APILARV, como argumento matriz1, es la expresión anterior, como argumento matriz2, es la misma funcion, pero, cambiamos el argumento matriz2 por el rango C2:C22.


=LET(unic;UNICOS(APILARV(B2:B22;D2:D22));a;APILARV(APILARH(B2:B22;IZQUIERDA(C2:C22)*1);APILARH(D2:D22;DERECHA(C2:C22)*1));a)


Tenemos en una matriz desbordada en vertical con cada equipo junto con sus goles.


















Creamos otra variable, usamos MAP, como argumento array, ponemos la variable “unic”, ponemos LAMBDA, creamos una variable, ponemos la funcion SUMA, como argumento numero1, usamos el condicional SI, como argumento prueba lógica, usamos TOMAR, como argumento matriz, ponemos la variable “a”, ignoramos el argumento filas, como argumento columnas, ponemos 1, vamos a tomar la columna de equipos, e, igualamos a la variable “x”.


=LET(unic;UNICOS(APILARV(B2:B22;D2:D22));a;APILARV(APILARH(B2:B22;IZQUIERDA(C2:C22)*1);APILARH(D2:D22;DERECHA(C2:C22)*1));b;MAP(unic;LAMBDA(x;SUMA(SI(TOMAR(a;;1)=x


Como argumento valor si verdadero, usamos TOMAR, como argumento matriz, ponemos la variable “a”, omitimos el argumento filas, como argumento columnas, ponemos -1 para tomar la columna de valores, como argumento valor si falso, ponemos blanco.


=LET(unic;UNICOS(APILARV(B2:B22;D2:D22));a;APILARV(APILARH(B2:B22;IZQUIERDA(C2:C22)*1);APILARH(D2:D22;DERECHA(C2:C22)*1));b;MAP(unic;LAMBDA(x;SUMA(SI(TOMAR(a;;1)=x;TOMAR(a;;-1);""))));b)


Tenemos los goles para cada equipo.



















Creamos otra variable, usamos K.ESIMO.MAYOR, como argumento matriz, nos traemos los valores únicos de la variable “b”, como argumento K, usamos SECUENCIA, como argumento filas, ponemos 5, para obtener los cinco valores mayores.


=LET(unic;UNICOS(APILARV(B2:B22;D2:D22));a;APILARV(APILARH(B2:B22;IZQUIERDA(C2:C22)*1);APILARH(D2:D22;DERECHA(C2:C22)*1));b;MAP(unic;LAMBDA(x;SUMA(SI(TOMAR(a;;1)=x;TOMAR(a;;-1);""))));c;K.ESIMO.MAYOR(UNICOS(b);SECUENCIA(5));c)


Tenemos los cinco valores mayores.










Nos vamos a quedar con el valor mínimo de los valores obtenidos, para ello, usamos MIN, y, como argumento es la funcion K.ESIMO.MAYOR.


=LET(unic;UNICOS(APILARV(B2:B22;D2:D22));a;APILARV(APILARH(B2:B22;IZQUIERDA(C2:C22)*1);APILARH(D2:D22;DERECHA(C2:C22)*1));b;MAP(unic;LAMBDA(x;SUMA(SI(TOMAR(a;;1)=x;TOMAR(a;;-1);""))));c;MIN(K.ESIMO.MAYOR(UNICOS(b);SECUENCIA(5)));c)


Obtenemos 4.


Esto quiere decir que necesitamos rescatar todos los valores que sean igual a 4, o, mayor a 4.

Creamos otra variable, usamos APILARH, como argumento matriz1, ponemos la variable “unic”, como argumento matriz2, ponemos la variable “b”, vamos a obtener el modelo con los equipos y la puntuación de cada equipo.


=LET(unic;UNICOS(APILARV(B2:B22;D2:D22));a;APILARV(APILARH(B2:B22;IZQUIERDA(C2:C22)*1);APILARH(D2:D22;DERECHA(C2:C22)*1));b;MAP(unic;LAMBDA(x;SUMA(SI(TOMAR(a;;1)=x;TOMAR(a;;-1);""))));c;MIN(K.ESIMO.MAYOR(UNICOS(b);SECUENCIA(5)));d;APILARH(unic;b);d)

















Usamos el argumento cálculo de LET, ponemos ORDENAR, como argumento array, ponemos FILTRAR, como argumento array, ponemos la variable “d”, como argumento Include, ponemos la variable “b” y comparamos con mayor o igual a la variable “c”.


=LET(unic;UNICOS(APILARV(B2:B22;D2:D22));a;APILARV(APILARH(B2:B22;IZQUIERDA(C2:C22)*1);APILARH(D2:D22;DERECHA(C2:C22)*1));b;MAP(unic;LAMBDA(x;SUMA(SI(TOMAR(a;;1)=x;TOMAR(a;;-1);""))));c;MIN(K.ESIMO.MAYOR(UNICOS(b);SECUENCIA(5)));d;APILARH(unic;b);ORDENAR(FILTRAR(d;b>=c);2;-1))


Aceptamos, y, ya lo tenemos.




















Miguel Angel Franco

 
 
 

Comentarios


© 2019 Miguel Ángel Franco García

bottom of page