top of page

Encuentros de futbol

Tenemos los siguientes equipos de futbol.













Debemos de crear un informe donde aparezca cada equipo con sus respectivos contrincantes, pero, como sigue, por ejemplo, el primer equipo es AC Milan, sus contrincantes son el resto de los equipos.











Para el siguiente equipo, que es el Betis, se debe de enfrentar al resto de equipos excepto al primer equipo.










El siguiente equipo que es el Chelsea, se enfrenta a todos los equipos menos al primer y segundo equipo.









Así con el resto de los equipos.


En la celda C2, ponemos LET, creamos una variable, nos traemos el modelo, y, fijamos.

=LET(x;A2:$A$10;x)


Creamos otra variable, usamos la funcion FILTRAR, como argumento array, ponemos la variable “x”, como argumento Include, usamos INDICE, como argumento matriz, seleccionamos la columna A, como argumento numero de fila, usamos FILA, y, como argumento ponemos la celda A2, para cuando arrastremos, vaya tomando el siguiente equipo, cerramos FILA, cerramos INDICE, e, igualamos a la variable “x”, e, igualamos a FALSO.


Obtenemos una matriz desbordada en vertical con los equipos excepto el primer equipo.












Creamos otra variable, usamos APILARH, como argumento matriz1, ponemos la celda A2, como argumento matriz2, ponemos la variable “b”.


=LET(x;A2:$A$10;b;FILTRAR(x;INDICE(A:A;FILA(A2))=x=FALSO);c;APILARH(A2;b);c)


Tenemos una matriz desbordada donde en la primera columna aparece el primer equipo, y, error en la resta de celdas, en la segunda columna, tenemos los equipos, excepto, el primer equipo.











Preguntamos que si la funcion APILARH, devuelve un error, que devuelva la celda A2.


=LET(x;A2:$A$10;b;FILTRAR(x;INDICE(A:A;FILA(A2))=x=FALSO);c;SI.ERROR(APILARH(A2;b);A2);c)


Vemos que donde había errores aparece el primer equipo.










Usamos la funcion ENFILA.


=LET(x;A2:$A$10;b;FILTRAR(x;INDICE(A:A;FILA(A2))=x=FALSO);c;ENFILA(SI.ERROR(APILARH(A2;b);A2));c)


Tenemos en fila, los encuentros para el primer equipo.



Arrastramos.








En la celda D12, usamos LET, creamos una variable, usamos ENCOL, como argumento matriz, ponemos C2 seguido del operador de rango derramado, ponemos dos puntos, ponemos C10 seguido del operador de rango derramado.


Obtenemos todos los encuentros en una sola columna.


























Creamos otra variable, usamos FILAS, porque FILA de forma matricial no podemos usarla, como argumento de FILAS ponemos la variable “a”.


=LET(a;ENCOL(C2#:C10#);b;FILAS(a);b)


Obtenemos 144 filas en total.


Usamos SECUENCIA, como argumento filas, ponemos la funcion FILAS, e, ignoramos el resto de los argumentos.


=LET(a;ENCOL(C2#:C10#);b;SECUENCIA(FILAS(a));b)


Obtenemos una matriz desbordada desde el numero 1 al número 144.


Preguntamos si es par el resultado.


=LET(a;ENCOL(C2#:C10#);b;ES.PAR(SECUENCIA(FILAS(a)));b)


Obtenemos VERDADERO donde es par, y, FALSO donde no lo es.























Creamos otra variable, filtramos la variable “a”, siempre que la variable “b” sea igual a VERDADERO.


=LET(a;ENCOL(C2#:C10#);b;ES.PAR(SECUENCIA(FILAS(a)));c;FILTRAR(a;b);c)


Obtenemos los equipos contrincantes.
























Creamos otra variable, usamos la funcion FILTRAR anterior, pero, igualamos a FALSO.


=LET(a;ENCOL(C2#:C10#);b;ES.PAR(SECUENCIA(FILAS(a)));c;FILTRAR(a;b);d;FILTRAR(a;b=FALSO);d)


Obtenemos los primeros equipos.























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


Tenemos una matriz desbordada de dos columnas, en la primera columna, aparecen los primeros equipos, y, en la segunda columna los equipos contrincantes.





















Creamos otra variable, o, podemos usar el argumento calculo de LET, filtramos la variable “e”, siempre que la segunda columna de dicha variable sea diferente a cero.


=LET(a;ENCOL(C2#:C10#);b;ES.PAR(SECUENCIA(FILAS(a)));c;FILTRAR(a;b);d;FILTRAR(a;b=FALSO);e;APILARH(d;c);f;FILTRAR(e;INDICE(e;;2)<>0);f)


Aceptamos, y, ya lo tenemos.






















Miguel Angel Franco

 
 
 

Comentarios


© 2019 Miguel Ángel Franco García

bottom of page