Krav:
- Grundläggande kunskaper i vba
- Användning av tabeller/namngivna intervall
När du arbetar med arbetsböcker på och av, ibland månader mellan återbesök till arbetsboken kan det vara svårt att komma ihåg datastrukturen och formeln.
Så här kringgår jag detta problem och ser till att jag inom några minuter får en överblick över beräkningarna.
I detta exempel kommer jag att visa hur en formel för att beräkna bonusar kan förenklas.
Formelutseende utan bord eller UDF
Formel:
= IF (SUM (C2/D2) = 3; SUM ((C2-D2)*0,03); IF (AND (SUM (C2/D2)> 1; SUM (C2/D2) <3) = TRUE; SUMMA ((C2-D2)*0,02); 1)))
Logiken i denna formel kan vara svår att extrahera vid första anblicken.
Formelutseende med bord och ingen UDF
Formel:
= IF (SUM ([@[Årlig försäljning]]/[@Lön]) = 3; SUM (([@[Årlig försäljning]]-[@Lön])*0,03); IF (AND (SUM ([ @[Årlig försäljning]]/[@Lön])> 1; SUMMA ([@[Årsförsäljning]]/[@Lön]) <3) = SANT; SUM (([@[Årlig försäljning]]-[@Lön ])*0,02); 1)))
Med tabeller blev det bara lite lättare att läsa när du informeras om de celler som används i beräkningen
Formelutseende med bord och UDF
Användardefinierad funktion infogad i en modul:
'Jag kommer hellre att ha långa och beskrivande funktionstitlar än korta och obeskrivliga titlar
Funktion calculate_salary_to_sale_ratio_and_return_bonus (årlig försäljning som dubbel, lön som dubbel) som dubbel
Dim lön_till_försäljnings_förhållande som dubbel
Dim bonus_factor As Double
Dim return_bonus As Double
lön_till_försäljningsförhållande = årlig Försäljning / lön
Välj Fall lön_till_försäljnings_förhållande
Fall 1 till 3
bonus_faktor = 0,02
Fall är> 3
bonus_faktor = 0,03
Case Else
bonus_faktor = 0#
Avsluta Välj
return_bonus = (årlig försäljning - lön) * bonus_faktor
calculate_salary_to_sale_ratio_and_return_bonus = return_bonus
Avsluta funktion
Användning av funktionen
Formel:= calculate_salary_to_sale_ratio_and_return_bonus ([@[Årlig försäljning]]; [@Lön])Detta berättar exakt vad som händer vid en första anblick, och du kan alltid gå djupare in i koden för att läsa detaljerna. Bifogad är en fil som visar alla tre scenarierna