Requisiti:

  • Conoscenza di base di vba – Uso di tabelle / intervalli denominati Quando si lavora con cartelle di lavoro attive e disattivate, a volte mesi tra una rivisitazione della cartella di lavoro può essere difficile ricordare la struttura dei dati e la formula impostata.

È così che aggiro questo problema e mi assicuro di avere una panoramica dei calcoli effettuati entro pochi minuti.

In questo esempio mostrerò come semplificare una formula per il calcolo dei bonus.

image

Aspetto della formula senza tabella o Formula UDF:

SE (SOMMA (C2 / D2) ⇐ 1; 0; 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 di questa formula può essere difficile da estrarre a prima vista.

Aspetto della formula con tabella e nessuna formula UDF:

SE (SOMMA ([@ [Vendite annuali]] / [@ Salario]) ⇐ 1; 0; SE (SOMMA ([@ [Vendite annuali]] / [@ Salario])> = 3; SOMMA [@ [Vendite annuali]] – [@ Salary]) 0,03); IF (AND (SUM ([@ [Yearly sales]] / [@ Salary])> 1; SUM ([@ [Yearly sales]] / [@ Stipendio]) <3) = VERO; SOMMA (([@ [Vendite annuali]] – [@ Salario]) 0,02); 1)

Con le tabelle è diventato un po ‘più facile da leggere poiché si viene informati sulle 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_salario_to_vendita_ratio_and_return_bonus (vendite annuali come doppio, stipendio come doppio) Come doppia dimensione salary_to_sale_ratio As Double Dim bonus_factor As Double Dim return_bonus As Double salary_to_sale_ratario Case_ratio To 3 bonus_factor = 0.02 Case Is> 3 bonus_factor = 0.03 Case Else bonus_factor = 0 # End Seleziona return_bonus = (yearlySales – salary) * bonus_factor calcola_salary_to_sale_ratio_and_return_bonus = return_bonus End Function Uso della funzione Formula:

calcola_salario_a_vendita_ratio_and_return_bonus ([@ [Vendite annuali]]; [@ Salario])

Questo ti dice esattamente cosa sta succedendo a prima vista, e puoi sempre andare più a fondo nel codice per leggere le specifiche. In allegato c’è un file che mostra tutti e tre gli scenari