En el siguiente ejemplo, seguimos trabajando con el modelo que suelo trabajar habitualmente, pero con una diferencia, tenemos el modelo divido en tres hojas, en una primera hoja, tenemos las columnas de fecha, y, provincias, en una segunda hoja, tenemos el centro, y, el producto, y, en una tercera hoja, tenemos la cantidad, precio, y, total.
Los tres modelos están en formato de tabla, el primer modelo tiene como nombre:
Fec_prov
El segundo modelo tiene como nombre:
cen_prod
Y, el tercer modelo, tiene como nombre:
can_pvp_tot
En una hoja, ya he creado las listas únicas de años, provincias, centros, y, productos.
Pues, queremos elegir un año, una provincia, un centro, y, un producto, y, que nos de el total.
He seleccionado los siguientes datos.
Pues, empecemos.
Vamos a usar la función LET, donde vamos a declarar una primera variable, y, le asignamos el año de la columna fecha.
=LET(a;YEAR(fec_prov[Fecha])
Creamos una segunda variable, y, le asignamos la columna de provincia.
LET(a;YEAR(fec_prov[Fecha]);b;fec_prov[Provincia]
Creamos una tercera variable, donde almacenamos la columna de centro.
LET(a;YEAR(fec_prov[Fecha]);b;fec_prov[Provincia];c;cen_prod[Centro]
Y, una cuarta variable, para la columna de producto.
LET(a;YEAR(fec_prov[Fecha]);b;fec_prov[Provincia];c;cen_prod[Centro];d;cen_prod[Producto]
Estas son las variables, con la que vamos a trabajar.
El argumento cálculo de la función LET, va a ser preguntar si la variable a es igual, al valor de la celda A2, si la variable b, es igual al valor de la celda B2, si la variable c, es igual al valor de la celda C2, y, si la variable d, es igual al valor de la celda D2.
Cada condición debe de ir entre paréntesis, separado por el símbolo de asterisco.
=LET(a;YEAR(fec_prov[Fecha]);b;"";c;fec_prov[Provincia];d;"";e;cen_prod[Centro];f;"";g;cen_prod[Producto];h;"";(a=Resultados!A2)*(c=Resultados!B2)*(e=Resultados!C2)*(g=Resultados!D2)
Por último, ponemos de nuevo el símbolo de asterisco, abrimos un paréntesis, y, seleccionamos la columna de total, es decir, que si hay coincidencia, que devuelva la coincidencia de la columna de total.
=LET(a;YEAR(fec_prov[Fecha]);b;"";c;fec_prov[Provincia];d;"";e;cen_prod[Centro];f;"";g;cen_prod[Producto];h;"";((a=Resultados!A2)+(A2=b))*((c=Resultados!B2)+(B2=d))*((e=Resultados!C2)+(f=C2))*((g=Resultados!D2)+(h=D2))*(can_pvp_tot[Total]))
Obtenemos una matriz desbordada, con el valor donde haya coincidencias, y, cero donde no la hay, pues, después del signo igual, usamos la función SUM, para calcular el total.
=SUM(LET(a;YEAR(fec_prov[Fecha]);b;"";c;fec_prov[Provincia];d;"";e;cen_prod[Centro];f;"";g;cen_prod[Producto];h;"";((a=Resultados!A2)+(A2=b))*((c=Resultados!B2)+(B2=d))*((e=Resultados!C2)+(f=C2))*((g=Resultados!D2)+(h=D2))*(can_pvp_tot[Total])))
Ya lo tenemos.
Hasta aquí esta bien, pero que ocurre, si quiero el ver el total para provincia, centro, y, producto, pero no por año, o, solo por centro y producto, o, solo por el producto…
En este caso, nos va a devolver un resultado erróneo, o, cero.
Si, por ejemplo, el año no está, sería una celda en blanco, es decir, dobles comillas dobles, entonces, puedo preguntar si la variable a es igual al valor de la celda A2, o, es igual a blanco, si una de las condiciones se cumple, devolverá VERDADERO.
Vamos a hacerlo con la primera condición, voy a crear otra variable, después de la primera, cuyo valor va a ser, dobles comillas dobles, ahora, después de la primera condición, ponemos el símbolo más (+), abrimos un paréntesis, y, ponemos B=A2.
Cerramos paréntesis, y, ambas condiciones la ponemos entre paréntesis.
=SUM(LET(a;YEAR(fec_prov[Fecha]);b;"";c;fec_prov[Provincia];d;cen_prod[Centro];e;cen_prod[Producto];f;((a=Resultados!A2)+(A2=b))
Esto lo hacemos para el resto de las variables.
=SUM(LET(a;YEAR(fec_prov[Fecha]);b;"";c;fec_prov[Provincia];d;"";e;cen_prod[Centro];f;"";g;cen_prod[Producto];h;"";((a=Resultados!A2)+(A2=b))
Con esto, ya tenemos solventado el problema, si vamos probando, veremos como tenemos el total solo de los elementos que vemos.
Comments