Caracteristicile numerelor rotunjite în VBA Excel. Folosind instrucțiunea rotundă și funcția foaie de lucru încorporată - WorkheetFunction.Round.
Declarația rotundă
Și știți că atunci când utilizați operatorul rotund pentru a rotunji numerele din Excel VBA, puteți obține absolut rezultatul greșit pe care l-ați așteptat? Și chiar așa este!
Copiați următoarea procedură în modulul VBA și rulați-o:
În consecință, veți primi acest lucru:
E uimitor, nu-i așa? Cum sa întâmplat?
Faptul este că operatorul Runda efectuează rotunjire "contabilă" (sau "bancară"), care este proiectată pentru un număr mare de astfel de operațiuni pentru a reduce eroarea la un nivel minim. Acest lucru se realizează datorită faptului că operatorul utilizează Runda la o regulă de rotunjire, diferit de ceea ce știm de la școală, când să rotunjească numărul crește cu unul în cazul în care numărul de capturi aruncate înapoi este de cinci. Esența rotunjirii folosind Runda operatorul este că, dacă turnat înainte de cinci standuri un număr impar, este majorat cu unul (rotunjire), iar atunci când se confruntă cu un număr par, nu crește (rotunjit în jos).
Puteți, de asemenea, formula "rotunjire contabilă" astfel: atunci când renunță la cele cinci, numărul este rotunjit la cel mai apropiat număr par. Rețineți că în rezultatele exemplului nostru toate numerele obținute sunt egale.
Verificați eroarea:
- Suma numerelor inițiale: 1.5 + 2.5 + 3.5 +4.5 = 12
- Suma numerelor rotunjite: 2 + 2 + 4 + 4 = 12
Rezultatul a fost perfect pentru exemplul dat, deoarece sumele numerelor originale și rotunjite sunt egale.
Operator WorkheetFunction.Round
Dacă aveți nevoie de rotunjire convențională, utilizați funcția built-in foaie de lucru - WorkheetFunction.Round.
Copiați procedura la modulul VBA utilizând WorksheetFunction.Round și rulați-l:
Rezultatul va fi următorul:
Sa dovedit că ne-am așteptat.
- Suma numerelor inițiale: 1.5 + 2.5 + 3.5 +4.5 = 12
- Suma numerelor rotunjite: 2 + 3 + 4 + 5 = 14
Rezultatul este evident - în acest caz suma numerelor rotunjite este de 2 unități mai mare decât suma celor originale.
Din acest rezultat, se poate concluziona că „bancar“ rotunjire folosind Runda operatorul dă rezultate mai precise în operațiuni masive cu numere rotunjite. Dar în viața de zi cu zi, rotunjirea obișnuită este mai frecventă.
Alegeți rotunjirea care vă convine cel mai bine pentru sarcina la îndemână!