Requisitos:

  • 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.

image

Aspecto de la fórmula sin tabla o Fórmula UDF:

SI (SUMA (C2 / D2) ⇐ 1; 0; 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.

Apariencia de la fórmula con tabla y sin UDF Fórmula:

SI (SUM ([@ [Ventas anuales]] / [@ Salario]) ⇐ 1; 0; IF (SUM ([@ [Ventas anuales]] / [@ Salario])> = 3; SUM [@ [Ventas anuales]] – [@ Salario]) 0,03); IF (AND (SUM ([@ [Ventas anuales]] / [@ Salario])> 1; SUM ([@ [Ventas anuales]] / [@ Salario]) <3) = VERDADERO; SUMA (([@ [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. Apariencia de la fórmula con tabla y función definida por el usuario UDF insertada en un módulo:

‘Prefiero tener títulos de función largos y descriptivos que títulos cortos y no descriptivos Función calcular_salario_a_a_a_venta_ratio_y_devolución_bonus (ventas anuales como el doble, salario como el doble) As Double Dim salary_to_sale_ratio As Double Dim bonus_factor As Double Dim return_bonus As Double salary_to_sale_ratio_sale_tory Case 1 anual. To 3 bonus_factor = 0.02 Caso es> 3 bonus_factor = 0.03 Caso Else bonus_factor = 0 # Fin Seleccione return_bonus = (ventas anuales – salario) * bonus_factor calcular_salario_a_venta_ratio_y_return_bonus = return_bonus Finalizar función 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