top of page

Total de puntos de equipos

Actualizado: 22 oct 2023

Las victorias (W), las tablas (D) y las derrotas (L) tienen ponderaciones de 1, 0 y -1.

Debemos de enumerar los 3 mejores equipos en función del total de puntos de los equipos.

Ejemplo. Golden State Warriors - 38*1 + 75*0 + 37*-1 = total 1 punto


Tenemos los siguientes equipos junto con sus resultados.












En la celda C2, usamos LET, creamos una variable, la llamaremos primer_espacio, usamos ENCONTRAR, como argumento texto buscado, ponemos un espacio, como argumento dentro del texto, seleccionamos el rango B2:B10, probamos variable.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);primer_espacio)


Obtenemos la posición del primer espacio, que es el mismo valor para todos los resultados.













Creamos otra variable para encontrar el segundo espacio, la llamaremos segundo_espacio, volvemos a usar la funcion ENCONTRAR, como argumento texto buscado, ponemos un espacio, como argumento dentro del texto, seleccionamos el rango B2:B10, como argumento numero inicial, ponemos la variable primer_espacio, y, sumamos 1, para saltar el espacio.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);segundo_espacio)


Obtenemos el mismo valor para todos los equipos.












Creamos otra variable, la llamaremos resta, vamos a restar la variable segundo_espacio con primer_espacio.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);resta;segundo_espacio-primer_espacio;resta)


Obtenemos 4 para cada equipo.













Creamos otra variable, usamos la funcion EXTRAE, como argumento texto, seleccionamos el rango B2:B10, como argumento posición inicial, ponemos 1, como argumento numero de caracteres, ponemos la variable primer_espacio, y, restamos 1, para que no nos extraiga el espacio.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);resta;segundo_espacio-primer_espacio;a;EXTRAE(B2:B10;1;primer_espacio-1);a)


Hemos extraído los goles a favor.













Como todos los valores tienen una longitud de 3 caracteres, vamos a extraer los dos primeros caracteres, para ello, usamos la funcion IZQUIERDA, como argumento texto, es la funcion EXTRAE, como argumento numero de caracteres, ponemos 2.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);resta;segundo_espacio-primer_espacio;a;IZQUIERDA(EXTRAE(B2:B10;1;primer_espacio-1);2);a)


Obtenemos los números, pero, vemos que quedan alineados a la izquierda, porque están en formato de texto.













Antes de la funcion IZQUIERDA, ponemos la funcion ABS para obtener el valor absoluto.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);resta;segundo_espacio-primer_espacio;a;ABS(IZQUIERDA(EXTRAE(B2:B10;1;primer_espacio-1);2));a)


Ya lo tenemos en formato de número.













Multiplicamos por 1.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);resta;segundo_espacio-primer_espacio;a;ABS(IZQUIERDA(EXTRAE(B2:B10;1;primer_espacio-1);2))*1;a)


Ya tenemos los goles a favor.













Vamos por los empates, creamos otra variable, volvemos a usar la funcion EXTRAE, como argumento texto, seleccionamos el rango B2:B10, como argumento posición inicial, ponemos la variable primer_espacio, y, sumamos 1, como argumento número de caracteres, ponemos la variable resta.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);resta;segundo_espacio-primer_espacio;a;ABS(IZQUIERDA(EXTRAE(B2:B10;1;primer_espacio-1);2))*1;b;EXTRAE(B2:B10;primer_espacio+1;resta);b)


Obtenemos los empates, pero, en formato de texto.














Volemos a usar la funcion IZQUIERDA, ABS, y, multiplicamos por 0.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);resta;segundo_espacio-primer_espacio;a;ABS(IZQUIERDA(EXTRAE(B2:B10;1;primer_espacio-1);2))*1;b;ABS(IZQUIERDA(EXTRAE(B2:B10;primer_espacio+1;resta);2))*0;b)


Obtenemos 0 para todos los valores.














Creamos otra variable, usamos la funcion EXTRAE, como argumento texto, seleccionamos el rango B2:B10, como argumento posición inicial, ponemos la variable segundo_espacio, y, sumamos 1, como argumento numero de caracteres, ponemos 2, ponemos ABS antes de EXTRAE.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);resta;segundo_espacio-primer_espacio;a;ABS(IZQUIERDA(EXTRAE(B2:B10;1;primer_espacio-1);2))*1;b;ABS(IZQUIERDA(EXTRAE(B2:B10;primer_espacio+1;resta);2))*0;c;ABS(EXTRAE(B2:B10;segundo_espacio+1;2));c)


