Fórmulas explicativas

Tabla de contenido

Requerimientos:

- Conocimientos básicos de vba
- Uso de tablas / rangos con nombre

Cuando se trabaja con libros de trabajo de forma intermitente, a veces meses entre las revisiones del libro de trabajo puede ser difícil recordar la estructura de datos y la configuración de la fórmula.
Así es como soluciono este problema y me aseguro de tener una descripción general de los cálculos realizados en unos minutos.
En este ejemplo, mostraré cómo se puede simplificar una fórmula para calcular las bonificaciones.

Aspecto de la fórmula sin tabla ni UDF

Fórmula:

= SI (SUMA (C2 / D2) = 3; SUMA ((C2-D2) * 0,03); SI (Y (SUMA (C2 / D2)> 1; SUMA (C2 / D2) <3) = VERDADERO; SUMA ((C2-D2) * 0,02); 1)))

La lógica de esta fórmula puede ser difícil de extraer a primera vista.

Aspecto de la fórmula con tabla y sin UDF

Fórmula:

= SI (SUMA ([@ [Ventas anuales]] / [@ Salario]) = 3; SUMA (([@ [Ventas anuales]] - [@ Salario]) * 0,03); SI (Y (SUMA ([ @ [Ventas anuales]] / [@ Salario])> 1; SUM ([@ [Ventas anuales]] / [@ Salario]) <3) = TRUE; SUM (([@ [Ventas anuales]] - [@ Salario ]) * 0,02); 1)))

Con las tablas, es un poco más fácil de leer, ya que se le informa de las celdas utilizadas en el cálculo.

Aspecto de la fórmula con tabla y UDF

Función definida por el usuario insertada en un módulo:

'Prefiero tener títulos de funciones largos y descriptivos que títulos cortos y no descriptivos
Función calculate_salary_to_sale_ratio_and_return_bonus (ventas anuales como el doble, salario como el doble) como el doble

Dim salary_to_sale_ratio como doble
Atenuar bonus_factor como doble
Dim return_bonus como doble

salary_to_sale_ratio = ventas anuales / salario

Seleccionar caso salario_to_sale_ratio
Caso 1 a 3
bonus_factor = 0.02
El caso es> 3
bonus_factor = 0.03
Caso otro
bonus_factor = 0 #
Finalizar Seleccionar

return_bonus = (ventas anuales - salario) * bonus_factor

calcular_salario_para_relación_de_venta_y_bonus_return = return_bonus

Función final

Uso de la función

Fórmula:= calcular_salario_para_relación_de_venta_y_bonos_de_devolución ([@ [Ventas anuales]]; [@ Salario])Esto le dice exactamente lo que está sucediendo a primera vista, y siempre puede profundizar en el código para leer los detalles. Se adjunta un archivo que demuestra los tres escenarios

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave