Krav:
- Grundlæggende viden om vba
- Brug af tabeller/navngivne områder
Når du arbejder med projektmapper til og fra, nogle gange måneder mellem genbesøg af projektmappen kan det være svært at huske datastrukturen og formlen, der er oprettet.
Sådan omgås dette problem og sikrer, at jeg inden for få minutter får et overblik over de udførte beregninger.
I dette eksempel vil jeg vise, hvordan en formel til beregning af bonusser kan forenkles.
Formeludseende uden bord eller UDF
Formel:
= HVIS (SUM (C2/D2) = 3; SUM ((C2-D2)*0,03); HVIS (OG (SUM (C2/D2)> 1; SUM (C2/D2) <3) = SAND; SUM ((C2-D2)*0,02); 1))))
Logikken i denne formel kan være svær at udtrække ved første øjekast.
Formeludseende med bord og uden UDF
Formel:
= HVIS (SUM ([@[Årligt salg]]/[@Løn]) = 3; SUM (([@[Årligt salg]]-[@Løn])*0,03); HVIS (OG (SUM ([ @[Årligt salg]]/[@Løn])> 1; SUM ([@[Årligt salg]]/[@Løn]) <3) = SAND; SUM (([@[Årligt salg]]-[@Løn ])*0,02); 1)))
Med tabeller blev det bare lidt lettere at læse, da du bliver informeret om de celler, der blev brugt i beregningen
Formeludseende med bord og UDF
Brugerdefineret funktion indsat i et modul:
'Jeg vil hellere have lange og beskrivende funktionstitler end korte og ubeskrivende titler
Funktion beregne_løn_til_salg_forhold_og_return_bonus (årligtSalg som dobbelt, løn som dobbelt) som dobbelt
Dim løn_til_salgsforhold som dobbelt
Dim bonus_factor som dobbelt
Dim return_bonus som dobbelt
løn_til_salgsforhold = årligSalg / løn
Vælg Sag løn_til_salgsforhold
Sag 1 til 3
bonus_faktor = 0,02
Sag er> 3
bonus_faktor = 0,03
Sag ellers
bonus_faktor = 0#
Afslut Vælg
return_bonus = (yearlySales - løn) * bonus_factor
calculate_salary_to_sale_ratio_and_return_bonus = return_bonus
Afslut funktion
Brug af funktionen
Formel:= beregne_løn_til_salg_forhold_og_return_bonus ([@[Årligt salg]]; [@Løn])Dette fortæller dig præcis, hvad der sker ved første øjekast, og du kan altid gå dybere ind i koden for at læse detaljerne. Vedhæftet er en fil, der viser alle tre scenarier