Zahteve:
- Osnovno poznavanje vba
- Uporaba tabel/imenovanih obsegov
Pri delu z vklopljenimi in izklopljenimi delovnimi zvezki je včasih težko zapomniti strukturo podatkov in nastavljeno formulo.
Tako se rešim te težave in zagotovim, da bom v nekaj minutah imel pregled opravljenih izračunov.
V tem primeru bom pokazal, kako je mogoče formulo za izračun bonusov poenostaviti.
Videz formule brez tabele ali UDF
Formula:
= IF (SUM (C2/D2) = 3; SUM ((C2-D2)*0,03); IF (AND (SUM (C2/D2)> 1; SUM (C2/D2) <3) = TRUE; SUM ((C2-D2)*0,02); 1)))
Logiko v tej formuli je na prvi pogled težko razbrati.
Videz formule s tabelo in brez UDF
Formula:
= IF (SUM ([@[Letna prodaja]]/[@Plača]) = 3; SUM (([@[Letna prodaja]]-[@Plača])*0,03); IF (IN (SUM ([ @[Letna prodaja]]/[@Plača])> 1; SUM ([@[Letna prodaja]]/[@Plača]) <3) = TRUE; SUM (([@[Letna prodaja]]-[@Plača ])*0,02); 1)))
S tabelami je postalo malo lažje brati, ko ste obveščeni o celicah, uporabljenih pri izračunu
Videz formule s tabelo in UDF
Uporabniško določena funkcija, vstavljena v modul:
'Raje bom imel dolge in opisne naslove funkcij kot kratke in neopisne naslove
Funkcija izračunavanje_sala_to_sale_ratio_and_return_bonus (letnoProdaja kot dvojna, plača kot dvojna) kot dvojna
Dim plate_to_sale_ratio As Double
Zatemni bonus_factor kot dvojno
Zatemni return_bonus kot dvojno
plate_to_sale_ratio = letnaProdaja / plača
Izberite Primer plače_to_sale_ratio
Primer 1 do 3
bonus_factor = 0,02
Primer je> 3
bonus_factor = 0,03
Primer drugače
bonus_factor = 0#
Konec Izberite
return_bonus = (letnaprodaja - plača) * faktor faktorja bonus
izračunaj_salato_to_sale_ratio_and_return_bonus = return_bonus
Končana funkcija
Uporaba funkcije
Formula:= izračun_sala_to_sale_ratio_and_return_bonus ([@[Letna prodaja]]; [@Plača])To vam na prvi pogled pove, kaj se dogaja, in vedno lahko poglobite kodo, da preberete podrobnosti. Priložena je datoteka, ki prikazuje vse tri scenarije