Multiplicamos por -1.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);resta;segundo_espacio-primer_espacio;a;ABS(IZQUIERDA(EXTRAE(B2:B10;1;primer_espacio-1);2))*1;b;ABS(IZQUIERDA(EXTRAE(B2:B10;primer_espacio+1;resta);2))*0;c;ABS(EXTRAE(B2:B10;segundo_espacio+1;2))*-1;c)













Creamos otra variable, usamos APILARH, como argumento matriz1, ponemos la variable “a”, como argumento matriz2, ponemos la variable “b”, como argumento matriz3, ponemos la variable “c”.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);resta;segundo_espacio-primer_espacio;a;ABS(IZQUIERDA(EXTRAE(B2:B10;1;primer_espacio-1);2))*1;b;ABS(IZQUIERDA(EXTRAE(B2:B10;primer_espacio+1;resta);2))*0;c;ABS(EXTRAE(B2:B10;segundo_espacio+1;2))*-1;d;APILARH(a;b;c);d)










Vamos a sumar cada fila de forma independiente, por lo que vamos a usar la funcion BYROW, como argumento array, ponemos la variable “d”, como argumento funcion, ponemos LAMBDA, declaramos una variable, como argumento calculo de LAMBDA, usamos la funcion SUMA, como argumento numero1, usamos la funcion INDICE, como argumento matriz, ponemos la variable “x”, omitimos el argumento numero de fila, como argumento numero de columna, usamos una constante de matriz, abrimos unas llaves, ponemos los valores 1 y 2 separados por barra inclinada, cerramos llaves, cerramos paréntesis, como argumento numero2, usamos INDICE como argumento matriz, ponemos la variable “x”, omitimos el argumento numero de fila, como argumento numero de columna, ponemos 3.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);resta;segundo_espacio-primer_espacio;a;ABS(IZQUIERDA(EXTRAE(B2:B10;1;primer_espacio-1);2))*1;b;ABS(IZQUIERDA(EXTRAE(B2:B10;primer_espacio+1;resta);2))*0;c;ABS(EXTRAE(B2:B10;segundo_espacio+1;2))*-1;d;APILARH(a;b;c);e;BYROW(d;LAMBDA(x;SUMA(INDICE(x;;{1\2});INDICE(x;;3))));e)


Ya tenemos la diferencia de goles.













Creamos otra variable, con la funcion K.ESIMO.MAYOR nos traemos los tres primeros valores mayores.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);resta;segundo_espacio-primer_espacio;a;ABS(IZQUIERDA(EXTRAE(B2:B10;1;primer_espacio-1);2))*1;b;ABS(IZQUIERDA(EXTRAE(B2:B10;primer_espacio+1;resta);2))*0;c;ABS(EXTRAE(B2:B10;segundo_espacio+1;2))*-1;d;APILARH(a;b;c);e;BYROW(d;LAMBDA(x;SUMA(INDICE(x;;{1\2});INDICE(x;;3))));f;K.ESIMO.MAYOR(e;{1;2;3});f)













Creamos otra variable, usamos la funcion BUSCARX, como argumento valor buscado, ponemos la variable “f”, como argumento matriz de búsqueda, ponemos la variable “e, como argumento matriz devuelta, seleccionamos el rango A2:A10.


=LET(primer_espacio;ENCONTRAR(" ";B2:B10);segundo_espacio;ENCONTRAR(" ";B2:B10;primer_espacio+1);resta;segundo_espacio-primer_espacio;a;ABS(IZQUIERDA(EXTRAE(B2:B10;1;primer_espacio-1);2))*1;b;ABS(IZQUIERDA(EXTRAE(B2:B10;primer_espacio+1;resta);2))*0;c;ABS(EXTRAE(B2:B10;segundo_espacio+1;2))*-1;d;APILARH(a;b;c);e;BYROW(d;LAMBDA(x;SUMA(INDICE(x;;{1\2});INDICE(x;;3))));f;K.ESIMO.MAYOR(e;{1;2;3});h;BUSCARX(f;e;A2:A10);h)


Aceptamos, y, ya lo tenemos.















Miguel Angel Franco

 
 
 

Comentarios


© 2019 Miguel Ángel Franco García

bottom of page