top of page

Diferencia goles iguales

Tenemos los siguientes encuentros.














Debemos de encontrar aquellos encuentros cuya diferencia de goles sea la misma.


En la celda F3, usamos LET, creamos una variable, usamos la funcion DIVIDIRTEXTO, como argumento texto, seleccionamos el rango D2:D11 (resultados), como argumento delimitador de columna, entre comillas dobles, ponemos el guion medio.


=LET(a;DIVIDIRTEXTO(D2:D11;"-");a)


La funcion DIVIDIRTEXTO, no es capaz de devolvernos las dos cadenas que hay entre el guion medio, solo nos devuelve la primera cadena, es decir, los goles del equipo que juega en casa, pero en este caso, es lo que quería, obtener los primeros resultados.

Probamos variable.
















Fijamos D2:D11.


=LET(a;DIVIDIRTEXTO($D$2:$D$11;"-");a)


Vemos que nos valores quedan alineados a la izquierda, quiere decir que esta en formato de texto, pues, usamos ABS para convertir los valores en formato de número.


=LET(a;ABS(DIVIDIRTEXTO($D$2:$D$11;"-"));a)
















Creamos otra variable, usamos DERECHA, solo usamos el argumento texto, seleccionamos el rango D2:D11, fijamos, y, volvemos a usar la funcion ABS.


=LET(a;ABS(DIVIDIRTEXTO($D$2:$D$11;"-"));b;ABS(DERECHA($D$2:$D$11));b)

















Creamos otra variable, la llamamos resta, ponemos la funcion ABS, como argumento restamos la variable “a” menos la variable “b”, con la funcion ABS, evitamos que el resultado sea negativo.


=LET(a;ABS(DIVIDIRTEXTO($D$2:$D$11;"-"));b;ABS(DERECHA($D$2:$D$11));resta;ABS(a-b);resta)



















Creamos otra variable, la llamamos frecu, usamos la funcion FRECUENCIA, como argumento datos, ponemos la variable resta, como argumento grupos, volvemos a poner la variable resta.


=LET(a;ABS(DIVIDIRTEXTO($D$2:$D$11;"-"));b;ABS(DERECHA($D$2:$D$11));resta;ABS(a-b);frecu;FRECUENCIA(resta;resta);frecu)


Tenemos las veces que se repite un valor, sabemos que la funcion FRECUENCIA solo aparece las veces que aparece un valor en la primera coincidencia, en el resto de las coincidencias, pone cero, y, también devuelve una celda mas con el valor 0.


Vemos que el valor 6 aparece dos veces, y, el valor 0, aparece tres veces.
















Son los valores que nos interesan, creamos otra variable la llamamos mayor_1, preguntamos si la variable frecu en mayor a 1.


=LET(a;ABS(DIVIDIRTEXTO($D$2:$D$11;"-"));b;ABS(DERECHA($D$2:$D$11));resta;ABS(a-b);frecu;FRECUENCIA(resta;resta);mayor_1;frecu>1;mayor_1)


Obtenemos VERDADERO donde hay coincidencia, y, FALSO donde no la hay.

















Creamos otra variable, la llamamos resul, preguntamos si la variable mayor_1 es igual a VERDADERO, en ese caso, que nos devuelva la variable resta, en caso contrario, que nos devuelva un error.


=LET(a;ABS(DIVIDIRTEXTO($D$2:$D$11;"-"));b;ABS(DERECHA($D$2:$D$11));resta;ABS(a-b);frecu;FRECUENCIA(resta;resta);mayor_1;frecu>1;resul;SI(mayor_1;resta;NOD());resul)

















Usamos ENCOL, como argumento matriz es el condicional SI, como argumento ignorar, ponemos 3, es decir, ignoramos blancos y errores.


=LET(a;ABS(DIVIDIRTEXTO($D$2:$D$11;"-"));b;ABS(DERECHA($D$2:$D$11));resta;ABS(a-b);frecu;FRECUENCIA(resta;resta);mayor_1;frecu>1;resul;ENCOL(SI(mayor_1;resta;NOD());3);resul)






Usamos el argumento calculo de LET, ponemos la funcion APILARV, como argumento matriz1, usamos INDICE, como argumento matriz, ponemos la variable resul, como argumento numero de fila, usamos la funcion FILA, como argumento ponemos la celda A1, omitimos el argumento número de columna.


=LET(a;ABS(DIVIDIRTEXTO($D$2:$D$11;"-"));b;ABS(DERECHA($D$2:$D$11));resta;ABS(a-b);frecu;FRECUENCIA(resta;resta);mayor_1;frecu>1;resul;ENCOL(SI(mayor_1;resta;NOD());3);APILARH(INDICE(resul;FILA(A1))))


Obtenemos el valor 6.


Como argumento matriz2, usamos la funcion ENFILA, como argumento matriz, preguntamos si la variable resta es igual a la primera fila de la variable resul, por lo que usamos de nuevo INDICE, como argumento matriz, ponemos la variable resul, como argumento numero de fila, ponemos la funcion FILA, como argumento ponemos la celda A1, ignoramos el argumento número de columna.


=LET(a;ABS(DIVIDIRTEXTO($D$2:$D$11;"-"));b;ABS(DERECHA($D$2:$D$11));resta;ABS(a-b);frecu;FRECUENCIA(resta;resta);mayor_1;frecu>1;resul;ENCOL(SI(mayor_1;resta;NOD());3);APILARH(INDICE(resul;FILA(A1));ENFILA(SI(resta=INDICE(resul;FILA(A1))



Como argumento valor si verdadero, ponemos el rango A2:A11, fijamos, que son los encuentros, en caso contrario, que devuelva un error, como argumento ignorar de ENFILA, ponemos 3.


=LET(a;ABS(DIVIDIRTEXTO($D$2:$D$11;"-"));b;ABS(DERECHA($D$2:$D$11));resta;ABS(a-b);frecu;FRECUENCIA(resta;resta);mayor_1;frecu>1;resul;ENCOL(SI(mayor_1;resta;NOD());3);APILARH(INDICE(resul;FILA(A1));ENFILA(SI(resta=INDICE(resul;FILA(A1));$A$2:$A$11;NOD());3)))


Aceptamos, arrastramos una vez, y, ya lo tenemos.







Miguel Angel Franco

 
 
 

Comentarios


© 2019 Miguel Ángel Franco García

bottom of page