Requisiti:
- Conoscenza di base di vba
- Utilizzo di tabelle/intervalli denominati
Quando si lavora con le cartelle di lavoro attivate e disattivate, a volte mesi tra le rivisitazioni della cartella di lavoro può essere difficile ricordare la struttura dei dati e l'impostazione della formula.
È così che risolvo questo problema e mi assicuro che entro pochi minuti avrò una panoramica dei calcoli eseguiti.
In questo esempio mostrerò come semplificare una formula per il calcolo dei bonus.
Aspetto della formula senza tabella o UDF
Formula:
=SE(SOMMA(C2/D2)=3;SOMMA((C2-D2)*0,03);SE(E(SOMMA(C2/D2)>1;SOMMA(C2/D2)<3)=VERO; SOMMA((C2-D2)*0,02);1)))
La logica in questa formula può essere difficile da estrarre a prima vista.
Aspetto della formula con tabella e senza UDF
Formula:
=SE(SOMMA([@[Vendite annuali]]/[@Salario])=3;SOMMA(([@[Vendite annuali]]-[@Salario])*0,03);SE(E(SOMMA([ @[Vendite annuali]]/[@Salary])>1;SUM([@[Salary]]/[@Salary])<3)=TRUE;SUM(([@[Salary]]-[@Salary ])*0,02);1)))
Con le tabelle è diventato un po' più facile da leggere poiché sei informato delle celle utilizzate nel calcolo
Aspetto della formula con tabella e UDF
Funzione definita dall'utente inserita in un modulo:
'Preferirò titoli di funzione lunghi e descrittivi piuttosto che titoli brevi e non descrittivi
Funzione calcola_salary_to_sale_ratio_and_return_bonus(yearlySales As Double, stipendio As Double) As Double
Dim salary_to_sale_ratio come doppio
Dim bonus_factor come doppio
Dim return_bonus come doppio
salary_to_sale_ratio = yearlySales/stipendio
Seleziona caso salary_to_sale_ratio
Caso da 1 a 3
fattore_bonus = 0,02
Il caso è > 3
fattore_bonus = 0,03
Caso Altro
fattore_bonus = 0#
Fine selezione
return_bonus = (annualiVendite - stipendio) * bonus_factor
calcola_salary_to_sale_ratio_and_return_bonus = return_bonus
Fine funzione
Uso della funzione
Formula:=calculate_salary_to_sale_ratio_and_return_bonus([@[vendite annuali]];[@salario])Questo ti dice esattamente cosa sta succedendo a prima vista e puoi sempre approfondire il codice per leggere le specifiche. In allegato è un file che dimostra tutti e tre gli scenari