top of page

Parejas con más duración

Tenemos un modelo donde una primera columna, tenemos una serie de personas, en la segunda columna, tenemos otra serie de personas, y, en la tercera columna, una duración.




















Debemos de crea un informe, donde aparezca la pareja, es decir, persona1 y persona2, que tengan las dos sumas de duraciones mayor.


En la celda E3, usamos LET, creamos una variable, y, nos traemos los valores únicos de las columnas persona1 y persona2.


=LET(a;UNICOS(A2:B13);a)














Creamos otra variable, usamos la funcion SUMAR.SI.CONJUNTO, como argumento rango de suma, seleccionamos el rango C2:C13, como argumento rango criterios1, seleccionamos el rango A2:A13, como argumento criterio1, usamos INDICE, como argumento matriz, ponemos la variable “a”, omitimos el argumento número de fila, como argumento numero de columna, ponemos 1, es decir, vamos a comparar la columna persona1 con la primera columna de los valores únicos obtenidos.


=LET(a;UNICOS(A2:B13);b;SUMAR.SI.CONJUNTO(C2:C13;A2:A13;INDICE(a;;1)


Como argumento rango criterios2, seleccionamos el rango B2:B13, como argumento criterio2, volvemos a usar INDICE, como argumento matriz, ponemos la variable “a”, ignoramos el argumento numero de fila, como argumento numero de columna, ponemos 2, probamos variable.


=LET(a;UNICOS(A2:B13);b;SUMAR.SI.CONJUNTO(C2:C13;A2:A13;INDICE(a;;1);B2:B13;INDICE(a;;2));b)


Tenemos la suma para cada pareja.



















Creamos otra variable, usamos la funcion K.ESIMO.MAYOR, como argumento matriz, ponemos la variable “b”, como argumento K, usamos una constante de matriz, entre llaves, ponemos los valores 1 y 2, separados por punto y coma.


=LET(a;UNICOS(A2:B13);b;SUMAR.SI.CONJUNTO(C2:C13;A2:A13;INDICE(a;;1);B2:B13;INDICE(a;;2));c;K.ESIMO.MAYOR(b;{1;2});c)


Tenemos una matriz desbordada con los dos valores mayores.






Creamos otra variable, usamos BYROW, como argumento array, ponemos la variable “b”, como argumento funcion, ponemos LAMBDA, creamos una variable, como argumento calculo de LAMBDA, usamos el operador lógico O, como argumento valor logico1, preguntamos si la variable “x” es igual a la variable “c”, como argumento valor lógico 2, es la misma condición.


=LET(a;UNICOS(A2:B13);b;SUMAR.SI.CONJUNTO(C2:C13;A2:A13;INDICE(a;;1);B2:B13;INDICE(a;;2));c;K.ESIMO.MAYOR(b;{1;2});d;BYROW(b;LAMBDA(x;O(x=c;x=c)));d)


Obtenemos una matriz desbordada con VERDADERO donde hay coincidencia, y, FALSO donde no la hay.














Usamos el argumento calculo de LET, usamos la funcion FILTRAR, como argumento array, usamos APILARH, como argumento matriz1, ponemos la variable “a”, como argumento matriz, ponemos la variable “b”, como argumento Include, ponemos la variable “d”.


=LET(a;UNICOS(A2:B13);b;SUMAR.SI.CONJUNTO(C2:C13;A2:A13;INDICE(a;;1);B2:B13;INDICE(a;;2));c;K.ESIMO.MAYOR(b;{1;2});d;BYROW(b;LAMBDA(x;O(x=c;x=c)));FILTRAR(APILARH(a;b);d))


Aceptamos, y, ya lo tenemos.










Miguel Angel Franco

 
 
 

Comentarios


© 2019 Miguel Ángel Franco García

bottom of page