top of page
Foto del escritorJaime Franco Jimenez

Calculo total menos descuento.

Para el siguiente ejemplo, tenemos un modelo donde tenemos una serie de comerciales, y, el porcentaje que le corresponde según producto vendido.







Tenemos otro modelo, donde tenemos el comercial, y, las ventas realizadas por producto.















Queremos calcular el total vendido por cada comercial de todos los productos por el porcentaje que le corresponde por producto.


Primero, vamos a calcular el total de ventas para cada comercial.


Para el calculo de ventas para cada comercial, voy a usar el condicional SI, donde el argumento prueba lógica, es si el rango B12:B25, es igual al valor de H4, el primer comercial.


=SI(B12:B25=I14


Como argumento valor si verdadero, que nos devuelva el rango C12:F25, es decir, las ventas.


=SI(B12:B25=I14;C12:F25


Como argumento valor si falso, ponemos cero, cerramos paréntesis, y, aceptamos.


=SI($B$12:$B$25=I14;$C$12:$F$25;0)


Obtenemos una matriz desbordada con las ventas para el primer comercial, pero, queremos el total, por lo que después del signo igual, usamos la función SUMA.


=SUMA(SI(B12:B25=I14;C12:F25;0))


Obtenemos las ventas para el primer comercial.






Fijamos las siguientes referencias.


=SUMA(SI($B$12:$B$25=H4;$C$12:$F$25;0))


Arrastramos, y, tenemos las ventas para cada comercial.











Ahora, tenemos que calcular a cuanto equivale el descuento, teniendo en cuenta que tenemos cuatro productos, y, cada producto tiene un porcentaje, por lo que debemos de sumar dichos porcentajes, si en una celda, uso la función BUSCARX, donde como argumento valor buscado, pongo la celda I14, que es el total para el primer comercial.


=BUSCARX(I14

Como argumento matriz de búsqueda, seleccionamos el rango B4:B7, donde se encuentran los comerciales.


=BUSCARX(I14;B4:B7


Y, como argumento matriz devuelta, selecciono el rango C4:F7, que son las ventas.


Cerramos paréntesis, y, aceptamos.


=BUSCARX(I14;B4:B7;C4:F7)


Obtenemos una matriz desbordada en horizontal con los porcentajes para el primer comercial.




Pues, ahora usamos la función SUMA, para obtener el total, y, lo ponemos en porcentaje.


=SUMA(BUSCARX(I14;B4:B7;C4:F7))


Nos devuelve el 28%.


Fijo las siguientes referencias para cuando tengamos que arrastrar.


=SUMA(BUSCARX(I14;$B$4:$B$7;$C$4:$F$7))


Ahora, ponemos el valor de la celda I4, que son las ventas por el primer comercial, ponemos le símbolo de asterisco (multiplicación), y, pegamos la expresión.


=I4*SUMA(BUSCARX(I14;$B$4:$B$7;$C$4:$F$7))


Aceptamos, y, tenemos el porcentaje total para el primer comercial.


Arrastramos, y, tenemos el porcentaje que le corresponde a cada comercial.








Si sumo la expresión donde hemos calculado el total por comercial, mas la expresión, donde hemos calculado los porcentajes para cada comercial.


=SUMA(SI($B$12:$B$25=H4;$C$12:$F$25;0))*SUMA(BUSCARX(I14;$B$4:$B$7;$C$4:$F$7))


Obtengo el mismo resultado, pero en una sola columna, aunque la sintaxis se hace un poco larga.








También, podría hacerlo con la función SUMAPRODUCTO, y, FILTRAR, primero uso la función SUMAPRODUCTO, para calcular el total de ventas para el primer comercial, donde como argumento matriz1, abro un paréntesis, selecciono las celdas B12:B25, y, lo igualo a H4, que es el primer comercial, cierro paréntesis.


=SUMAPRODUCTO((B12:B25=H4)


Pongo el símbolo de asterisco, abro otro paréntesis, selecciono el rango C12:F25, que son las ventas, cerramos paréntesis de la condición, y, de la función.


Aceptamos.


=SUMAPRODUCTO((B12:B25=H4)*(C12:F25))


Tenemos el total para el primer comercial, ahora, tenemos que multiplicar por el porcentaje que corresponde con el primer comercial, que es la suma de todos los porcentajes, para ello, voy a usar la función FILTRAR, donde como argumento array, selecciono el rango C4:F7, que son los porcentajes.


=SUMAPRODUCTO((B12:B25=H4)*(C12:F25))*FILTRAR(C4:F7


Y, como argumento include, seleccionamos el rango B4:B7, y, lo igualamos al valor de la celda H4, que es el primer comercial.


Cerramos paréntesis, y, aceptamos.


=SUMAPRODUCTO((B12:B25=H4)*(C12:F25))*FILTRAR(C4:F7;B4:B7=H4)


Con esto vamos a obtener una matriz desbordada en horizontal, con los porcentajes para el primer comercial, pero necesitamos la suma, por lo que antes de FILTRAR, usamos la función SUMA.


=SUMAPRODUCTO((B12:B25=H4)*(C12:F25))*SUMA(FILTRAR(C4:F7;B4:B7=H4))


Aceptamos, y, vemos que tenemos el mismo resultado.





Fijamos las siguientes referencias:


=SUMAPRODUCTO(($B$12:$B$25=H4)*($C$12:$F$25))*SUMA(FILTRAR($C$4:$F$7;$B$4:$B$7=H4))


Arrastramos, y, vemos que tenemos las mismas cantidades.








Ahora, lo vamos a hacer con la función MAP, sabemos que esta función, devuelve cada valor de una matriz.


En la celda I4, escribo la función MAP, y, abro un paréntesis.


=MAP(


El primer argumento es array, pues, seleccionamos las celdas H4:H7, que son los comerciales.


=MAP(H4:H7


El siguiente argumento es otro rango, o, la función LAMBDA, en este caso, ponemos la función LAMBDA, y, abrimos un paréntesis.


=MAP(H4:H7;LAMBDA(


El primer argumento de la función LAMBDA es parámetro, o, calculo, en este caso, vamos a crear una variable, donde quedara almacenado el rango H4:H7.


=MAP(H4:H7;LAMBDA(a


El siguiente argumento vuelve a ser parámetro, o, calculo, en este caso, vamos a realizar un cálculo, donde tenemos que preguntar que si en el rango B12:B25, los comerciales, es igual a la variable a, es decir, a cada comercial, en ese caso, que nos devuelva el rango de ventas, para ello, usamos el condicional SI, si no se cumple la condición, que ponga cero, cerramos paréntesis.


=MAP(H4:H7;LAMBDA(a;SI(B12:B25=a;C12:F25;0)


Pero, para obtener el total por comercial, antes del condicional SI, ponemos la función SUMA.


=MAP(H4:H7;LAMBDA(x;SUMA(SI(B12:B25=x;C12:F25;0))


Cerramos paréntesis de MAP, y, aceptamos.


=MAP(H4:H7;LAMBDA(x;SUMA(SI(B12:B25=x;C12:F25;0))


Tenemos las ventas realizadas por cada comercial.








Ahora, vamos a calcular el porcentaje que le corresponde a cada comercial, para ello, después del cierre de paréntesis del condicional SI, ponemos la función SUMA, porque tenemos que sumar los porcentajes, y, abrimos un paréntesis, ahora, ponemos la función BUSCARX, y, abrimos un paréntesis.


=MAP(H13:H16;LAMBDA(a;SUMA(SI(B12:B25=a;C12:F25;0)*SUMA(BUSCARX(


Como argumento valor buscado, ponemos la variable A.


=MAP(H13:H16;LAMBDA(x;SUMA(SI(B12:B25=x;C12:F25;0)*SUMA(BUSCARX(a


Como argumento matriz de búsqueda, seleccionamos el rango B4:B7, que son los comerciales.


=MAP(H13:H16;LAMBDA(a;SUMA(SI(B12:B25=a;C12:F25;0)*SUMA(BUSCARX(a;B4:B7


Y, como argumento matriz devuelta, seleccionamos el rango C4:F7, que son los porcentajes, cerramos paréntesis, y, aceptamos.


=MAP(H13:H16;LAMBDA(a;SUMA(SI(B12:B25=a;C12:F25;0)*SUMA(BUSCARX(a;B4:B7;C4:F7)))))


Podemos ver que tenemos los mismos resultados.












25 visualizaciones0 comentarios

Entradas Recientes

Ver todo

Kommentare


bottom of page