Zahtjevi:
- Osnovno poznavanje vba
- Korištenje tablica/imenovanih raspona
Prilikom rada s radnim bilježnicama i van njih, ponekad mjesecima između ponovnog pregleda radne knjige može biti teško sjetiti se strukture podataka i postavljene formule.
Ovako zaobilazim ovaj problem i osiguravam da ću u roku od nekoliko minuta imati pregled izvršenih izračuna.
U ovom primjeru pokazat ću kako se formula za izračunavanje bonusa može pojednostaviti.
Izgled formule bez tablice ili UDF -a
Formula:
= IF (SUM (C2/D2) = 3; SUM ((C2-D2)*0,03); IF (I (SUM (C2/D2)> 1; SUM (C2/D2) <3) = ISTINA; SUM ((C2-D2)*0,02); 1)))
Logiku u ovoj formuli može biti teško izvući na prvi pogled.
Izgled formule s tablicom i bez UDF -a
Formula:
= IF (SUM ([@[Godišnja prodaja]]/[@Plaća]) = 3; SUM (([@[Godišnja prodaja]]-[@Plaća])*0,03); IF (I (SUM ([ @[Godišnja prodaja]]/[@Plaća])> 1; SUM ([@[Godišnja prodaja]]/[@Plaća]) <3) = ISTINA; SUM (([@[Godišnja prodaja]]-[@Plaća ])*0,02); 1)))
S tablicama je postalo malo lakše čitati jer ste obaviješteni o ćelijama koje se koriste u izračunu
Izgled formule s tablicom i UDF -om
Korisnički definirana funkcija umetnuta u modul:
'Radije ću imati dugačke i opisne nazive funkcija nego kratke i neopisive naslove
Funkcija izračunaj_plaću_za_prodaju_razmjer_i_povratak_bona (godišnjeProdaja kao dvostruka, plaća kao dvostruka) kao dvostruka
Umanji plaću_za_prodaju kao dvostruku
Dim bonus_factor As Double
Dim return_bonus kao dvostruko
plate_to_sale_ratio = yearlyProdaja / plaća
Odaberite Slučaj plaća_to_sale_ratio
Slučaj 1 do 3
bonus_faktor = 0,02
Slučaj je> 3
bonus_faktor = 0,03
Slučaj Inače
bonus_factor = 0#
Kraj Odaberite
povrat_bona = (godisnjaprodaja - placa) * faktor_bonusa
izračunaj_platu_u_prodaju_omjer_i_povratak_bonus = povratak_bonus
Završna funkcija
Korištenje funkcije
Formula:= izračunaj_platu_za_odnos_prodaje_i_povraćaja_bona ([@[Godišnja prodaja]]; [@Plaća])To vam na prvi pogled govori točno što se događa, a uvijek možete dublje ući u kôd kako biste pročitali pojedinosti. U prilogu je datoteka koja prikazuje sva tri scenarija