Documente Academic
Documente Profesional
Documente Cultură
Cuprins
Capitolului 2 FUNCII DE CALCUL TABELAR
Obiectivele Capitolului 2
2.1 Funcii matematice Funcii algebrice Funcii de rotunjire 2.2 Funcii statitice 2.3 Funcii logice 2.4 Funcii de informare 2.5 Funcii de dat i timp 2.6 Funcii text 2.7 Funcii de cutare i consultare 2.8 Funcii financiare
Bibliografia Capitolului 2
2.1 Funcii matematice Unele funcii predefinite sunt echivalente formulelor simple, ce opereaz cu adrese de celule sau nume de cmpuri la care aplic operatori matematici: de exemplu, formula de adunare a coninutului celulelor A1, A2 i A4 ( =A1+A2+A4) este echivalent cu funcia =SUM(A1:A2;A4). Alte funcii (n majoritatea cazurilor) nu au echivalent n rndul formulelor simple, rezultatul scontat neputnd fi obinut dect prin intermediul funciilor predefinite sau putnd fi obinut pe cale obinuit, prin aplicarea succesiv a mai multor operaii i formule. Folosirea funciilor predefinite este supus unor reguli foarte stricte, a cror nerespectare poate conduce la un rezultat incorect sau generator de eroare.
Toate funciile Excel au trei componente (ilustrate n Figura 1): semnul = "egal"); numele funciei; unul sau mai multe argumente.
=Numefuncie([argument(e)])
Funciile pot avea ca argument(e) i alte func ii (se pot imbrica): RIGHT(C47;LEN(C47)-SEARCH(" ";C47)) Majoritatea func iilor au mai multe argumente: =IF(C2>5;B2*9;Eroare), etc.
Figura 1 Sintaxa general a unei funcii Excel ntre cele trei componente ale funciilor predefinite nu se admite ca separator nici un spaiu. Argumentele se afl nchise ntre paranteze rotunde i sunt separate prin intermediul unui separator de argumente.
Acest separator poate fi virgul sau punct i virgul, dup cum au fost configurai parametrii regionali
(de localizare) ai sistemului de operare Windows XP (Start Settings Control Panel Regional and Language Options caseta de dialog Regional and Language Options tabul Regional Options). n exemplele luate, se va lua n consideraie ca separator de argumente caracterul "punct i virgul". Exemplul urmtor ilustreaz diferite tipuri de argumente care se pot ntlni la o funcie predefinit:
Funcie predefinit =SUM(A2:A7) =SUM(A2:A7;A9;A11:A20) =AVERAGE(note) =MAX(59;36;84) =IF(A1=A2; TRUE();FALSE()) =INT(SUM(D1:D9)) =UPPER("Popa") =REPT("Examen",3) Tip argument plaj continu de celule plaj discontinu de celule cmp numit note list de constante numerice condiii i valori logice funcie predefinit ir de caractere ir de caractere i valoare numeric
Excel accept urmtoarele tipuri de argumente: condiie: este o expresie logic care folosete unul din operatorii logici =, <, >, <>, <=, >=, NOT(), AND(), OR() pentru o adres de celul sau un nume de cmp. Condiia argumentului poate fi deci o formul, un numr, un nume de cmp, un ir de caractere. Funcia evalueaz condiia i execut diferite operaii n funcie de faptul dac aceasta este adevrat sau fals. locaie: se identific generic sub forma unei referine celulare sau de cmp, unui nume de celul sau cmp, unei formule sau funcii care genereaz o adres sau un nume de cmp. un text: reprezint orice secven de caractere incluse ntre ghilimele, adresa sau un nume de cmp ce conine o etichet tip ir de caractere sau o formul sau funcie care returneaz o etichet de tip text. Un ir de caractere utilizat ca argument ntr-o funcie trebuie marcat ntre ghilimele pentru a nu fi confundat cu un nume de cmp. valoare: reprezint o constant numeric, adresa sau numele unei celule care conine un numr, o formul sau funcie predefinit care returneaz un numr; expresie: reprezint combinarea locaiilor, valorilor, operatorilor aritmetici i de comparaie pentru a reprezenta o condiie sau o aciune. Toate tipurile de argumente pot fi folosite mpreun ntr-o funcie atunci cnd sintaxa este respectat.
O funcie predefinit se poate introduce ntr-o celul n mod direct, tastnd-o ca atare (conform sintaxei) sau prin intermediul generatorului de funcii. n momentul tastrii numelui funciei, Excel pune la dispoziia utilizatorului n mod automat prin afiare interactiv (Figura 2), sintaxa i ordinea argumentelor funciei, marcnd cu caractere aldine (Bold) argumentul curent, aflat n curs de editare.
Figura 2 Modul interactiv de introducere a funciilor Cea mai simpl metod de editare a funciilor este reprezentat de introducerea n mod direct a funciilor predefinite, corespunztor sintaxei, n celula n care se va opera prelucrarea respectiv (metod recomandat).
Excel permite utilizatorului n anumite cazuri, introducerea unei funcii predefinite care s genereze rezultate multiple printr-o abordare matriceal. Editarea unei formule matriceale, presupune selectarea plajei de celule destinaie (cmpul gol ce va reprezenta rezultatul formulei), iar apoi, pe selecia fcut se va introduce formula ce conine funcia predefinit. ntr-o formul matriceal argumentele formulei pot fi definite fie la nivelul celulelor, fie la nivelul unor plaje de celule. La sfritul acestui demers, se va valida editarea funciei prin combinaia de taste Ctrl+Enter. Dac formula matriceal conine o funcie predefinit ce are ca argumente numai plaje de celule, atunci validarea formulei editate se va face prin combinaia de taste Ctrl+Shift+ Enter. O formul matriceal formeaz un tot unitar, nefiind posibil tergerea sau modificarea individual a uneia din celulele cmpului matriceal. Pentru a executa o modificare, este necesar a se selecta n prealabil cmpul matriceal, iar apoi s se efectueze respectiva modificare, dup care s se activeze din nou combinaia de taste Ctrl+Enter. tergerea formulei implic selectarea ntregului cmp matriceal i acionarea tastei Delete sau a comenzii Edit Clear All. O alt posibilitate de introducere a funciilor predefinite este operaional prin intermediul selectorului de funcii aflat pe bara de editare sau activabil prin comanda Insert Function.
Figura 3 Casetele de dialog aferente selectorului de funcii i asistentului de sintax pentru funcia aleas
Din caseta de dialog Insert Function, funcia respectiv se alege, fie din lista funciilor cele mai utilizate (Most Recently Used), fie din lista tuturor funciilor disponibile ordonate alfabetic (All), sau din categoriile de funcii specializate (Financial, Date & Time, Math & Trig, Statistical ...), dup care se valideaz i se completeaz interactiv argumentele funciei prin intermediul asistentului de funcii Function Arguments (Figura 3). Apelarea selectorului de funcii se mai poate face i prin acionarea butonului =(egal) aflat pe bara de editare, dup care se deschide lista funciilor predefinite (cu ajutorul butonului de derulare aflat n partea stng a barei de editare) i se alege funcia dorit. Odat aleas funcia, se completeaz interactiv argumentele n caseta de dialog Function Arguments. De regul, utilizarea asistentului de funcii presupune parcurgerea a doi pai (conform exemplului prezentat n Figura 3-dreapta): pasul 1 semnific alegerea tipului de funcie; pasul 2 presupune completarea interactiv a argumentelor impuse de sintaxa funciei respective i validarea aciunii.
Excel posed un set impresionant de funcii predefinite, n numr de peste 250, grupate pe tipuri de funcii potrivit utilitii acestora la rezolvarea diferitelor probleme i aplicaii. Astfel, n rezolvarea aplicaiilor EXCEL considerm suficient, prezentarea a celor mai importante 175 de funcii predefinite, grupate pe urmtoarele categorii: funcii matematice (Madh & Trig): permit efectuarea de calcule algebrice, trigonometrice i de rotunjire a rezultatului acestor calcule; funcii statistice (Statistical) : permit efectuarea unor calcule statistice utiliznd distribuii de date pe serii de valori; funcii logice (Logical): permit evaluarea unor condiii, determinnd valoarea de adevr sau de fals - corespunztor acesteia; funcii de informare (Information): afieaz informaii despre celule i cmpuri; funcii dat calendaristic sau timp (Date & Time) : manipuleaz numere care reprezint date calendaristice sau valori timp; funcii de cutare i consultare (Lookup & Reference): permit identificarea informaiei coninute n celule sau cmpuri i extragerea acesteia; funcii text sau ir de caractere (Text): ofer informaii legate de irurile de caractere existente n celule i permit efectuarea diferitelor operaii cu iruri sau valori, evalund valorile poziionale ale acestora; funcii baz de dat (Database): efectueaz diferite calcule de grup asupra unor rubrici, ntr-o baz de date, corespunztor unor criterii definite; funcii economico-financiare (Financial): permit realizarea de calcule economico-financiare predefinite. n continuare, prezentm cele mai importante funcii predefinite, preciznd faptul c n cea mai mare a parte a lor sunt perfect compatibile ca sintax i semnificaie cu funciile arond (@) aferente procesorului de tabele LOTUS 1-2-3, parte a pachetului de aplicaii LotusSmartSuite, dezvoltat de IBM.
Funciile ma tema tice (Math & Trig ) Funciile Math&Trig permit efectuarea diferitelor calcule, de la cele mai simple la cele mai complexe, pentru rezolvarea de aplicaii ce solicit instrumente matematice i trigonometrice de uz curent. Funciile Math & Trig pot fi clasificate dup tipul de calcul efectuat, n urmtoarele categorii:
funcii algebrice; funcii trigonometrice; funcii de rotunjire a rezultatelor calculelor
Funcii a lgebrice
SUM, PRODUCT, SUBTOTAL, SUMPRODUCT, SUMIF, SUMIFS, LN, LOG, LOG10, EXP, MOD, FACT, ROMAN, RAND, RANDBETWEEN, ABS, QUOTIENT, GCD, LCM, COMBIN, MMULT, MINVERSE, MDETERM
Calcul area unui produs.
Funcia Sintax
PRODUCT =PRODUCT(list_de_elemente)
celule, rezultate ale formulelor sau nume de cmpuri. Rezultat O valoare numeric ce reprezint produsul elementelor listei. returnat
Calcul area unei sume.
Funcia Sintax
SUM =SUM(list_de_elemente)
Funciile generate de opiunile butonului de comand AutoSum permit nsumarea pe linie sau pe coloan a valorilor adiacente (valorile nu trebuie s fie ntrerupte n succesiunea lor de celule vide sau de celule care s conin text), calculul mediei, a numrului de elemente numerice dintr-o serie de date, a celei mai mari / mici valori dintr-o list, precum i accederea ctre alte funcii predefinite (opiunea More Functions). Pot exista mai multe tehnici de utilizare a funciei de nsumare automat: Se plaseaz cursorul acolo unde se dorete a se calcula suma (Figura 5) i se activeaz butonul AutoSum prin dublu-clic (la primul clic se afieaz sintaxa funciei, iar la al doilea se afieaz rezultatul). Dac plaja de celule conine discontinuiti (celule vide), suma automat opereaz calculul de la prima celul vid, pn n celula n care este plasat cursorul (Figura 6).
nsumarea automat poate opera i prin selecia explicit a plajei de celule (A11:A19, din Figura 7 pentru care se dorete efectuarea calculului, urmat de activarea butonului AutoSum. Rezultatul calculului se depune automat n celula situat imediat sub (sau la dreapta n cazul unui cmp orizontal) plaja de celule (A20). Observaie : aceast tehnic are avantajul faptului c pot fi operate calcule corecte n condiiile n care plaja de celule conine celule vide.
A14:Celul vid
Figura 7 Suma automat realizat prin selecia explicit a unei plaje de celule (continue sau discontinue) Se selecteaz plaja de celule de nsumat (Figura 8), inclusiv zona n care se vor plasa rezultatele nsumrii (o linie de celule mai jos i/sau o coloan de celule la dreapta), dup care se activeaz butonul AutoSum prin dublu-clic.
Funcia Sintax
SUMPRODUCT =SUMPRODUCT(list_de_cmpuri)
list_de_cmpuri reprezint un grup de cmpuri (cel puin dou) ce conin elemente care se vor nmuli poziional unele cu altele (primul element din primul cmp se va nmuli cu primul element din al doilea cmp, al doilea element din primul cmp se va nmuli cu al doilea element din al doilea cmp i aa mai departe). Rezultat O valoare numeric ce reprezint suma produselor cmpurilor listei. Altfel spus, returnat rezultatul funciei provine din multiplicarea valorilor situate n cmpurile specificate, dup care sunt adunate agregatele obinute anterior.
Observaie. Grupul de cmpuri (organizat pe linie sau pe coloan) trebuie s conin aceleai numr de elemente. Calcul area unei sume n funcie de evaluarea unei condiii.
Funcia Sintax
cmpuri. Asupra acestui argument opereaz condiia specificat de argumentul urmtor; criteriul_selecie reprezint o condiie impus cmpului de evaluat, care se specific sub form de ir de caractere (ntre ghilimele); [cmp_de_nsumat] este argumentul care desemneaz cmpul care va fi nsumat n funcie de evaluarea condiiei precizate de al doilea argument. Dac acest argument lipsete, cmpul de nsumat va fi chiar c mpul de evaluat. Rezultat Suma elementelor unei liste n funcie de evaluarea unei condiii precizate. returnat
Calcul area unei sume n funcie de evaluarea mai multor condii i.
Funcia Sintax
criteriul_selecie_1 [;cmp_de_evaluat_2;criteriul_selecie_2]..........)
funcie de evaluarea condiiei sau condiiilor precizate. cmp_de_evaluat_1 reprezint o list compus din adrese de celule sau nume de cmpuri. Asupra acestui argument opereaz condiia specificat de argumentul urmtor; criteriul_selecie_1 reprezint o condiie impus cmpului de evaluat_1, care se specific sub form de egalitate sau restricie (ntre ghilimele); Rezultat Suma elementelor unei liste n funcie de evaluarea mai multor condiii returnat precizate.
Figura 9 ilustreaz cteva exemple de utilizare a funciilor PRODUCT, SUM, SUMPRODUCT, SUMIF i SUMIFS. Funcia PRODUCT calculeaz n celula E10, iar apoi n cmpul E11:E15 produsul dintre cantitile (C10:C15) i preurile (D10:D15) aferente fiecrui produs. Funcia SUM calculeaz n celulele E16 i E17 suma elementelor discontinue (E16) i continue (E17) ale unei liste de valori. Funcia SUMPRODUCT editat n celula E18, calculeaz produsele elementelor cmpului Cantitate (C10:C15) i Pre (D10:D15), adun rezultatele intermediare i nmulete agregatul format cu valoarea cursului Euro (din celula B7).
Funcia SUMIF calculeaz n celula E19 suma valorilor facturate n cuantum de peste 5.000 lei (se observ faptul c lipsete argumentul cmp_de_nsumat, deoarece condiia a fost pus chiar pe cmpul_de _evaluat). A doua funcie SUMIF calculeaz n celula E20 suma valorilor facturate pentru care preul n Euro este mai mic dect 35. Funciile de nsumare condiionate multiplu, SUMIFS calculeaz n celula E21 suma valorilor cuprinse ntre dou intervale i n E22 suma valorilor pentru cantiti mai mari de 50 i preuri mai mici de 25 .
n momentul validrii aciunii prin butonul OK, ribbon-ul tabului Formulas este actualizat prin adugarea butonului de comand Conditional Sum.
Etapele (ilustrate n Figura 10) prin care asistentul grafic construiete funcia de nsumare condiional SUMIF, pentru calcularea sumei valorilor facturate pentru care preul n Euro este mai mic dect 35, sunt urmtoarele:
Figura 10 nsumarea condiional prin intermediul unui asistent grafic Step 1 of 4 selecteaz plaja de celule (D9:E15) ce conine coloana de nsumat (Valoare) i coloana (Pre) sau coloanele de evaluat (pe baza crora se construiete condiia). Selecia plajelor de celule cuprinde etichetele cmpurilor (numele cmpurilor) i domeniul de valori aferent.
Step 2 of 4 selecteaz (din lista derulant) n partea superioar a casetei de dialog numele (eticheta) coloanei (Valoare) ce conine valoarea de nsumat, iar n partea inferioar permite construirea unei condiii. Restricia la care trebuie s rspund cmpul de criterii se declar selectnd numele coloanei restricionate (Column), operatorul de comparaie (Is) i valoarea de comparaie (This value). Aceasta din urm poate fi selectat din lista derulant, potrivit elementelor existente n domeniul respectiv sau poate fi tastat ca atare ca i constant numeric. Se recomand ca n cazul valorilor numerice crora li s-a aplicat un format explicit, s se introduc numai valoarea numeric de comparaie, fr eticheta explicativ (se va introduce 35 i nu 35 cum propune respectiva rubric). Dup ce condiia a fost construit, aceasta se valideaz prin acionarea butonului Add Condition. Acest demers (stabilire condiie + validare) poate avea caracter repetitiv, urmnd ca nsumarea condiional s evalueze mai multe condiii (fapt imposibil de realizat pentru funcia SUMIF).
Step 3 of 4 permite ramificarea execuiei n funcie de faptul dac se dorete numai afiarea rezultatului nsumrii condiionale (opiunea: Copy just a formula to a single cell) sau afiarea rezultatului mpreun cu elementele ce desemneaz restriciile impuse (opiunea Copy the formula and conditional values).
n varianta alegerii opiunii Copy just a formula to a single cell, etapa Step 4 of 4 permite alegerea amplasamentului (adresa celulei) n care s se copieze rezultatul nsumrii condiionale i implicit funcia SUMIF; o n varianta alegerii opiunii Copy the formula and conditional values, etapele: Step 4/5 of 5 permit specificarea amplasamentelor pentru copierea restriciilor impuse cmpului de criterii.
Calcul area logaritmi lor.
Funcia Sintax
LN =LN(numr)
conine. Rezultat O valoare numeric ce reprezint logaritmul natural al unui numr specificat returnat ca argument.
L OG =LOG(numr;[baz])
Funcia Sintax
LOG10 =LOG10(numr)
conine. Rezultat O valoare numeric ce reprezint logaritmul unui numr n baza 10. returnat
Calcul ul exponentului .
Funcia Sintax
EXP =EXP(numr)
conine. Constanta numeric reprezint exponentul aplicat la baza e. Rezultat O valoare numeric ce reprezint baza logaritmul natural a unui numr,
11
returnat
Observaii.
ridicat la exponentul X.
a. Baza este o constant i are valoarea 2,7182818. b. Pentru a se calcula puterea bazei, se utilizeaz operatorul exponenial (^). Funcia EXP este opusul funciei ce calculeaz logaritmul natural al unui numr.
Figura 11 ilustreaz modul de calcul a logaritmilor naturali, ntr-o baz specificat, n baz 10, precum i exponentul unui numr ce returneaz logaritmul natural.
Funcia Sintax
ABS =ABS(numr)
Funcia Sintax
FACT =FACT(numr)
Funcia Sintax
putere reprezint o constant numeric ce semnific exponentul. Rezultat O valoare ce reprezint un numr ridicat la puterea specificat de
12
returnat
argument.
Observaie. Pentru a se ridica un numr la o putere, printr-o formul simpl, se utilizeaz operatorul exponenial (^).
Calcul area rdcinii ptrate dintr-un numr.
Funcia Sintax
SQRT =SQRT(numr)
Funcia Sintax
Funcia
RAND
13
Sintax
= RAND()
fr argument
Rezultat Un numr aleator cuprins ntre 0 i 1. returnat
Funcia Sintax
La fiecare proces de recalcul, funciile RAND i RANDBETWEEN vor returna n mod aleator o nou valoare. Excel recalculeaz toate formulele sale i actualizeaz rezultatele odat cu orice intrare efectuat ntr-una dintre celulele sale. Procesul de recalcul poate fi activat explicit i de ctre utilizator, odat cu acionarea tastei funcionale F9. Dac se dorete ca numerele aleatoare generate s nu mai fie nlocuite cu altele noi la fiecare proces de recalcul, se recomand transformarea rezultatelor funciilor RAND sau RANDBETWEEN n constante numerice prin convertirea acestor formule n valori (comanda Home Copy la surs i Paste opiunea Paste Values). n Excel, funcia RANDBETWWEN nu este disponibil n mod implicit. Aceasta se instaleaz la cererea utilizatorului, prin ncrcarea unor componente. Acest demers este operaional prin comanda Office Button > Excel Options, tabul Add Ins > opiunea Analysis ToolPak. Figura 14 ilustreaz un exemplu prin care o societate comercial de distribuie organizeaz o tombol cu ocazia promovrii unui produs, ocazie cu care desemneaz 5 ctigtori ntr-o ordine aleatoare.
Funcia
QUOTIENT
14
Sintax
=QUOTIENT(demprit ; divizor)
Funcia Sintax
n exemplul ilustrat n Figura 16 este prezentat o formul ce afieaz dac un numr este par sau impar, dup cum acesta se divide cu 2 (rest 0) sau nu (rest 1).
Funcia Sintax
GC D =GCD(list_de_elemente)
15
Funcia Sintax
LCM =LCM(list_de_elemente)
list_de_elemente reprezint o list compus din constante numerice, celule, rezultate ale formulelor sau nume de cmpuri. Rezultat O valoare ce este cel mai mic numr ntreg care este multiplu comun pentru returnat lista de elemente numerice specificate.
Figura 17 ilustreaz dou moduri de utilizare n care opereaz funciile ce returneaz cel mai mare divizor comun (CMMDC) i cel mai mic multiplu comun (CMMMC).
n Figura 18 este ilustrat un exemplu prin care se dorete s se constituie echipe de control fiscal pentru sectoarele 1 i 6 din Municipiul Bucureti, cunoscnd numrul total de controlori fiscali disponibili pentru fiecare sector n parte i numrul de controlori fiscali ce fac parte din fiecare echip de control.
16
Funcia Sintax
MMULT =MMULT(matrice_A;matrice_B)
matrice_A i matrice_B reprezint dou matrice. Rezultat O matricea produs ce are attea linii cte are prima matrice (A) i attea returnat coloane cte are a doua matrice (B).
Observaii.
Numrul de coloane aferente primei matrice trebuie s fie egal cu numrul de linii aferente celei de a doua matrice. Astfel, fiecare element (i,j) al matricei produs, reprezint suma produselor termen cu termen a elementelor liniei i aferente primei matrice, cu elementele coloanei j, aferente celei de a doua matrice. Formula ce conine funcia MMULT se va introduce n form matriceal. Un exemplu de produs a dou matrice este prezentat n Figura 19.
Funcia Sintax
MINVERSE =MINVERSE(matrice)
Formula ce conine funcia MINVERSE se va introduce n form matriceal. Produsul unei matrice cu matricea sa invers returneaz matricea nul. Un exemplu de calcul a matricei inverse i de nmulire a acesteia cu matricea iniial este prezentat n Figura 20.
17
Prezentm de exemplu, un sistem de 4 ecuaii cu 4 necunoscute, care se poate scrie A*X=B, unde:
2x 3x x -x
-3 y +4y -7 y +3y
- z +5z +4z + z
+ t - t +4t +6t
= = = =
-30 18 -16 9
A este matricea coeficienilor x, y, z, t; X este vectorul ce reprezint necunoscutele sistemului de ecuaii: x, y, z, t; B este vectorul celui de al 2-lea membru, din dreapta: -30, 18, -16, 9.
Dac determinantul matricei A este diferit de zero, matricea A este ireversibil, atunci soluia sistemului de ecuaii se scrie: X = A-1*B, unde: A-1*B este produsul matricei inverse a lui A de nmulit cu B. Figura 21 ilustreaz modul cum sunt organizate cmpurile ntr-o foaie de calcul, calculul matricei inverse a lui A i nmulirea acesteia cu vectorul B.
Figura 21 Exemplu de rezolvare prin calcul matriceal a unui sistem de ecuaii lineare cu n necunoscute
Calcul area determinantului unei matrice.
Funcia Sintax
MDETERM =MDETERM(matrice)
matrice reprezint o matrice stocat ntr-un tablou de date. Rezultat Valoarea determinantului unei matrice. returnat
Un exemplu de calcul a determinantului unei matrice este prezentat n Figura 22.
18
Figura 22 Exemplu de utilizare a funciei MDETERM Funcii de rotunjire a rezulta telor calculelo r
ROUNDUP, ROUNDOWN, ROUND, INT, TRUNC, EVEN, ODD, FLOOR, CEILING, MROUND
Rotunjirea pri n adaos/lips a unui numr ctre zero.
expresii de calcul, referina celular sau numele celulei ce conine aceste elemente; +/- constant de ro tunjire semnific o valoare poziional la care s se efectueze rotunjirea. Rezultat O valoare numeric rotunjit prin adaos/lips la o anumit valoare returnat poziional.
Observaie. Dac semnul constantei de rotunjire este negativ (-), rotunjirea opereaz la partea ntreag, n stnga separatorului zecimal (de exemplu: -3=mii, -2=sute, -1=zeci, 0=ntreg). Dac semnul constantei este pozitiv (+), rotunjirea opereaz la partea zecimal, n dreapta separatorului zecimal (de exemplu: 3=miimi, 2=sutimi, 1=zecimi). Figura 23 prezint un exemplu de rotunjire prin lips a valorii veniturilor din exploatare aferente unui cont de profit i pierdere (la diferite valori poziionale) i un exemplu de rotunjire prin adaos a cheltuielilor de exploatare aferente aceluiai document financiar. Rotunjirea unei valori numerice pri n adaos sau lips.
Funcia Sintax
expresii de calcul, referina celular sau numele celulei ce conine aceste elemente; +/- constant de rotunjire semnific o valoare poziional la care s se efectueze rotunjirea. Rezultat O valoare numeric rotunjit la o valoare poziional. returnat
Observaie. Rotunjirea valorilor numerice se face prin adaos sau lipsa, dup cum valorile poziionale de la care pleac rotunjirea sunt mai mari sau egale dect 5 (rotunjire prin adaos) sau mai mici dect 5 (rotunjire prin lips). Dac semnul constantei de rotunjire este negativ (-), rotunjirea opereaz la partea ntreag, altfel, dac semnul constantei este pozitiv (+), rotunjirea opereaz la partea
19
zecimal. Dac valoarea constantei de rotunjire este zero, atunci rotunjirea va opera la nivelul urmtoarei valori ntregi a numrului.
Funcia Sintax
INT =INT(numr_de_rotunjit)
Funcia Sintax
TRUNC =TRUNC(numr_de_trunchiat)
numr_de_trunchiat reprezint o constant numeric cu zecimale, rezultatul unei expresii de calcul, referina celular sau numele celulei ce conine aceste elemente. Rezultat O valoare numeric trunchiat la nivelul prii sale ntregi, fr rotunjire.
returnat
n exemplul prezentat n Figura 24 se calculeaz vechimea n munc a unui salariat, ca diferen ntre data curent a sistemului i la data angajrii sale, raportndu-se rezultatul la numrul de zile dintr-un an (365). Numrul rezultat ce reprezint vechimea n ani, nu poate fi utilizat rotunjit n calculul sporului de vechime, deoarece prin acest calcul se poate accede ctre o alt trane de vechime necuvenit (24,73 ani devin la rotunjire 25 ani i deci se ncadreaz n alt tran de vechime). Din aceste motive, se recomand ca rezultatul calculului de vechime s fie trunchiat la partea ntreag sau s fie rotunjit prin lips la nivelul prii ntregi a rezultatului.
20
Funcia Sintax
EVEN =EVEN(numr_de_rotunjit)
Funcia Sintax
calcul, referina celular sau numele celulei ce conine aceste elemente. Rezultat O valoare numeric rotunjit prin adaos ctre cel mai apropiat numr returnat ntreg impar.
Rotunjirea unui numr prin l ips sau adaos, ctre zero, pentru cel mai apropiat multi plu sau submultiplu de rotunjire.
Funcia Sintax
calcul, referina celular sau numele celulei ce conine aceste elemente; multiplu_de_rotunjire reprezint o constant numeric ntreag ce semnific un multiplu de rotunjire. submultiplu_de_rotunjire reprezint o constant numeric zecimal ce inhib rotunjirea n mod poziional astfel: 0,001 se inhib rotunjirea miilor; 0,01 se inhib rotunjirea sutimilor; 0,1 se rotunjete la nivelul zecimilor. Rezultat O valoare numeric rotunjit prin lips (FLOOR) sau prin adaos returnat (CEILING) n funcie de un multiplu sau submultiplu de rotunjire, corespunztor unei valori poziionale precizate.
21
Figura 25 ilustreaz funciile de rotunjire EVEN, ODD, FLOOR i CEILING n contextul unui exemplu ce prezint calculul mediei (AVERAGE) notelor (cmpul B13:B16 se numete Note) la un examen.
Figura 25 Exemplu de utilizare a funciilor EVEN, ODD, FLOOR i CEILING Rotunjirea unui numr la un mul tipl u ce corespunde unei valori numeri ce inferi oare sau superioare numrului real .
Funcia Sintax MROUND =MROUND(numr_de_rotunjit;multiplu_de_rotunjire)
calcul, referina celular sau numele celulei ce conine aceste elemente; multiplu_de_rotunjire reprezint o constant numeric ntreag ce semnific un multiplu de rotunjire. Rezultat O valoare numeric rotunjit prin adaos sau prin lips ctre cel mai returnat apropiat multiplu de rotunjire.
Observaii:
Funcia MROUND rotunjete prin adaos un numr, ctre urmtorul multiplu de rotunjire, dac restul mpririi numrului la multiplu este mai mare sau egal cu jumtate din valoarea multiplului de rotunjire. Altfel spus, dac un numr de rotunjit este mai aproape de limita superioar a intervalului (sau este egal cu mijlocul acestuia) dintre doi multipli consecutivi de rotunjire aplicai numrului, atunci rotunjirea va fi fcut prin adaos ctre urmtorul (cel mai mare) multiplu de rotunjire. Dac un numr de rotunjit este mai aproape de limita inferioar a intervalului dintre doi multipli consecutivi de rotunjire aplicai numrului, atunci rotunjirea va fi fcut prin lips ctre cel mai mic multiplu de rotunjire. n Excel, funcia MROUND reprezint o component ce se instaleaz la cerere, prin comanda Office Button Excel Options Add-Ins opiunea Analysis ToolPak. Exemplul prezentat n Figura 26 ilustreaz modul n care este calculat un pre ce este rotunjit la diferii multipli de rotunjire (500, 1.000, 2.000, 3.000, 4.000 i 5.000 lei). n celula C28, preul (B28 = 681 lei) a fost rotunjit la un multiplu de 500 lei, rezultatul acestei operaii fiind de 6.500 lei.
22
Acelai raionament a fost aplicat de funcia MROUND i n celula C29, pentru rotunjirea preului editat n celula B29. Rotunjirea a fost efectuat prin lips la nivelul unui multiplu de 1.000 lei, deoarece vechiul pre (681 lei) era mai apropiat ca valoare de limita inferioar a intervalului (6.000 lei) dect de cea superioar (7.000 lei). n acest exemplu s-a confirmat regula potrivit creia rotunjirea
prin lips se aplic atunci cnd multiplul de rotunjire cel mai apropiat este inferior numrului ce se dorete a fi rotunjit.
Exemplul ilustrat de Figura 27 rotunjete preul de 681 lei (din celula B62) pentru diferii multipli de rotunjire declarai pe intervalul (A64:A68), fie prin adaos sau lips prin funcia MROUND editat n cmpul (B64:B68), fie explicit prin adaos prin funcia CEILING (C64:C68), fie explicit prin lips prin funcia FLOOR (C64:C68). De asemenea, aceeai figur mai prezint un exemplu de rotunjire prin lips la partea zecimal a unei medii aritmetice.
23
Figura 28 ilustreaz un exemplu de descrie un context n care un magazin dorete s rotunjeasc preurile reale ale produselor sale la diferii multipli de rotunjire, iar apoi s ajusteze aceste preuri la un nivel psihologic (preurile au terminaia 999, 990 sau 900). Formula editat n celula C31, testeaz dimensiunea n caractere a valorii preului, iar n funcie de rezultatul evalurii, rotunjete succesiv preul pe intervalele corespunztoare unui multiplu. De exemplu, dac preul are mai puin sau egal cu 4 caractere (ntre 1 i 9.999 lei), preul se rotunjete la un multiplu de 1.000 lei, dac preul are n componen 5 caractere (ntre 10.000 i 99.999 lei), acesta se rotunjete la un multiplu de 10.000 lei, dac preul are n componen 6 caractere (ntre 100.000 i 999.999 lei), acesta se rotunjete la un multiplu de 100.000 lei, iar dac preul are n componen mai mult de 6 caractere (peste 1.000.000 lei), rotunjirea va fi fcut la un multiplu de 1.000.000 lei.
Tot Figura 28 ilustreaz n celula D28 un exemplu de calcul al unui pre psihologic prin scderea unor uniti valorice de pre din preul rotunjit succesiv pe intervalele corespunztoare unui multiplu de rotunjire.
MAX, MIN, AVERAGE, AVERAGEIF, AVERAGEIFS, GEOMEAN, HARMEAN, MEDIAN, MODE, COUNT, COUNTA, COUNTIF, COUNTIFS, STDEVP, STDEVPA, STDEV, STDEVA, FREQUENCY, QUARTILE, VARP, VARPA, VAR, VARA, COVAR, CORREL, LINEST, FORECAST, TREND
24
Identi ficarea celei mai mari / mici valori dintr-o serie de date.
Funcia Sintax
M AX =MAX(list_de_elemente)
rezultate ale formulelor sau nume de cmpuri. Rezultat Valoarea cea mai mare dintr-o distribuie statistic de date. returnat
Funcia Sintax
MIN =MIN(list_de_elemente)
rezultate ale formulelor sau nume de cmpuri. Rezultat Valoarea cea mai mic dintr-o distribuie statistic de date. returnat
Calcul ul mediei aritmetice aferente unei serii statisti ce de date.
Funcia Sintax
AVERAGE =AVERAGE(list_de_elemente)
rezultate ale formulelor sau nume de cmpuri. Rezultat Media aritmetic dintr-o distribuie statistic de date. Media este calculat returnat ca o sum de elemente numerice raportat la numrul de elemente.
Observaii:
Dac un cmp pe care se calculeaz media conine celule vide, iruri de caractere, valori logice, aceste elemente nu sunt incluse la calcularea mediei. Dac se dorete includerea valorilor logice (TRUE sau FALSE) n calculul mediei aritmetice se va utiliza funcia AVERAGEA, care va echivala valoarea TRUE cu 1 i valoarea FALSE cu 0. a. Dac respectivul cmp pe care se calculeaz media conine valoarea zero, aceasta intr n calculul mediei. Dac lista de elemente pe care se calculeaz media este o mulime vid, atunci funcia AVERAGE va returna o valoare de eroare de tipul #DIV/0!, ce semnific o mprire la zero. b. Dac plaja de valori pe care se calculeaz media conine o valoare de eroare returnat de o funcie, atunci media va genera la rndul ei o valoare de eroare. Figura 29 prezint un exemplu de utilizare a funciilor MAX, MIN i AVERAGE, n contextul analizei cursului valutar al monedei Euro. Aplicaia evideniaz pentru fiecare zi (lucrtoare) de cotaie recordul maximal, minimal i media mobil.
25
Funcia Sintax
cmpuri. Asupra acestui argument opereaz condiia specificat de argumentul urmtor; criteriul_selecie reprezint o condiie impus cmpului de evaluat, care se specific sub form de ir de caractere (ntre ghilimele); [cmp_de_calculat_media] este argumentul care desemneaz cmpul pe care se va calcula media aritmetic, n funcie de evaluarea condiiei precizate de al doilea argument. Dac acest argument lipsete, cmpul de calculat media va fi chiar cmpul de evaluat. Rezultat Media aritmetic a elementelor unei liste n funcie de evaluarea unei condiii returnat precizate.
Calcul area unei medi i aritmetice n funcie de evaluarea mai multor condi ii.
Funcia Sintax
criteriul_selecie_1 [;cmp_de_evaluat_2;criteriul_selecie_2]..........) cmp_de_calculat_media este argumentul care desemneaz cmpul pe care va fi calculat media n funcie de evaluarea condiiei sau condiiilor precizate. cmp_de_evaluat_1 reprezint o list compus din adrese de celule sau nume de cmpuri. Asupra acestui argument opereaz condiia specificat de argumentul urmtor; criteriul_selecie_1 reprezint o condiie impus cmpului de evaluat_1, care se
26
specific sub form de egalitate sau restricie (ntre ghilimele); Rezultat Media aritmetic a elementelor unei liste n funcie de evaluarea mai multor returnat condiii precizate.
Figura 30 ilustreaz calculul mediei aritmetice n celula D141 ce ia n considerare toate notele din cmpul rezervat notelor la examen (D132:D139), adic opereaz calculul mediei i pentru cei care nu au promovat examenul i n consecin au nota mai mic dect 5. Cmpul ce conine numele i prenumele (B132:B139) este formatat condiional n funcie de faptul dac nota de la examen este superioar mediei tuturor. Calculul condiional al mediei este operaional n celula D142, i restricioneaz calculul la valorile ce sunt mai mari sau egale dect 5. Cmpul ce conine numrul matricol (A132:A139) este formatat condiional pentru a pune n eviden codurile studenilor cu nota la examen peste media celor promovai.
Figura 30 Exemplu de calcul a mediei aritmetice i formatare condiional pentru dou condiii precizate.
Calcul ul mediei geometrice i armonice aferente unei serii stati stice de date.
Funcia Sintax
GEOMEAN =GEOMEAN(list_de_elemente)
rezultate ale formulelor sau nume de cmpuri. Rezultat Media geometric dintr-o distribuie statistic de date. returnat
Funcia Sintax
HARMEAN =HARMEAN(list_de_elemente)
rezultate ale formulelor sau nume de cmpuri. Rezultat Media armonic dintr-o distribuie statistic de date. returnat
27
Funcia Sintax
formule sau nume de cmpuri. numr reprezint o valoare de clasare n sens cresctor, cu alte cuvinte poziia unei valori n raport de ordinul de mrime al valorii celulelor din cmpul specificat ca argument. Rezultat A n-a valoare ca mrime n sens descresctor, plecnd de la valoarea returnat maximal.
Funcia Sintax
formule sau nume de cmpuri. numr reprezint o valoare de clasare n sens descresctor. Rezultat A n-a valoare ca mrime n sens cresctor, plecnd de la valoarea minimal. returnat
Un exemplu de utilizare a funciilor LARGE i SMALL este prezentat n Figura 31, prin care se identific n celula G2 a doua valoare (F2) n sens descresctor, plecnd de la valoarea maximal, iar n celula G5 a treia valoare (F5) n sens cresctor, plecnd de la valoarea minimal.
Funcia Sintax
MEDIAN =MEDIAN(list_de_elemente)
formule sau nume de cmpuri. Rezultat Mediana distribuiei statistice a elementelor listei. returnat
Observaii.
Valoarea median mparte un ansamblu de date n dou subansambluri egale, de o astfel de manier nct la attea valori superioare mediei vor corespunde attea valori inferioare mediei. Dac numrul datelor este par, funcia MEDIAN calculeaz media celor dou numere situate la mijlocul seriei statistice. Funcia MEDIAN poate fi simulat cu ajutorul funciei condiionale IF, astfel: dac numrul de elemente aferent distribuiei este par, atunci se calculeaz media ntre ultimul element al primei jumti i primul element al ultimei jumti, altfel se ia ca referin elementul situat la jumtatea distribuiei statistice.
Figura 32 prezint dou exemple de utilizare a funciei MEDIAN, unul pentru o distribuie cu un numr impar de elemente, iar cellalt pentru o serie statistic cu un numr par.
Funcia Sintax
MODE =MODE(list_de_elemente)
29
Rezultat Valoarea cea mai frecvent dintr-o distribuie statistic de date. returnat
Observaii:
Dac distribuia statistic de date nu conine valori duplicate, funcia MODE va returna un mesaj de eroare de tipul Not Available (#N/A!); Dac distribuia statistic de date conine mai multe seturi de valori duplicate, egale ca frecven de apariie, funcia MODE va returna cea mai frecvent apariie a valorii situate la adresa cea mai mic; a. Dac o distribuie statistic de date conine celule vide, iruri de caractere, valori logice, acestea nu vor fi incluse la calculul celei mai frecvente apariii. Dac respectiva serie statistic conine valoarea zero, valorile acesteia intr n calculul pe care opereaz funcia MODE; b. Este de recomandat ca atunci cnd se calculeaz cea mai frecvent apariie a unei valori numerice ntr-o distribuie statistic de date, aceasta s poat fi localizat vizual printr-o formatare condiional. Figura 33 ilustreaz un exemple de utilizare a funciei MODE, prin care s-au evideniat cele mai frecvente note obinute la cele trei examene. Pentru ca acestea s devin vizibile s-a operat cte o formatare condiional pentru fiecare examen n parte.
formule sau nume de cmpuri. Rezultat Numrul de elemente aferente unei distribuii statistice. returnat
Observaii. a. Funcia COUNT ia n considerare numai elementele numerice ale distribuiei statistice, returnnd numrul acestora.
30
b. Funcia COUNTA ia n considerare alturi de elementele numerice ale unei distribuii statistice i celulele ce conin valori logice i iruri de caractere, returnnd numrul acestor elemente. c. Funciile COUNT i COUNTA nu iau n considerare celulele vide, chiar dac acestea sunt intercalate ntre elementele nevide ale distribuiei statistice.
Calcul area numrului de elemente aferente unei distri buii statisti ce, n funci e de eval uarea unei condi ii.
Funcia Sintax
formule sau nume de cmpuri; criteriu_de_selecie reprezint o condiie care se specific sub form de ir de caractere (ntre ghilimele). Rezultat Numrul de elemente dintr-o serie de date n funcie de precizarea unei returnat condiii.
Calcul area numrului de elemente aferente unei distri buii statisti ce, n funci e de eval uarea unei mai multor condiii.
Funcia Sintax
C OUNTIFS =COUNTIFS(cmp_de_evaluat_1;
criteriul_selecie_1 [;cmp_de_evaluat_2;criteriul_selecie_2]..........) cmp_de_evaluat_1 reprezint o list compus din adrese de celule sau nume de cmpuri. Asupra acestui argument opereaz condiia specificat de argumentul urmtor; criteriul_selecie_1 reprezint o condiie impus cmpului de evaluat_1, care se specific sub form de egalitate sau restricie (ntre ghilimele); Rezultat Numrul elementelor unei liste n funcie de evaluarea mai multor condiii returnat precizate.
Figura 34 ilustreaz cteva exemple de utilizare a funciilor COUNT, COUNTA, COUNTBLANK, COUNTIF i COUNTIFS. Funcia COUNT calculeaz numrul de elemente (numerice) ale cmpului Valoare (E3:E8), iar COUNTA numr elementele alfanumerice (fr celule vide) ale cmpului A3:A10. COUNTBLANK numr celulele vide situate n cmpul A3:A8. Funcia COUNTIF identific n celula E12 numrul de elemente de tip valoare care depesc 60.000 lei. Prima funcie COUNTIFS editat n celula E13 calculeaz numrul de produse facturate pentru cantiti ntre dou borne, iar a doua, editat n E14 calculeaz numrul de produse facturate la o anumit dat (12 martie 2009) i peste o anumit valoare precizat printr-o restricie.
31
32
Funcia Sintax
tablou_de_valo ri reprezint seria de valori pentru care va fi calculat frecvena pe clase (grupuri). Datele numerice pot fi organizate pe mai multe coloane ce formeaz un tablou; coloan_intervale_valori identific pe coloan valorile limitelor intervalelor ce aparin claselor de valori. Prima valoare (V1) aparine intervalului (-,V1], a doua valoare (V2) aparine intervalului (V1,V2] i aa mai departe, pn la ultima valoare. Rezultat Numrul de valori ce partajeaz aceleai caracteristici de clas (calculeaz returnat numrul de apariii corespunztoare unui interval de valori precizat).
Observaii. a. Funcia FREQUENCY trebuie introdus n forma matriceal complet (validarea formulei se face cu Ctrl+Shift+Enter). b. Frecvena de apariie a unui element poate fi calculat i prin intermediul tabelei de ipoteze cu o variabil, cu ajutorul funciilor DataBase (acest subiect va fi tratat pe larg n paragraful rezervat instrumentelor de asistare a deciziei); c. Dac se dorete a se calcula frecvena de apariie a unor elemente de tip text (iruri de caractere), se va atribui o valoare numeric pentru fiecare apariie distinct a unui element de text. Apoi, se va calcula distribuia pe baza valorilor numerice cu care au fost asignate irurile de caractere. Exemplificarea funciei FREQUENCY este ilustrat printr-o aplicaie n care (Figura 37) este prezentat un exemplu de analiz a calificativelor i a distribuiei notelor ce rezult n urma unui examen.
33
quartil semnific numrul de quartil de calculat: 1=25% din efectiv, 2=50% din
Funciile Sintax
34
formule sau nume de cmpuri. Rezultat Variana distribuiei elementelor listei. returnat
Observaii. a. Variana permite caracterizarea dispersiei datelor dintr-o distribuie statistic. Variana este ntotdeauna pozitiv. De exemplu, n cazul unei distribuii gauss-iene (clopotul lui Gauss), variana exprim aplatizarea curbei: cu ct curba este mai ascuit, cu att variana este mai mic. b. n condiiile n care se urmrete calcularea varianei pe o ntreag populaie statistic se utilizeaz funcia VARP. n acest caz, formula de calcul a varianei este: (nx2-(x)2)/n2. Aceast funcie ignor n argumentele sale, elementele de tip ir de caractere i valorile logice. Dac se dorete ca aceste elemente s nu fie ignorate, se utilizeaz funcia VARPA. c. n condiiile n care se urmrete calcularea varianei pe un eantion al populaiei statistice se utilizeaz funcia VAR. n acest caz, formula de calcul a varianei este: (nx2-(x)2)/n(n-1). Aceast funcie ignor n argumentele sale, elementele de tip ir de caractere i valorile logice. Dac se dorete ca aceste elemente s nu fie ignorate, se utilizeaz funcia VARA.
Calcul area abaterii standard (Standard Deviation).
STDEVP / STDEVPA / STDEV / STDE VA Funciile Sintax = STDEVP / STDEVPA / STDEV /STDEVA (list_de_elemente)
formule sau nume de cmpuri. Rezultat Abaterea standard nregistrat ntr-o distribuie statistic sub form de returnat list.
Observaii. a. Indicatorul Standard Deviation calculeaz abaterea-standard (ecartul-tip) prin extragerea rdcinii ptrate din varian. Altfel spus, funcia calculeaz pentru o populaie statistic de date media abaterilor nregistrate ntre datele unei serii statistice. n aceast accepiune, abaterea standard exprim mrimea dispersiei valorilor fa de media acestora. b. n condiiile n care se urmrete calcularea abaterii-standard pe o ntreag populaie statistic se utilizeaz funcia STDEVP. Aceast funcie ignor valorile logice (True, False), irurile de caractere i celulele vide. Pentru ca acestea s fie luate n consideraie, se utilizeaz funcia STDEVPA, cu aceeai semnificaie i sintax. c. n condiiile n care se urmrete calcularea abaterii-standard pe un eantion al populaiei statistice se utilizeaz funcia STDEV. Aceast funcie ignor n argumentele sale, elementele de tip ir de caractere i valorile logice. Dac se dorete ca aceste elemente s nu fie ignorate, se utilizeaz funcia STDEVA. Figura 39 ilustreaz modul de utilizare a funciilor VARP, VAR, STDEVP i STDEV. Pentru ca aceste funcii statistice s fie relevante, a fost necesar generarea unei populaii statistice pentru ca distribuia statistic s fie suficient de mare. Cmpul A125:A5000, intitulat Serie conine o funcie (RANDBETWEEN) ce returneaz la fiecare proces de recalcul un numr aleator, cuprins ntre 1 i 500, astfel nct distribuia statistic s fie aproximativ gauss-ian.
35
Funcia Sintax
tablou_1 i tablou_2 reprezint dou serii statistice de date, valori numerice sau nume de cmpuri ce conin valori numerice ntregi. Rezultat Un coeficient ce semnific media produselor abaterilor a dou serii de returnat date.
Observaie. Covariana calculeaz media produselor abaterilor pentru fiecare pereche de puncte de date. Funcia se introduce ca formul matriceal i se utilizeaz pentru a determina relaia dintre 2 seturi de date. Exemplul din Figura 40 calculeaz covariana pentru 2 serii de valori ce reprezint notele studenilor la examenul de informatic.
36
Msurarea gradului de dependen ntre dou variabile prin intermediul coeficientul ui de corelaie.
Funcia Sintax
CORREL = CORREL(matrice_1;matrice_2)
matrice_1 reprezint prima variabil susceptibil de a fi explicat prin intermediul valorilor celei de a doua variabile. Aceast variabil reprezint parametrul calitativ, de explicat; matrice_2 reprezint valorile celei de a doua variabile susceptibile de a influena prima variabil. Aceast variabil reprezint parametrul cantitativ, explicativ. Rezultat Un coeficient ce semnific gradul de dependen ntre 2 variabile. Cu ct returnat coeficientul de corelaie se apropie de 1, cu att exist o mai bun corelare ntre cele dou variabile.
Observaie. Coeficientul de corelaie cuantific dependena ce exist ntre 2 fenomene observate (x i y). Funcia de corelaie permite studierea legturilor statistice ce exist ntre o variabil dependent (cantitativ sau explicativ) i o variabil independent (calitativ sau de explicat). Aplicaia principal a funciei de corelaie const n construirea dreptei de regresie. Coeficientul de corelaie ntre dou variabile x i y este cuprins ntotdeauna ntre -1 i 1. Un coeficient de corelaie care se apropie de valoarea +1 indic o puternic dependen ntre fenomenele observate. Cu ct variabila x este mai mare dect media, cu att variabila y tinde s depeasc media, iar cu ct x este mai mic dect media, cu att y tinde s descreasc sub medie. Un coeficient de corelaie care se apropie de zero indic o slab corelaie intre cele dou variabile. Atunci cnd o ecuaie a dreptei este aplicat datelor i reprezentarea sa este o pant pozitiv se poate spune c dreapta ajusteaz cel mai bine valorile. Exemplul prezentat n Figura 41 studiaz gradul de dependen ntre mai multe perechi de variabile. Astfel, valoarea coeficientului de corelaie editat n celula E2 indic o dependen ridicat (0,6606) ntre notele studenilor la laboratoarele de informatic i notele acestora obinute la examen.. Cel deal doilea coeficient de corelaie, editat n celula E4 indic o foarte slab legtur ntre codul studentului i nota sa la laboratorul de informatic (valoare = 0,03599), iar coeficientul calculat n celula E6 indic o la fel de slab dependen ntre codul studentului i nota obinut la examenul de informatic (valoare = 0,0830).
37
se selecteaz cmpul ce conine variabilele de analizat (n rubrica Input Range). Selecia va cuprinde doar valorile numerice. Dac se dorete includerea capului de tabel n selecie, se va bifa opiunea Labels in first row. Se selecteaz orientarea datelor analizate (Grouped by Columns / Rows); Se desemneaz adresa celulei de la care se va genera tabloul coeficienilor de corelaie; Se valideaz operaiunea cu OK .
Funcia Sintax
Y_cunoscut reprezint o serie de valori observate (cifra de afaceri). Aceast variabil reprezint parametrul calitativ, de explicat; X_cunoscut reprezint o serie de valori ce explic variaiile (de exemplu cheltuielile cu publicitatea). Aceast variabil reprezint parametrul cantitativ, explicativ; co nstant semnific o valoare logic TRUE dac valoarea b a ecuaiei y=ax+b trebuie s fie egal cu zero. n caz contrar, constanta va identifica o valoare logic de FALSE; statistici indic prin valoarea logic TRUE dac se vor calcula informaii suplimentare, iar dac nu se dorete acest lucru, valoarea logic va fi FALSE. Rezultat Coeficienii a i b afereni ecuaiei dreptei y=ax+b prin care se poate stabili returnat gradul de dependen ntre 2 variabile.
38
Observaii. a. Funcia LINEST calculeaz coeficienii ecuaiei dreptei prin metoda celor mai mici ptrate. O astfel de dreapt identific punctele ce reprezint dou serii statistice (de exemplu: cifra de afaceri i numrul personalului) n aa fel nct acestea (punctele) s se situeze ct mai aproape de dreapt. Ecuaia dreptei este: y=ax+b. b. Funcia LINEST se introduce matriceal. Figura 43 prezint printr-un exemplu cum se calculeaz coeficienii a i b ai dreptei de regresie ce reprezint corelaia la nivelul unei ntreprinderi ntre cifra de afaceri i cheltuielile publicitare pentru generarea acesteia.
Funcia Sintax
de afaceri este explicat prin cheltuielile cu publicitatea); X_cunoscut reprezint o serie de valori ale variabilei explicative (cheltuielile cu publicitatea vor explica creterea cifrei de afaceri); X_no u semnific noile date plecnd de la care se va construi extrapolarea; [ constant] semnific o valoare logic TRUE dac valoarea b a ecuaiei y=ax+b trebuie s fie egal cu zero. n caz contrar, constanta va identifica o valoare logic de FALSE. Rezultat Valoarea extrapolat. Rezultatul calculat reprezint o informaie brut returnat datorit faptului c muli factori nu sunt luai n consideraie la extrapolare. Observaie. Funcia TREND se introduce matriceal. Funcia Sintax FORECAST = FORECAST(X_no u ; Y_cuno scut ; X_cunoscut)
Y_cunoscut reprezint o serie de valori ale variabilei de explicat (de exemplu, cifra
X_no u semnific reperul de date pentru care se dorete anticiparea unei valori Y_cunoscut reprezint o serie de valori ale variabilei explicative sau dependente; X_cunoscut reprezint o serie de valori ale variabilei explicative sau independente.
Rezultat returnat Valoarea extrapolat.
Observaie. Funcia FORECAST se poate introduce i matriceal. Figura 44 ilustreaz cte un exemplu de utilizare a funciilor de previziune pentru estimarea pe perioada 2009-2010 a cheltuielilor cu publicitatea (prin FORECAST) i a cifrei de afaceri.
39
Funcia Sintax
IF
co ndiie este o expresie de comparaie ce utilizeaz unul dintre operatorii de comparaie: =, >, >=, <, <=, <>. Prin aceti operatori se poate compara un element cu o constant, sau dou elemente ntre ele. Elementele care fac obiectul unei comparaii pot fi: nume de cmpuri sau referine celulare ce conin valori numerice, iruri de caractere, valori logice, rezultate ale unor expresii de calcul sau de evaluare. rezultat_1 specific o valoare numeric, un ir de caractere sau o formul; rezultat_2 specific aceleai elemente ca i rezultat_1. Rezultat Rezultat_1 dac expresia condiional este evaluat ca adevrat sau returnat rezultat_2 dac expresia condiional este evaluat ca fals.
Observaii.
Funcia IF testeaz argumentul condiie i n funcie de rezultatul evalurii logice, genereaz rezultat_1 dac condiia este adevrat sau rezultat_2 dac aceasta este fals. Dac argumentele funciei condiionale IF sunt iruri de caractere, acestea vor fi plasate ntre ghilimele, spre a nu fi interpretate de Excel ca nume de cmpuri. Dac argumentele funciei sunt constante de tip dat calendaristic, se recomand ca acestea s se abordeze fie prin intermediul unor funcii specifice (DATE, DATEVALUE, etc.), fie prin accesarea lor printr-o referin celular sau printr-un nume de cmp. Dac r ezultatele (1 i/sau 2) evalurii condiionale se doresc a fi prezentate n valori booleene (logice), se vor utiliza funciile TRUE() i/sau FALSE(). Dac argumentul condiie testeaz o valoare logic, se va utiliza funcia ISLOGICAL ce intercepteaz o valoare boolean returnat de o funcie. Figura 45 prezint dou exemple de utilizare a valorilor booleene ntr-o funcie condiional (primul exemplu evalueaz o condiie simpl i returneaz n celula D20 una dintre cele dou valori booleene, iar al
40
doilea exemplu testeaz n condiie o valoare boolean i returneaz n celula D21 un rezultat ce reprezint tot o valoare logic).
Figura 45 Utilizarea expresiilor booleene n funciile condiionale a. n condiiile n care din sintaxa funciei IF, lipsesc alternativ argumentele rezultat_1 sau r ezultat_ 2 se returneaz urmtoarele valori, conform exemplului prezentat n Figura 46. Dac unul dintre argumentele rezultat_1 sau rezultat_2 sunt omise i nlocuite cu separatorul de argumente, funcia IF va returna valoarea zero, n condiiile n care evaluarea condiiei conduce ctre unul dintre rezultate lips. Altfel spus, dac evaluarea condiiei conduce ctre un rezultat adevrat i lipsete din sintaxa funciei IF, fie argumentul rezultat_2, fie r ezultat_1 (IF(condiie;rezultat_1;) sau IF(condiie;;r ezultat_2;)), acestea fiind nlocuite cu separatorul de argumente (punct i virgul sau virgul1), funcia de evaluare va returna valoarea zero. Figura 46 ilustreaz cazul n care celula C25 conine funcia ce returneaz rezultat_2 care este substituit cu punct i virgul.
Celula C26 conine rezultatul returnat de funcia IF, corespunztor evalurii condiiei care angajeaz logic execuia argumentului rezultat_1 care, n acest caz este substituit cu punct i virgul).
Figura 46 Cazuri de utilizare a funciei IF, n condiiile omisiunii argumentului rezultat_1 sau rezultat_2 Dac unul dintre argumentele r ezultat_1 sau rezultat_2 sunt omise (Figura 46, celula C27), funcia IF va returna valoarea logic de fals n condiiile n care evaluarea condiiei conduce ctre unul dintre rezultate lips. n mod contrar, dac evaluarea condiiei conduce la activarea unui argument existent (rezultat_1 sau r ezultat_2), acesta va fi executat (celula C27). n locul argumentului rezultat_2 pot fi imbricate alte structuri condiionale IF, generndu-se potrivit condiiilor specificate ulterior o substituire n cascad. Aceast substituire ilustrat n Figura 47, are ca efect calcularea pe fiecare interval a argumentelor: rezultat_1.1;rezultat_1, , rezultat_1.n. Potrivit unei analize logice, pot exista 3 demersuri ale imbricrii funciilor condiionale, n ceea ce privete abordarea intervalelor: logica cresctoare, descresctoare i ntre intervale. Logica cresctoare presupune testarea a valorilor condiiei cu valori de comparaie dispuse n succesiune cresctoare. Condiia va conine ntotdeauna operatorul mai mic (<) sau mai mic sau egal (<=), iar valoarea de comparaie va fi din ce n ce mai mare (fapt ilustrat n partea superioar a urmtoarelor 2 figuri). Logica descresctoare presupune testarea a valorilor condiiei cu valori de comparaie dispuse n succesiune descresctoare. Condiia va conine ntotdeauna operatorul mai mare (>) sau mai mare sau
1
41
egal (>=), iar valoarea de comparaie va fi din ce n ce mai mic (fapt ilustrat n partea inferioar a urmtoarelor 2 figuri).
=IF(B32<3;0;IF(B32<5;C32*5% ;IF(B32<10;C32*10%;IF(B32<15;C32*1 5%;IF(B32<20;C32*20%;C32*25%))))) =IF(condiie_n;rezultat_1.n;rezultat_2.n Testare cresctoare =IF(condiie_3;rezultat_1.2;________ =IF(condiie_2;rezultat_1.1;_________ =IF(condiie_1;rezultat_1;______________)))) =IF(B33>20;C33*25%;IF(B33>15;C33*20%;IF(B33>10;C33*15%;IF(B3 3>5;C33*10%;IF(B33>3;C33*5%;0)))))
Figura 47 Imbricarea structurilor condiionale prin substituirea n cascad a argumentului rezultat_2 Figura 48 ilustreaz un exemplu de abordare a celor dou tipuri de imbricri, plecnd de la un exemplu inspirat dintr-un tat de plat, n care se calculeaz sporul de vechime (plecnd de evaluarea anilor de vechime n munc).
Figura 48 Exemplu practic de substituire n cascad a argumentului rezultat_2 cu alte structuri condiionale
Logica testrii explicite a intervalelor presupune verificarea pentru fiecare imbricare (a funciei IF), a valorilor condiiei pentru fiecare interval n parte. Aceast tehnic se implementeaz cu ajutorul funciei logice AND (born_minim; born_maxim).
Eval uarea logic prin funci ile I / SAU.
Funcia Sintax
AND
=AND(list_de_elemente ;)
42
Rezultat returnat
TRUE dac toate elementele din lista de argumentele sunt adevrate. FALSE dac cel puin un element din lista de argumentele nu se verific (se evalueaz ca fals).
Observaii. a. Funcia AND returneaz valori logice n funcie de evaluarea argumentelor. b. De regul, funcia AND este utilizat pentru evaluarea n cadrul unei condiii a unui element numeric ntre dou limite: una superioar i una inferioar. n acest caz, se vor utiliza 2 perechi de valori ce vor fi evaluate cu ajutorul operatorilor de comparaie: >, <, >=, <=. c. Funcia AND nu poate fi substituit cu expresia logic: m<x<n, unde x este o valoare strict mai mare dect m i strict mai mic dect n, fapt ilustrat i de exemplele prezentate n Figura 49, celulele F66 i F67. d. Dac un argument face apel la referine celulare (nume sau adrese) vide, acestea vor fi ignorate de funcia AND. e. Funcia logic AND poate conine maximum 30 de argumente. Un exemplu ce surprinde cteva ipostaze de utilizate a funciei AND, este prezentat grafic n Figura 49.
=OR(list_de_elemente ;) TRUE dac cel puin un element din lista de argumentele este evaluat ca adevrat. FALSE dac nici un element din lista de argumentele nu este evaluat ca adevrat.
a. Funcia OR returneaz valori logice n funcie de evaluarea argumentelor. b. De regul, funcia OR este utilizat pentru evaluarea unor iruri de caractere n cadrul unei condiii. De asemenea, funcia OR mai face obiectul unor teste efectuate asupra coninutului unor celule, cu ajutorul funciilor de informare. Nu n ultimul rnd, este de menionat c funcia OR mai poate face obiectul unor testri multiple (iruri de caractere) n cmpul de criterii al unei baze de date de tip list. c. Referitor la funcia OR, se poate spune c exist aceleai observaii ca i la punctele c) i d) ale funciei AND.
Inversarea unei evaluri l ogice.
Funcia Sintax
NOT
=NOT(evaluare_logic)
43
evaluarea logic mbrac forma unei expresii ce conine o funcie logic. Rezultat Inversul valorii logice a argumentului. returnat
Val ori logice de adevrat sau fals.
Funcia Sintax
TRUE
fr argument
Rezultat returnat
Funcia Sintax
FALSE
fr argument
Rezultat returnat
Figura 50 ilustreaz cteva cazuri de utilizare a funciilor OR (celulele F73, F74, F75, F76), NOT (celula F76), TRUE i FALSE (celula F73).
Figura 50 Exemple de utilizare a funciilor OR, NOT, TRUE, FALSE Funciile de informa re (Informa tion)
Funciile de informare evalueaz coninutul celulelor returnnd valori logice de adevrat (True) sau fals (False). De asemenea, aceste funcii afieaz i informaii referitoare la celule sau cmpuri.
44
False), un ir de caractere, o valoare numeric, etc. De asemenea, argumentul unei funcii de informare poate fi o expresie sau chiar o alt funcie de regul una de consultare (de exemplu ISNA(VLOOKUP(...)). Se recomand ca argumentul funciilor de tip IS... s nu fie un cmp, deoarece rezultatul returnat devine ambiguu n momentul n care plaja de celule (ce formeaz cmpul) conine valori eterogene.
Testarea cel ul elor vide.
Funcia Sintax
ISBLANK = ISBLANK(X)
X este referina unei celule. Rezultat True (valoare logic de adevr) dac referina testat este vid; returnat False (valoarea logic de fals) n cazul n care referina testat nu este vid.
Testarea cel ul elor ce coni n valori numerice.
Funcia Sintax
ISNUMBER = ISNUMBER(X)
X este referina unei celule. Rezultat True dac referina testat conine o valoare numeric; returnat False n cazul n care referina testat nu conine o valoare numeric.
Observaie. Datele n format dat calendaristic sunt de natur numeric i deci, cnd o celul ce conine astfel de date este testat cu funcia ISNUMBER, va fi returnat valoarea de adevr (True). Testarea cel ul elor ce coni n iruri de caractere.
Funcia Sintax
ISTEXT = ISTEXT(X)
X este referina unei celule. Rezultat True dac referina testat conine un ir de caractere; returnat False n cazul n care referina testat nu conine un text.
Testarea cel ul elor ce nu conin iruri de caractere.
Funcia Sintax
ISNONTEXT = ISNONTEXT(X)
X este referina unei celule. Rezultat True dac referina testat nu conine un ir de caractere; returnat False n cazul n care referina testat conine un ir de caractere.
Testarea cel ul elor ce coni n valori logi ce.
Funcia Sintax
ISLOGICAL = ISLOGICAL(X)
45
Rezultat True dac referina testat conine o valoare logic; returnat False n cazul n care referina testat nu conine o valoare logic.
Testarea cel ul elor ce coni n valori numerice impare.
Funcia Sintax
ISODD = ISODD(X)
Funcia Sintax
ISEVEN = ISEVEN(X)
X este referina unei celule sau o expresie de calcul. Rezultat True dac referina testat conine o valoare par; returnat False n cazul n care referina testat nu conine o valoare impar.
Testarea cel ul elor ce coni n formule care returneaz valori de eroare.
Funcia Sintax
ISREF = ISREF(X)
X este referina unei celule sau o expresie de calcul. Rezultat True dac n foaia de calcul exist referina testat; returnat False dac n foaia de calcul nu exist referina testat.
Funcia
ISERROR verific dac referina definit de argument conine o valoare de eroare de tip #N/A, #DIV/0!, #NUM, #NAME, #VALUE, #REF, #NULL, ce a fost returnat de o formul i/sau o funcie. = ISERROR(X)
Sintax
X este referina unei celule sau o expresie de calcul sau evaluare. Rezultat True dac referina testat conine o valoare de eroare; returnat False n cazul n care referina testat nu conine o valoare de eroare.
Funcia
ISERR verific dac referina definit de argument conine o valoare de eroare cu excepia valorii #N/A , ce a fost returnat de o formul i/sau o funcie. = ISERR(X)
Sintax
X este referina unei celule sau o expresie de calcul sau evaluare. Rezultat True dac referina testat conine o valoare de eroare;
46
returnat
Figura 51 ilustreaz rezultatele returnate de principalele funcii de informare asupra coninutului celulelor.
Figura 51 Exemple de utilizare a funciilor de informare asupra coninutului celulelor Funcia ISNA verific dac referina definit de argument conine o valoare nedisponibil returnat ca eroare a unei funcii de consultare.
Sintax = ISNA(X)
X este referina unei celule sau o expresie definit de o funcie de consultare. Rezultat True dac referina testat conine o valoare de eroare sub forma nonreturnat disponibilitii valorii cutate; False n cazul n care referina nu conine o valoare de eroare generat de o funcie de consultare vertical.
Utilizarea funciilor ISNA i ISERROR este exemplificat la nivelul acestui capitol n cadrul funciilor de consultare LOOKUP (observaia b, Figura 106, de la pagina 92) VLOOKUP (observaia c i d, Figura 107, de la pagina 93) HLOOKUP (cazul 3, Figura 110, de la pagina 97).
Funciile de informare prezentate pot interaciona i cu alte funcii predefinite. De regul, funciile condiionale IF, AND sau OR cuprind ntre argumentele lor i funcii de informare (IF(ISERROR(B25/A3)...). Figura 52 exemplific un mod de interaciune ntre funciile de informare i funciile logice, prin care se returneaz valori logice n funcie de coninutul celulelor testate.
47
Funcia Sintax
N =N(valoare)
valoare reprezint valoarea creia i se va face conversia. Rezultat Un numr, dac se face referin la acel numr; returnat Un numr de tip dat calendaristic, n cazul n care referina conine o dat calendaristic ntr-un format specific;
1, n cazul n care referina are valoarea logic TRUE; 0, n cazul n care referina are valoarea logic FALSE, sau referina conine orice altceva. Observaie. Datorit faptului c Excel face n mod automat conversia automat a valorilor, nu este necesar a se utiliza explicit funcia N. Majoritatea cazurilor de utilizare vizeaz conversia din ir de caractere n zero i din valori logice n 0 sau 1. Figura 53 ilustreaz cteva exemple de utilizare a funciei N.
Funcia Sintax
NA =NA ()
48
Observaie. Celulele editate cu caracterul blank () sunt asimilate celulelor vide. Celulele care au valoarea zero nu sunt considerate a fi vide. Dou exemple de utilizare a funciei COUNTBLANK sunt prezentate n Figura 54.
Funcia Sintax
ERROR.TYPE =ERROR.TYPE(tip_eroare)
tip_eroare este o valoare de eroare, o adres sau un nume de celul ce conine o valoare de eroare specific Excel. Rezultat 1 dac valoarea de eroare este #NULL! (specific ntr-o formul dou returnat cmpuri care se intersecteaz);
2 #DIV/0! (mprire la zero); 3 #VALUE! (operaie matematic ntre valori i iruri de caractere, utilizarea greit a argumentelor i/sau a operanzilor ); 4 5 6 7 #REF! (referin celular absent sau incorect); #NAME! (implicarea ntr-o formul a unui nume de cmp inexistent); #NUM! (prezena unor valori numerice incorecte ntr-o formul); #N/A ! (valoare nedisponibil returnat de o funcie de consultare).
Observaie. Funcia ERROR.TYPE prezentat n Figura 55 este utilizat cu precdere atunci cnd se dorete testarea unor formule ce pot returna diferite valori de eroare: =IF(OR(ERROR.TYPE=1;ERROR.TYPE=2; ERROR.TYPE=3);;)
49
Funcia Sintax
TYPE =TYPE(tip_dat)
a fi evaluat n termeni de tip de dat (numeric, ir de caractere, etc). Rezultat 1 dac tipul de dat este numeric; returnat 2 dac tipul de dat este de natur ir de caractere; 4 16 64 dac tipul de dat este de natur logic; dac tipul de dat este o valoare de eroare; dac tipul de dat este o formul matriceal.
Observaie. Funcia TYPE prezentat n Figura 56 este utilizat ca substitut al funciilor: ISNUMBER, ISTEXT, ISLOGICAL, ISERROR, atunci cnd o alt funcie depinde de evaluarea tipului de dat sub forma unui numr (1;2;4;16;64), ntr-o form numeric, dintr-o anumit celul.
50
Funcia Sintax
celula referit. Valorile acestui argument pot fi urmtoarele: o "address" adresa celulei specificate. Dac argumentul referin este un cmp, funcia returneaz coordonatele primei celule ale acestuia.; o "col" numrul coloanei celulei din referina celular; o row numrul liniei din referina specificat; o "filename" specificatorul fiierului curent (inclusiv calea de foldere i foaia de calcul curent) care conine referina. Precizarea argumentului eturneaz text gol ("") dac fiierul nu a fost nc salvat; o protect returneaz 0 (zero) dac celula nu este blocat i 1 dac celula este blocat; o "width" limea coloanei referinei celulare. Acest parametru se exprim prin numrul de caractere (corespunztoare fontului implicit) aferent coloanei. [referin] specific adresa celulei, coordonatele sau numele unui cmp, pentru care se dorete aflarea unui tip de informaie. n condiiile n care acest argument este opional, funcia CELL returneaz informaii corespunztoare celulei curente (n care este editat funcia). Rezultat Diferite informaii asupra referinei celulare, n funcie de valorile primului returnat argument specificat.
Figura 57 exemplific posibilitile de utilizare a argumentului tip_informaie, aferent funciei CELL.
tip_info rmaie este o valoare de tip text, care specific tipul de informaiei despre
51
TODAY, NOW, DATEVALUE, DATE, YEAR, MONTH, DAY, WEEKDAY, WEEKNUM, DAYS360, EOMONTH, EDATE, WORKDAY, NETWORKDAYS, YEARFRAC
Data (i ora) curent a si stemului .
Funcia Sintax
TODAY =TODAY ()
fr argumente. Rezultat Data curent a sistemului, ntr-un format implicit sau specificat de returnat utilizator prin formatare.
Funcia Sintax
NOW =NOW()
fr argumente.
Rezultat Data i ora curent a sistemului, ntr-un format implicit sau explicit returnat specificat de utilizator prin operaiunea de formatare.
Mani pularea n formul e a constantel or de ti p dat cal endaristic.
Funcia Sintax
DATEVALUE =DATEVALUE(ir_de_caractere)
calendaristice. n mod obligatoriu, irul de caractere trebuie plasat ntre ghilimele. Rezultat Data calendaristic specificat n argument (sub form de text), prezentat returnat ntr-un format tip dat calendaristic.
Funcia
DATE
52
Sintax
an este o valoare numeric cuprins ntre 1900 i 9999; lun este o valoare numeric cuprins ntre 01 i 12; zi este o valoare numeric cuprins ntre 01 i 31.
Rezultat Data calendaristic ce corespunde argumentelor specificate. returnat Observaie. Funciile DATEVALUE i DATE sunt utilizate pentru a referi diferite constante de tip dat calendaristic n formule. Astfel, ntr-o formul ce face apel la o dat calendaristic, aceasta nu poate fi abordat printr-o constant, ci prin intermediul unei adrese de celule ce conine constanta respectiv sau prin intermediul unei funcii specializate (DATEVALUE / DATE). Aceast observaie a fost prezentat anterior, n cadrul funciei condiionale IF. Figura 58 reprezint grafic cteva exemple de utilizare a funciilor prezentate, mpreun cu formatele personalizate aferente.
Funcia Sintax
Y EA R =YEAR(numr_dat)
numr_dat poate fi un numr serial ce corespunde unei date calendaristice, o adres de celul ce conine o dat calendaristic sau o constant de tip dat ce este tratat printr-o funcie. Rezultat Anul (ntre 1 i 9999) ce corespunde argumentului specificat. returnat
Extragerea lunii di ntr-o dat calendaristic.
Funcia Sintax
MONTH =MONTH(numr_dat)
numr_dat poate fi un numr serial ce corespunde unei date calendaristice, o adres de celul ce conine o dat calendaristic sau o constant de tip dat ce este tratat printr-o funcie.
53
Funcia Sintax
DAY =DAY(numr_dat)
numr_dat poate fi un numr serial ce corespunde unei date calendaristice, o adres de celul ce conine o dat calendaristic sau o constant de tip dat ce este tratat printr-o funcie. Rezultat Numrul zilei din lun (ntre 1 i 31) ce corespunde argumentului returnat specificat.
Extragerea numrului zil ei di n sptmn, aferent unei date calendari stice.
Funcia Sintax
numr_dat poate fi un numr serial ce corespunde unei date calendaristice, o adres de celul ce conine o dat calendaristic sau o constant de tip dat ce este tratat printr-o funcie: [constant] reprezint o constant, plecnd de la care se calculeaz nceputul sptmnii: o 1 (tip implicit) prima zi a sptmnii este Duminic, iar ultima zi este smbt; o 2 prima zi a sptmnii este luni, iar ultima zi este Duminic; o 3 prima zi a sptmnii este mari, iar ultima zi este luni. Rezultat Numrul zilei din sptmn, potrivit semnificaiei parametrului opional returnat tip:
o 1 =Duminic; 7=smbt pentru tip=1; o 1=luni; 7=Duminic pentru tip = 2; o 1=mari; 6=Duminic; 7=luni pentru tip = 3.
Extragerea numrului sptmnii di ntr-un an, aferent unei date calendari stice.
Funcia Sintax
numr_dat poate fi un numr serial ce corespunde unei date calendaristice, o adres de celul ce conine o dat calendaristic sau o constant de tip dat ce este tratat printr-o funcie: [constant] reprezint o constant, plecnd de la care se calculeaz sptmna ce ncepe cu Duminic sau cu luni: o 1 (tip implicit) prima zi a sptmnii este Duminic, iar ultima zi este smbt; o 2 prima zi a sptmnii este luni, iar ultima zi este Duminic; Rezultat Numrul sptmnii dintr-un an. returnat
54
55
ir de caractere
Un exemplu de utilizare a funciei condiionale IF cu funcii sau date calendaristice este reprezentat de calculul de majorrilor de ntrziere pe trane cumulative progresive pentru depirea datei scadenei este prezentat n Figura 63. Caracteristica acestor majorri const n faptul c procentul de penalizare calculat la valoarea facturii se mrete din ce n ce mai mult n funcie intervalul de timp ce separ data scadenei de ziua curent, dac data scadenei este depit (altfel spus, procentele de penalizare sunt direct proporionale cu ntrzierea la plata facturii). Practic, se vor calcula majorrile aplicate la valoarea facturii, n raport de numrul de zile ntrziere, astfel:
dac numrul de zile de ntrziere <=30 zile de la data scadenei majorarea este de 0,3%
pe fiecare zi de ntrziere;
dac numrul de zile de ntrziere <=90 zile majorarea este de 0,5% pe ecare zi de
ntrziere ce depete 30 de zile; dac numrul de zile de ntrziere <=180 zile majorarea este de 0,7% pe ecare zi de ntrziere ce depete 90 de zile; dac numrul de zile de ntrziere >180 zile majorarea este de 1% pe ecare zi de ntrziere ce depete 180 de zile. Reprezentarea grafic a algoritmului de calcul a majorrilor de ntrziere este prezentat n Figura 62.
56
Funcia Sintax
adres de celul ce conine o dat calendaristic sau o constant de tip dat ce este tratat printr-o funcie; dat_sfrit idem. Rezultat Numrul de zile ce separ data de debut de data de sfrit. returnat
Observaii.
a. Diferena ntre 2 date calendaristice este calculat lund ca baz un an ce are 360 zile. b. n anumite cazuri, diferena de zile ntre dou date calendaristice este returnat n format dat calendaristic (de exemplu, diferena DAYS360 ntre 05-feb-2009 i 10- feb-2009, returneaz 05Ian-1900, adic numrul 5 formatat n dat calendaristic). n aceste cazuri, se impune formatarea numeric a rezultatului diferenei.
57
Calcul area diferenei (zil e, luni , ani) ce separ dou date cal endaristi ce.
Funcia Sintax
adres de celul ce conine o dat calendaristic sau o constant de tip dat ce este tratat printr-o funcie; dat_sfrit idem. cod_fo rmat_dat_calendaristic reprezint simbolul componentelor unui format tip dat calendaristic: (d = numr de zile, m = numr de luni, y = numr de ani. Rezultat Numrul de zile, de luni sau de ani ce separ dou date calendaristice. returnat
Figura 66 ilustreaz un exemplu de calcul al diferenelor n zile, luni i ani ntre dou date calendaristice (12 martie 2000 i 22 februarie 2009).
Figura 66 Exemplu de calcul al diferenelor ntre dou date calendaristice prin DATEDIF
Cal cularea numrului de zile lucrtoare ce separ dou date calendari stice.
Funcia Sintax
adres de celul ce conine o dat calendaristic sau o constant de tip dat ce este tratat printr-o funcie; dat_sfrit idem; [srbtori] este un cmp ce conine date calendaristice ce semnific n general o perioad de inactivitate (indisponibilitate) ce este reglementat n funcie de contextul activitii utilizatorului (srbtori legale, vacane, deplasri, sesiuni de examene, etc.). Rezultat Numrul de zile lucrtoare (fr a lua n considerare week-end-urile i returnat srbtorile legale) dintre dou date calendaristice.
Observaii.
n Excel, funcia NETWORKDAYS nu este disponibil n mod implicit. Aceasta se instaleaz prin ncrcarea unor componente, la cererea utilizatorului. Acest demers este operaional prin comanda Office Button Excel Options tabul Add-Ins, opiunea Analysis ToolPak. Idem observaia b) aferent funciei DAYS360. Un exemplu de utilizare a funciei NETWORKDAYS este ilustrat n Figura 67.
58
Funcia Sintax
adres de celul ce conine o dat calendaristic sau o constant de tip dat ce este tratat printr-o funcie; numr_zile reprezint o constant numeric, o adres (sau un nume) de celul ce conine valoarea numeric ce decaleaz n timp data_debut ; [srbtori] este un cmp ce conine date calendaristice ce semnific n general o perioad de inactivitate (indisponibilitate) ce este reglementat n funcie de contextul activitii utilizatorului (srbtori legale, vacane, deplasri, sesiuni de examene, etc.). Rezultat O dat calendaristic viitoare, decalat cu n zile lucrtoare fa de o dat de returnat iniial, considerat ca baz.
Observaie. Idem observaia a) aferent funciei NETWORKDAYS.
Un exemplu de utilizare a funciei WORKDAY calculeaz data livrrii unui produs comandat, tiindu-se c n zilele de week-end i de srbtori legale, unitatea furnizoare nu lucreaz. Numrul de zile necesar onorrii comenzii este de 45. Figura 68 ilustreaz acest exemplu de utilizare.
59
Funcia Sintax
adres de celul ce conine o dat calendaristic sau o constant de tip dat ce este tratat printr-o funcie; factor_decalaj reprezint numrul de luni (constant numeric pozitiv/negativ) de decalare n avans/urm, fa de o dat de referin. Rezultat O dat calendaristic ce reprezint ultima zi din lun. returnat
Observaii.
n Excel, funcia EOMONTH (ca i NETWORKDAYS sau WORKDAY) nu este disponibil n mod implicit, aceasta trebuind instalat prin comanda Office Button Excel Options tabul Add-Ins, opiunea Analysis ToolPak. Funcia EOMONTH are semnificaie logic (raiune de utilizare) numai n condiiile n care rezultatele returnate sunt formatate personalizat cu ziua sptmnii, deoarece este evident pentru toi utilizatorii care este ziua de sfrit a fiecrei luni, dar nu este evident i n ce zi a sptmnii pic aceasta. Este de recomandat ca la editarea funciei EOMONTH, n sintaxa acesteia s se utilizeze data_debut ca referin absolut sau s fie identificat prin nume. Aceast observaie este util, deoarece n cazul utilizrii unei referine relative pentru data_debut, aceasta se va decala cu cte o celul la procesul de copiere a formulei.
Un exemplu de utilizare a funciei EOMONTH este prezentat n Figura 70 (se dorete a se afla n ce zile pic data de sfrit aferent fiecrei luni, pentru a planifica diferite operaiuni de pli la banc).
60
Funcia Sintax
adres de celul ce conine o dat calendaristic sau o constant de tip dat ce este tratat printr-o funcie; factor_decalaj reprezint numrul de luni (constant numeric pozitiv/negativ) de decalare n avans/urm, fa de o dat de referin. Rezultat O dat calendaristic decalat cu un numr de luni (exprimate ntr-o returnat accepiune relativ) .
Observaii.
n Excel, funcia EDATE (ca i EOMONTH, NETWORKDAYS sau WORKDAY) este o component ce se instaleaz la cerere, prin comanda Office Button Excel Options tabul Add-ins, opiunea Analysis ToolPak. Funcia EDATE exprim ntr-o accepiune relativ un decalaj (pozitiv sau negativ) de dat calendaristic cu un anumit numr de luni. n mod normal, diferena ntre luni, judecat absolut (matematic) este variabil, deoarece acestea (lunile) conin un numr diferit de zile (28/29, 30, 31). Funcia EDATE se utilizeaz n calculul scadenelor relative, ce nu in seam de numrul de zile aferente fiecrei luni, ci iau n calcul luna ca entitate ntreag. Deci, contextul de utilizare a funciei EDATE nu vizeaz luarea n considerare a numrului de zile aferent lunilor luate n calcul. Funcia EDATE are o raiune de utilizare numai n condiiile n care rezultatele returnate sunt formatate personalizat i cu ziua sptmnii, deoarece este evident pentru toi utilizatorii c se poate deduce cu uurin data zilei dintr-o lun ce este decalat (+/-), dar nu este evident i n ce zi a sptmnii pic aceeai zi din luna decalat. n Figura 71 am prezentat un context de utilizare a funciei EDATE n care se calculeaz dobnda unui depozit, la o scaden de 6 luni, cu o un procent anual de 15%. Depozitul n cauz se va capitaliza n cazul n care nu se lichideaz la scaden, prelungindu-se implicit termenul ctre o nou scaden (astfel, este posibil ca din 6 n 6 luni s se ajung la o nou scaden). Funcia EDATE calculeaz pentru fiecare celul a cmpului B27:B30 urmtoarea dat scadent, decalat cu exact 6 luni.
61
Funcia Sintax
adres de celul ce conine o dat calendaristic sau o constant de tip dat ce este tratat printr-o funcie; dat_sfrit idem dat_debut; constant este un cod ce semnific numrul de zile dintr-un an: o 1 numrul real de zile; o 2 anul are 360 de zile; o 3 anul are 365 de zile; o 4 luna are 30 de zile i anul are 360 zile Rezultat Un numr cu zecimale ce reprezint o fraciune dintr-un an n care se returnat compar (prin raportare) dou date calendaristice.
Exemplul prezentat n Figura 72 ilustreaz un caz de utilizare a funciei YEARFRAC, prin care o sum global (D4 = 49.505 milioane lei) se repartizeaz proporional cu fraciile lunare ale anului (numrul de zile aferente fiecrei luni, raportat la numrul de zile ale anului). De asemenea, exemplul de fa calculeaz cumulat i sumele aferente fiecrei luni din an.
62
Funcia Sintax
TIMEVALUE =TIMEVALUE(ir_de_caractere)
ir_de_caractere este un text ce prezint similitudini cu formatul unei valori de tip timp. n mod obligatoriu, irul de caractere trebuie plasat ntre ghilimele. Rezultat Valoarea de tip timp specificat n argument, prezentat ntr-un format returnat valoric adecvat.
Funcia Sintax
or este o valoare numeric cuprins ntre 0 i 23; minut este o valoare numeric cuprins ntre 0 i 60;
63
fi substituit cu separatorul punct i virgul. Rezultat Valoarea de tip timp ce corespunde argumentelor specificate. returnat
secund este o valoare numeric cuprins ntre 0 i 60. Acest ultim argument poate
Observaie. Funciile TIMEVALUE i TIME (prezentate n Figura 73) sunt utilizate pentru a referi n formule diferite constante de tip timp. Astfel, ntr-o formul ce face apel la o valoare de tip timp, se recomand ca aceasta nu fie abordat printr-o constant-timp (IF(B8>18:22:08);....;.....), ci prin intermediul unei adrese de celule ce conine constanta respectiv (IF(B8>G12);....;.....), sau prin intermediul funciilor specializate TIMEVALUE sau TIME ((IF(B8>TIME(18;22;08);....;.....)).
Figura 73 Exemplu de utilizare a funciilor TIMEVALUE i TIME Extragerea orei dintr-un numr ti mp.
Funcia Sintax HOUR =HOUR(numr_timp)
timp, o adres de celul ce conine o valoare de tip timp sau o constant de tip timp ce este tratat printr-o funcie specializat. Rezultat Un numr ntreg sub forma orei (ntre 0 i 24) ce corespunde argumentului returnat specificat.
Extragerea mi nutul ui di ntr-un numr timp.
Funcia Sintax
MINUTE =MINUTE(numr_timp)
Funcia Sintax
SECOND =SECOND(numr_timp)
64
returnat
argumentului specificat.
Figura 74 ilustreaz un exemplu de utilizare a funciilor prezentate n contextul calculului duratei unei convorbiri telefonice care se taxeaz la minut, cu tarife diferite pn la ora 22 i dup. Secundele vorbite pn ntr-un minut se rotunjesc la primul multiplu (minutul).
CHAR, CODE, LOWER, UPPER, PROPER, VALUE, TEXT, DOLLAR, FIXED Excel pune la dispoziia utilizatorului o serie de funcii de tip ir de caractere, prin care se asigur urmtoarele conversii: caracter n cod ASCII zecimal (CODE) i invers (CHAR); majusculele n minuscule i invers (LOWER, UPPER, PROPER); caracter de tip ir (text) n valoare (VALUE) i invers (TEXT, DOLLAR, FIXED).
Afiarea caracterului ce corespunde unui cod numeric.
Funcia Sintax
celule sau a unui nume de cmp ce conine caracterul respectiv. Rezultat Caracterul ce corespunde unui cod numeric ASCII2 returnat
cod_numeric este, fie un numr ntreg cuprins n intervalul [1,255], fie adresa unei
Observaii. a. Sistemul de operare, permite introducerea caracterelor alfanumerice sau semi-grafice, prin activarea combinaiei de taste Alt + codul numeric ASCII al caracterului (codul numeric se tasteaz n timp ce tasta Alt a fost activat). De exemplu, Alt + 65 returneaz caracterul A. b. Dac argumentul cod_numeric este n afara intervalului, funcia CHAR va returna valoarea de eroare #VALUE!.
Afi area codul ui numeric ce corespunde unui caracter.
Funcia
CODE
65
Sintax
=CODE(caracter)
caracter este, fie unul dintre cele 255 de caractere ASCII, fie adresa unei celule sau a unui nume de cmp ce conine caracterul respectiv . Rezultat Caracterul ce corespunde unui cod numeric ASCII returnat
Observaii. a. Dac argumentul funciei este un caracter, acesta trebuie plasat ntre ghilimele. b. Dac argumentul funciei CODE este o celul ce conine mai multe caractere, funcia va returna ntotdeauna primul caracter din stnga (indiferent de natura numeric, alfanumeric sau alfabetic a caracterului respectiv). Figura 75 ilustreaz tabloul codurilor ASCII aferente caracterelor, exemplificnd funciile CHAR i CODE.
Funcia Sintax
UPPER =UPPER(text)
text este, fie un ir de caractere (cuprins ntre ghilimele), fie adresa unei celule sau a unui nume de cmp ce conine respectivul ir de caractere . Rezultat Caracterele argumentului convertite n majuscule. returnat
Converti rea caracterelor majuscule n minuscule.
Funcia Sintax
LOWER =LOWER(text)
text este, fie un ir de caractere (cuprins ntre ghilimele), fie adresa unei celule sau a unui nume de cmp ce conine respectivul ir de caractere.
66
Funcia Sintax
PROPER =PROPER(text)
text este, fie un ir de caractere (cuprins ntre ghilimele), fie adresa unei celule sau a unui nume de cmp ce conine respectivul ir de caractere . Rezultat Caracterele argumentului n care prima liter a fiecrui cuvnt este majuscul, iar returnat restul caracterelor sunt minuscule.
Figura 76 prezint cte un exemplu de utilizare pentru fiecare din cele 3 funcii prezentate.
Funcia Sintax
VALUE =VALUE(text)
text este, fie un ir de caractere (cuprins ntre ghilimele), fie adresa unei celule sau a unui nume de cmp ce conine respectivul ir de caractere. Rezultat Valori numerice corespunztoare irului de caractere n format numeric. returnat
Observaie. Pentru ca irul de caractere s fie convertit n valori numerice, acesta trebuie s conin fie o valoare ntr-un format numeric pur (Figura 77, celula D13), fie o valoare ntr-un format alfanumeric, dar care s fie compatibil cu un format numeric tip: dat calendaristic (celula D12), timp (celula D14), procentual (D16) sau monetar (D15). Dac irul de caractere este n format alfabetic sau alfanumeric (ce nu prezint similitudini cu un format numeric) funcia VALUE va returna o valoare de eroare (#VALUE!).
Funcia
TEXT
67
Sintax
de cmp ce conine respectiva valoare; fo rmat_text reprezint unul dintre formatele numerice disponibile din caseta de dialog Format Cells (tabul Number), comanda Home Number (Number Format). Rezultat Un ir formatat de caractere ce corespunde unei valori numerice. returnat
Trei cazuri de utilizare a funciei TEXT sunt ilustrate n Figura 78.
valoare reprezint, fie o valoare numeric, fie adresa unei celule sau a unui nume
Funcia Sintax
sau a unui nume de cmp ce conine respectiva valoare / ir; +/- constant poziional de ro tunjire reprezint expresia rotunjit a numrului de convertit n ir de caractere. Rezultat Un ir de caractere ce imit formatul monetar, ce corespunde unei valori returnat numerice.
Observaii.
valoare reprezint, fie o valoare numeric / ir de caractere, fie adresa unei celule
Dac argumentul +/- constant poziional de rotunjire lipsete, funcia DOLLAR va afia cu 2 zecimale (D18, A18) textul ce reprezenta valoarea numeric de convertit. n cazul n care constant poziional de rotunjire este pozitiv, funcia DOLLAR opereaz o rotunjire la partea zecimal (la dreapta separatorului zecimal). Dac respectiva constant de rotunjir e este negativ funcia opereaz o rotunjire la partea ntreag (la stnga separatorului zecimal). Rezultatul returnat de funcia DOLLAR va fi transpus automat n formatul monetar impus de localizrile i de setrile regionale ale sistemului de operare Windows. Figura 79 ilustreaz cteva exemple reprezentative de utilizare a funciei DOLLAR.
Funcia Sintax
68
[;separator _de_mii]) sau a unui nume de cmp ce conine respectiva valoare / ir de caractere; +/- constant poziional de ro tunjire reprezint expresia rotunjit a numrului de convertit n format text; separator_de_mii este un argument opional care la valoarea FALSE, inhib afiarea separatorului de mii a numrului ce a fost transformat n ir de caractere. Rezultat Un ir formatat de caractere ce corespunde unei valori numerice. returnat
Observaii. Idem a) i b) de la funcia DOLLAR.
valoare reprezint, fie o valoare numeric / ir de caractere, fie adresa unei celule
Figura 80 Exemple de utilizare a funciei FIXED Funcii text de ameliorare a prezent rii
REPT, TRIM, CONCATENATE, LEFT, RIGHT, MID
Repli carea unui ir de caractere.
Funcia Sintax
text este, fie un ir de caractere (cuprins ntre ghilimele), fie adresa unei celule sau a unui nume de cmp ce conine respectivul ir de caractere; numr_de_multiplicri reprezint numrul multiplicri ale textului. Rezultat Un ir de caractere replicat de un numr de ori.. returnat
Exemplul ilustrat n Figura 81 calculeaz frecvena de apariie a notelor obinute, ventilnd cu funcia FREQUENCY o distribuie statistic de date (Nota la examen, pe plaja B4:B638) pe zece intervale (D4:D13). Pentru o mai uoar interpretare a datelor, aplicaia va pune n eviden numrul de note ce corespunde fiecrui interval statistic. Aceast marcare ce se aseamn cu o reprezentare grafic, poate fi implementat prin multiplicarea cu funcia REPT a caracterului pipe (bara vertical) de un numr de ori egal cu numrul de note pe fiecare interval statistic (numr returnat de funcia FREQUENCY). n plus, aplicaia mai opereaz o formatare condiional pe cmpul F4:F13, ce marcheaz cu o culoare bastonaele ce corespund notelor mai mici dect 5, i cu alt culoare notele mai mari sau egale cu 5.
69
Funcia Sintax
TRIM =TRIM(text)
a unui nume de cmp ce conine respectivul ir de caractere. Rezultat Un ir de caractere cruia i s-au anulat spaiile inutile (cu excepia spaiilor returnat care separ cuvintele textului).
Concatenarea irurilor de caractere.
text este, fie un ir de caractere (cuprins ntre ghilimele), fie adresa unei celule sau
Funcia Sintax
adresa unor celule sau a unor nume de cmpuri ce conin respectivele iruri de caractere. Rezultat Mai multe iruri de caractere sau valori numerice concatenate (unite unele returnat cu altele). Observaie. Concatenarea irurilor de caractere, a valorilor numerice (cu excepia numerelor de tip dat calendaristic sau timp), precum i a irurilor de caractere cu valorile numerice este operaional i prin semnul & (ampersand) plasat ntre elementele ce fac obiectul concatenrii. Pentru aceast operaie, trebuie respectate regulile de sintax pentru irurile de caractere (plasarea acestora ntre ghilimele). Figura 82 ilustreaz exemple de utilizare a funciilor enunate.
text1 ; text2 ; textn este fie, o list de iruri de caractere (ntre ghilimele), fie
70
Funcia Sintax
L EF T =LEFT(text [;numr_caractere])
nume de cmp ce conine valoarea sau respectivul ir de caractere; [numr_caractere] reprezint numrul de caractere de extras din stnga primului argument. Dac argumentul lipsete, se va extrage doar primul caracter din stnga acestuia. Rezultat Primul caracter sau un grup de caractere extrase din stnga unui alt ir de returnat caractere sau aferent unei valori.
text este, fie un ir de caractere sau o valoare, fie adresa unei celule sau a unui
Funcia Sintax
nume de cmp ce conine valoarea sau respectivul ir de caractere; [numr_caractere] reprezint numrul de caractere de extras din dreapta primului argument. Dac argumentul lipsete, se va extrage doar primul caracter din dreapta acestuia. Rezultat Primul caracter sau un grup de caractere extrase din dreapta unui alt ir de returnat caractere sau aferent unei valori.
text este, fie un ir de caractere sau o valoare, fie adresa unei celule sau a unui
Funcia Sintax
nume de cmp ce conine valoarea sau respectivul ir de caractere; debut indic un numr ce semnific valoarea poziional (de la stnga spre dreapta) a unui caracter ntr-un ir, ncepnd de la care s se extrag un numr de caractere. numr_caractere reprezint numrul de caractere de extras ncepnd cu valoarea poziional a argumentului debut. Rezultat Un numr de caractere extrase dintr-un ir de caractere n funcie de returnat coordonatele dictate de o valoare poziional.
Observaii. a. Funcia MID este substituibil cu funciile LEFT i RIGHT. n cazul n care primul argument este valoare numeric, funciile LEFT, RIGHT i MID returneaz iruri de caractere. Dac rezultatul returnat constituie o intrare ntr-o formul ce-l utilizeaz n calcule, acesta trebuie convertit n valoare numeric prin funcia VALUE. b. Funciile LEFT, RIGHT i MID sunt utilizate cu precdere atunci cnd este vorba de prelucrarea unor elemente ce fac parte dintr-un cod compozit. Acest cod conine mai multe elemente disociabile n pri sau componente care au o semnificaie bine stabilit i sunt compacte din punct de vedere poziional. Regula, n acest caz este ca prima parte a codului s conin fix n caractere, iar a doua parte a codului s conin m caractere.
text este, fie un ir de caractere sau o valoare, fie adresa unei celule sau a unui
71
Figura 83 ilustreaz posibilitile de disociere a unui element numeric (Cod Produs) n prile sale componente (Cod Magazin) i Identificator Produs), cu ajutorul funciilor LEFT i RIGHT.
Figura 83 Exemplu de utilizare a funciilor LEFT i RIGHT. Disocierea unui cod compozit
ntr-un alt exemplu, ilustrat n Figura 84 se concateneaz primul caracter din stnga textului surs (A2), transformat n majuscul =UPPER(LEFT(A2;1)), cu rezultatul extragerii din dreapta a irului de caractere surs, din care se scade primul caracter: RIGHT(A2;LEN(A2)-1).
72
Figura 85 Exemplu de disociere a Codului Numeric Personal i transformarea unei pri din acesta n data naterii
n numeroase cazuri, funciile prezentate se utilizeaz n pereche cu funciile de consultare i/sau cu funciile condiionale. n Figura 86 (celula B36), am prezentat un exemplu prin care se localizeaz ID Produs (ultimele patru caractere ale codului de produs) ntr-un tabel de consultare (Nomenclator) pentru a se recupera preul de vnzare (corespunztor identificatorului cutat). Acest element (preul) recuperat prin VLOOKUP din tabelul Nomenclator se nmulete cu un coeficient de adaos comercial (Coeficient de ponderare) propriu fiecrui magazin de desfacere a respectivelor produse. Coeficientul, la rndul lui face parte din codul produsului i este extras din coloana a 2-a a cmpului Magazine.
73
finalizeaz cu o valoare de eroare (n celula A46). Excel nu poate aplica o funcie totalizatoare asupra unor rezultate disociate dintr-un element unitar, pe o plaj de celule. Dac n coloana B s-ar fi disociat individual cele dou caractere din codul de produs, ncepnd cu al 3-lea caracter, s-ar fi obinut un rezultat corect aplicnd formula ce nsumeaz elementele individuale convertite n valoare. O alt soluie de rezolvare a cazului, ce conduce la un rezultat corect este folosirea primului demers ncapsulat printr-o formul matriceal.
Figura 87 Exemplu de nsumare a unor elemente identificate poziional intr-un cod compozit Funcii text de c uta re, nlo cuire, co mparare i msura re a lungimii ca ra cterelor.
LEN, EXACT, SUBSTITUTE, FIND, SEARCH, REPLACE
Calcul area numrului de caractere aferent unui ir de caractere sau valori numerice.
Funcia Sintax
L EN =LEN(text)
unui nume de cmp ce conine respectivul ir sau valoare. Rezultat Numrul de caractere aferent unui ir de caractere sau aferent unei valori returnat (numrul de cifre din care este format).
n Figura 88 prezentm un context de utilizare a funciei LEN, n care un cod compozit conine mai multe elemente disociabile: un element de lungime fix (ultimele 4 cifre din dreapta codului) i un element de lungime variabil plasat la stnga. Soluia disocierii codului compozit const n extragerea cu funcia LEFT a caracterelor din stnga, pn la limita ocupat de ultimele 4 caractere. Pentru a afla aceast limit, se face diferena ntre numrul total al caracterelor i numrul caracterelor din dreapta, dup care se extrage rezultatul.
text este, fie un ir de caractere sau o valoare numeric, fie adresa unei celule sau a
74
Funcia Sintax
EXACT =EXACT(text1;text2)
celule sau nume de cmpuri ce conin irurile sau valorile. Rezultat Valoarea logic TRUE, dac irurile de caractere sunt identice; returnat Valoarea logic FALSE, dac irurile de caractere difer.
text1 i text2 sunt, fie un dou iruri de caractere sau valori numerice, fie adresa a 2
Observaie. Funcia EXCACT face deosebire ntre majuscule i minuscule (este senzitiv), dar ignor diferenele de formatare. Cutarea pozi ional a unui caracter ntr-un ir de caractere sau valori numerice.
Funcia Sintax
cutat; [numr] este un numr ce reprezint valoarea poziional a caracterului de la care s nceap cutarea. Rezultat O valoare numeric ce reprezint valoarea poziional a irului de caractere returnat cutat.
Observaie. Funcia FIND este senzitiv la caractere (este sensibil la tipul de litere majuscule sau minuscule). Funcia SEARCH nu este senzitiv. Figura 89 ilustreaz un exemplu de utilizare a funciei SEARCH, prin care se extrage numele i prenumele unei persoane din elementul compozit Nume i prenume. Pentru extragerea numelui (pe plaja de celule B3:B11) formula editat n B4 disociaz prin funcia LEFT irul de caractere din celula A4, ncepnd cu primul caracter i pn unde se ntlnete primul spaiu. Acesta este returnat de funcia SEARCH, care la rndul ei caut de la stnga la dreapta primul spaiu dintre cuvinte (dintre nume i prenume) n irul de caractere din celula A4. Din valoarea
text_cutat este fie un ir de caractere sau o valoare ce se dorete a se identifica; text_baz specific irul de caractere sau valoarea n care se identific textul
75
poziional returnat de SEARCH se scade un caracter (deoarece din stnga a fost extras un numr de caractere pn la primul spaiu, inclusiv spaiul). Un alt exemplu de utilizare a funciei SEARCH (prezentat tot in Figura 89 extrage prenumele (unul sau mai multe) din elementul compozit Nume i prenume. Formula editat n celula C4 extrage partea din dreapta a irului de caractere din celula A4. Numrul de caractere de extras se calculeaz fcnd diferena ntre numrul total de caractere (LEN(A4)) i valoarea poziional a primului spaiu, returnat de funcia SEARCH. n acest mod, dac se identific un caracter de separaie (spaiul de exemplu) se pot extrage dintr-un ir de caractere agregat (Nume i prenume) oricte sub-iruri (prenume). Ultima parte a aplicaiei compune o adres de e-mail, scris cu caractere minuscule (LOWER) prin concatenarea n celula E4 a numelui (B4), a primului caracter al prenumelui (LEFT(C4)), a caracterului @, i a domeniului ase.ro.
76
al treilea spaiu (coloana D) i valoarea poziional a celui de-al doilea spaiu (coloana C), minus un caracter (spaiul nsui). Ultimul grup de caractere este extras cu funcia RIGHT, prin diferena ntre numrul total de caractere (LEN(A5)) i valoarea poziional a ultimului spaiu (coloana D), plus un caracter. In coloana J, codul este recompus n alt ordine prin concatenarea segmentelor de cod extrase anterior din codul surs n coloanele F, G, H i I.
77
Figura 91 Exemplu recapitulativ de utilizare a funciilor text EXACT, PROPER, LEN, SEARCH, UPPER, LEFT i RIGHT. Validarea Numelui i Prenumelui
nl ocuirea pozi ional a unei pri dintr-un i r de caractere cu alt i r.
Funcia Sintax
text_vechi este fie un ir de caractere sau o valoare numeric surs (de nlocuit), fie
adresa celulei corespunztoare; valoare_po ziional specific valoarea poziional din text vechi (de la stnga la dreapta), plecnd de la care se dorete nlocuirea cu text_nou; numr_caractere precizeaz numrul de caractere din textul vechi ce urmeaz a fi nlocuite cu textul nou. text_nou este fie un ir de caractere sau o valoare numeric destinaie (cu care textul_vechi urmeaz a fi nlocuit), fie adresa celulei corespunztoare; Rezultat Un text n care un nou ir de caractere/valoare (text_nou) a nlocuit un ir returnat sau o valoare veche, plecnd de la o valoare poziional.
Un exemplu de utilizare a funciei REPLACE este ilustrat n Figura 92. n celula B6 s-a operat modificarea structural a unui cod compus din nou caractere numerice, nlocuind a 5-a valoare poziional cu coninutul celulei A6 (valoarea 50). n urma procesului de nlocuire poziional a unui caracter cu dou a rezultat un cod compus din zece caractere, ce este mai mare cu un caracter fa de codul surs. n celula B9 s-a operat modificarea structural a aceluiai cod surs compus din nou caractere numerice, nlocuind de la a 3-a valoare poziional, un numr de cinci caractere cu coninutul celulei A6 (valoarea 50). n urma procesului de nlocuire poziional a cinci caractere cu dou a rezultat un cod de ase caractere, ce este mai mic cu trei caractere dect codul surs.
78
Funcia Sintax
text este referina surs declarat, fie sub forma unui ir de caractere sau valori
numerice, fie sub forma unei adrese de celule / nume de cmp ce conine respectivul ir sau valoare, pentru care se dorete nlocuirea caracterelor. text_vechi este fie un ir de caractere sau o valoare numeric surs (de nlocuit), fie adresa celulei corespunztoare; text_nou este fie un ir de caractere sau o valoare numeric destinaie (cu care textul_vechi urmeaz a fi nlocuit), fie adresa celulei corespunztoare; [numr] precizeaz la a cta apariie a irului specificat ca text_vechi s se efectueze nlocuirea cu text_nou. Rezultat Un text n care un nou ir de caractere/valoare (text_nou) a nlocuit un ir returnat sau o valoare veche.
Un exemplu de utilizare a funciei SUBSTITUTE (prezentat n Figura 93) nlocuiete prenumele din agregatul tip ir de caractere Nume i prenume cu un nou agregat Cod salariat format din nume i din indicativul locului de munc. Prenumele (textul substituibil) a fost extras din irul de caractere surs (celula C61) potrivit exemplului explicat la funcia SEARCH i ilustrat de Figura 89, de la pagina 76. Textul ce urmeaz a nlocui prenumele (Indicativ loc munc) va fi extras prin consultarea vertical a tabelului de personal (F65:G71) n funcie de numele i prenumele salariatului i recuperarea coloanei a 2-a, corespunztoare persoanei identificate n tabel.
79
n coloana B se elimin spaiile dintre cuvintele textului agregat (din coloana A), prin
intermediul funciei SUBSTITUTE(A32; ;); n coloana C se face diferena ntre numrul de caractere al agregatului compozit cu spaii (coloana A) i numrul de caractere aferente aceluiai agregat, dar cu spaiile eliminate (coloana B). Din aceast diferen rezult numrul de spaii dintre cuvinte; n coloana D se marcheaz cu caracterul * ultimul spaiu al agregatului text. Practic, prin funcia SUBSTITUTE se nlocuiete ultima apariie a spaiului (antecalculat anterior n coloana C) cu caracterul generic *. Coloana E calculeaz prin funcia FIND valoarea poziional a caracterului * n cadrul agregatului text din coloana precedent; n ultima coloan, se extrage din dreapta irului surs (A32) diferena de caractere ce separ numrul de caractere al textului surs (LEN(A32)) i valoarea poziional a ultimului spaiu (E2).
Figura 94 Exemplu de extragere a ultimului element dintr-un agregat compozit format dintr-un numr variabil de elemente
2.7 Funcii de cutare i consultare
CHOOSE, COLUMN, COLUMNS, ROW, ROWS, AREAS, ADDRESS, INDIRECT, MATCH, INDEX, LOOKUP, VLOOKUP, HLOOKUP.
Alegerea di n mai multe posibiliti a unui el ement identificat pozi ional.
80
Funcia Sintax
index_numeric precizeaz sub forma unui numr de ordine, care element (de tip
text, numeric sau referin celular) din lista de argumente va fi selectat. Indexul este un numr cuprins ntre 0 i 29.
sau de celule ce conin elementele respective. Rezultat n urma unei alegeri dintr-o list de elemente, returneaz o aciune sau o returnat valoare, ce urmeaz a fi activat sau executat, corespunztor unui index numeric. Observaie: Argumentul list_de_elemente nu poate fi un cmp, ci doar o enumerare de constante (numerice sau ir de caractere) sau de celule. Totui, n contextul n care funcia CHOOSE se utilizeaz ca argument al unei funcii matematice sau statistice, argumentul list_de_elemente poate conine i plaje de celule (cmpuri). Un exemplu de utilizare a funciei de consultare CHOOSE este ilustrat n Figura 95.
Funcia Sintax
referi numrul coloanei. Rezultat Numrul coloanei corespunztoare primei referine celulare aferente returnat coordonatelor unui cmp specificat.
referin_celular sau cmp precizeaz adresa unei celule sau a unui cmp ce va
Funcia
COLUMNS
81
Observaie. n timp ce funcia COLUMN returneaz numrul de coloan n mod convenional pentru celula sau cmpul ce corespunde numrului curent al respectivei coloane din foaia de calcul (coloana A =1, coloana B=2,... coloana XFD=16.586), funcia COLUMNS returneaz n mod real numrul de ordine a coloanei respectivului cmp specificat ca argument (numr ce ncepe ntotdeauna cu 1 i se termin cu un numr egal cu dimensiunea orizontal a cmpului). Exemple de utilizare a funciilor de consultare COLUMN i COLUMNS sunt prezentate n Figura 96.
Funcia Sintax
referin_celular sau cmp precizeaz adresa unei celule sau a unui cmp ce va
referi numrul convenional al liniei. Rezultat Numrul liniei corespunztoare primei referine celulare aferente returnat coordonatelor unui cmp specificat.
Observaie. n timp ce funcia ROW returneaz numrul de linie n mod convenional (linia 1=1, linia 2=2,... ultima linie=1.048.576), funcia ROWS returneaz numrul de linie n mod real (numr ce
82
ncepe ntotdeauna cu 1 i se termin cu un numr egal cu dimensiunea vertical a cmpului). Exemple de utilizare a funciilor de consultare ROW i ROWS sunt ilustrate n Figura 97.
Funcia Sintax
AREAS =AREAS(cmp/cmpuri)
cmp(uri) precizeaz adresa unui cmp sau a mai multor cmpuri ce urmeaz a fi
identificate. Rezultat Numrul de zone contigue dintr-un cmp. returnat Observaie. Dac argumentul cuprinde multe zone contigue (mai multe cmpuri), atunci acesta se mai nchide ntr-o pereche de paranteze rotunde. n Figura 98 este prezentat un exemplu de utilizare a funciei AREAS.
83
Funcia Sintax
nr_linie specific numrul de linie al referinei celulare; nr_colo an precizeaz numrul de coloan al celulei;
[tip_referin] specific printr-un numr [1-4] referine absolute pe linie i pe coloan (1-implicit), numai pe linie (2), numai pe coloan (3), precum i referine relative (4); [valoare_logic] specific prin opiunea False (implicit opiunea are valoarea True) adresele referinei celulare sub forma RnCm - unde Rn indic linia (Row) n, iar Cm returneaz coloana (Column) m. Aceste coordonate se numesc refereniale; [n nume_foaie_calcul] afieaz numele foii de calcul sau un text explicativ referitor la adresa celulei n cauz. Rezultat O adres de celul sub form de text. returnat n Figura 99 sunt ilustrate cteva exemple de utilizare a funciei ADDRESS.
84
Funcia Sintax
referin ctre o celul specificat ca ir de caractere. [parametru_logic] specific o valoare logic de tip True sau False, prin care se face precizarea tipului de referin ce este coninut de primul argument: True (parametru implicit): semnific o referin de tip A1 (referin standard a foii de calcul); False : semnific o referin de tip R1C1 (referin a foii de calcul prin care se precizeaz explicit linia-Row i coloana-Column); Rezultat Referina specificat printr-un ir de caractere. returnat Observaie. Funcia INDIRECT returneaz o valoare de eroare, dac referina_text nu este o referin celular valid. Necesitatea funciei INDIRECT deriv din adresarea din interiorul formulelor a referinelor ce ulterior pot fi modificate sau anulate. Exemplul urmtor, ilustrat in Figura 100 calculeaz totalul vnzrilor pentru fiecare produs in parte (din cele patru), pe parcursul lunilor februarie decembrie. Suma poate fi calculat uor cu funcia SUM, pentru Produsul1 pe domeniul C6:C16. Dac se dorete schimbarea lunilor pentru care este operaional calculul (de exemplu, pentru lunile martie decembrie), formula de calcul a sumei trebuie reajustat la noile coordonate pentru Produsul1, pe domeniul C7:C16. Pentru a evita acest inconvenient, funcia INDIRECT construiete un model independent de coordonatele relative ale liniilor i coloanelor care particip la calcul. Astfel, n celula D1 i E1 se marcheaz numrul absolut al primei i ultimei linii de nsumat. Similar, n celulele cmpului C3:F3 se editeaz etichetele de coloan n expresie absolut (C, D, E, F). Formula din F19 aplic funcia SUM pe coordonatele rezultate din concatenarea adreselor celulelor ce reprezint numrul de linie i adresa coloanei. Modificnd numrul de linie din D1 sau E1, calculul sumei poate fi ajustat astfel nct s includ orice linie, fr a se modifica formula de calcul.
referin_text specific o referin ctre o celul, un nume de cmp definit ca referin sau o
85
Funcia Sintax
cheie_de_consultare specific o valoare ce se dorete a fi cutat ntr-un tabel de consultare. Cheia de consultare poate fi o constant (numeric, ir de caractere, logic) sau o referin celular ce conine valoarea cutat; vecto r_de_consultare este un cmp orizontal (o linie i mai multe coloane) sau un camp vertical (o coloan i mai multe linii) ce conine posibilele valori cutate; [parametru] specific un numr cu urmtoarea semnificaie: 0 (zero): identific prima valoare (pot fi mai multe) egal cu valoarea cheii de consultare. Tabelul de consultare poate fi n acest caz nesortat. Dac nu este gsit nici o valoare, funcia returneaz valoare nedisponibil (#N/A); 1 (parametru implicit): caut cea mai mare valoare, cea mai mic, sau egal cu valoarea cutat. Tabelul de consultare trebuie s fie sortat n ordinea cresctoare a cheii de consultare; -1: caut cea mai mic valoare imediat mai mare sau egal dect valoarea cheii de consultare. Tabelul de consultare trebuie s fie sortat n ordinea descresctoare a cheii de consultare. Rezultat Poziia relativ a unui element ntr-un vector de consultare. Aceast poziie relativ returnat caut s identifice numrul de linie sau de coloan pentru un element cutat ntr-un cmp orizontal sau vertical.
Observaie. Funcia MATCH are relevan mpreun cu alte funcii de consultare care refer prin numrul de linie i numrul de coloan coordonatele unei valori cutate (de exemplu, cu funciile INDEX i HLOOKUP). n Figura 101 sunt ilustrate dou exemple de utilizare a funciei MATCH. Un prim exemplu caut o cheie de consultare cu valoarea 104 ntr-un cmp vertical numit Cod_Client (B3:B10). Funcia MATCH va returna linia 5 din tabelul de consultare. Al doilea exemplu caut o cheie de consultare de tip ir de caractere cu valoarea Cod_Fiscal ntr-un cmp orizontal numit Linie_Antet (B3:G10). Datorit faptului c tabelul de consultare Linie_Antet, nu este sortat alfabetic, este necesar a se utiliza
86
ca ultim argument al funciei, parametrul 0 (zero). n acest fel, funcia MATCH va returna coloana 6 din tabelul de consultare. Recuperarea coninutului unei cel ule n raport cu pozii a rel ati v a unui element ntr-un tablou de consul tare. Funcia Sintax INDEX =INDEX(tabel_de_consultare ; numr_linie ; numr_colo an)
tabel_de_consultare este un cmp ce conine posibilele valori cutate; numr_linie specific un numr de linie de unde s fie extras valoarea cutat; numr_co lo an specific un numr de coloan de unde s fie extras valoarea
cutat; Rezultat Poziia relativ a unui element ntr-un tablou de consultare, la intersecia returnat unei linii cu o coloan. Observaii. Este de preferat a se utiliza funcia INDEX, fa de funciile de consultare clasice (LOOKUP, VLOOKUP, HLOOKUP) n condiiile n care poziia relativ a coninutului unei celule va fi mai uor de identificat dect adresa celulei exprimat prin referina la coninutul liniilor sau coloanelor. INDEX utilizeaz de regul funcia MATCH pentru referirea liniei i coloanei la intersecia crora se regsete valoarea cutat. n Figura 101 este ilustrat un exemplu de utilizare a funciei INDEX prin care se recupereaz o valoare i anume codul fiscal al clientului cu codul 104. Aceast informaie se regsete la intersecia liniei 5 cu coloana 6 din tabloul de consultare. Cele dou funcii MATCH permit n acest context identificarea numrului de linie i de coloan, iar funcia INDEX extrage valoarea gsit la intersecia celor dou coordonate ale tabelului de consultare Clieni.
87
Excel 2007 pune la dispoziia utilizatorului un asistent grafic (Wizard) care permite identificarea unei valori ntr-un cmp. Facilitile asistentului grafic devin operaionale prin instalarea unor componente incluse la cerere, prin intermediul comenzii Office Button Excel Options AddIns, prin activarea butonului de comand Lookup aferent ribbon-ului ce corespunde tabului Formulas. Etapele prin care asistentul grafic (ilustrate n Figura 102) construiete funcia de consultare INDEX, plecnd de la exemplul prezentat anterior sunt urmtoarele: Step 1 of 4 selecteaz tabelul de consultare (B3:G10); Step 2 of 4 selecteaz (din lista derulant) n partea superioar a casetei de dialog numele (eticheta) coloanei (Cod Fiscal) ce conine valoarea de recuperat, iar n partea inferioar selecteaz (tot din lista derulant) cheia de consultare (104) dup care se dorete a se identifica valoarea cutat.
n varianta alegerii opiunii Copy just a formula to a single cell, etapa Step 4 of 4 permite alegerea amplasamentului (adresa celulei) n care s se copieze rezultatul consultrii i implicit funcia INDEX; n varianta alegerii opiunii Copy the formula and lookup parameters, etapele: Step 4/5/6 of 6 permit specificarea amplasamentelor pentru copierea: o n celula C25, a numelui cmpului (etichetei) cutat(e) pe coloan (Cod Fiscal):4/6; o n celula B25, a parametrului (etichetei) ce urmeaz a fi cutat() pe linie (104): 5/6; o n celula D25, a rezultatului consultrii, adic valoarea codului fiscal ce corespunde clientului cu codul 104: 6/6. Un alt exemplu de utilizare a funciilor INDEX i MATCH este prezentat n Figura 103. n acest caz, numrul liniei ce corespunde unui Cod Client este localizat prin intermediul controalelor de tip list derulant. Etapele realizrii unei aplicaii ce returneaz n celula D64 Codul Fiscal al clientului i formateaz condiional coloana Cod Fiscal (G37:G43) sunt: se pleac de la tabelul clienilor, declarat pe coordonatele B36:G43; se insereaz unul din controalele de tip list derulant (Combo Box sau List Box) prin
comanda Developer > Insert > Form Controls. In caseta de dialog aferent celor dou controale (obinut prin clic-dreapta-mouse pe controlul generat n foaia de calcul), n tabul Control se desemneaz plaja de celule surs (Input Range) pe care va opera cutarea poziiei valorilor i se va preciza adresa celulei ce va returna numrul de linie pe care se identific valoarea cutat (Cell link = B45). Dac dintr-una din listele derulante se alege valoarea 105, celula B45 va returna valoarea poziional a valorii pe plaja de celule surs (B37:B43) Formula editat n celula D64 returneaz valoarea cutat prin funcia INDEX la intersecia coordonatelor date numrul de linie (celula B45) i numrul de coloan returnat de MATCH(Cod Fiscal;B36:G36;0); Coloana G37:G43 a fost formatat condiional astfel nct s pun n eviden valoarea cutat (Codul fiscal).
Figura 103 Exemplu de cutare a unei valori printr-o list derulant i formatarea condiional a rezultatului
Identi ficarea coninutului unei cel ul e ntr-un tabl ou de consultare.
89
Funcia Sintax
constant o adres absolut/relativ sau un nume de cmp; vecto r_de_consultare specific un cmp ce conine fie o singur linie, fie o singur coloan. Elementele vectorului de consultare (valori numerice, iruri de caractere, valori logice) trebuie s fie sortate cresctor. vecto r_rezultat specific un cmp ce conine fie o singur linie, fie o singur coloan de unde s se extrag o valoare cutat; Rezultat Identific valoarea unei chei de consultare ntr-un vector (o coloan dintrreturnat un tabel de consultare) ce conine cheia de consultare, recupernd valoarea corespunztoare cheii dintr-un vector rezultat.
Figura 104 ilustreaz un exemplu n care se dorete a se recupera dintr-un tabel de consultare (B4:G11), numele clientului i codul fiscal al acestuia n funcie de valoarea codului de client. Astfel, funcia LOOKUP editat n celula C16, va identifica valoarea cheii de consultare (Cod Client=104) n coloana vectorului de consultare declarat pe coordonatele B4:B11 i va recupera valoarea corespunztoare Numelui de client din coloana vectorului rezultat (C4:C11) pentru valoarea cheii (Cod Client) identificate. n mod asemntor, n celula E16 se editeaz o formul prin care funcia de consultare LOOKUP va recupera din vectorul rezultat (G4:G11) valoarea codului fiscal, n funcie de identificarea cheii de consultare (B16) n vectorul de consultare (B4:B11).
90
clientului ce corespunde codului 102, existent n vectorul de consultare (deoarece codul 103 nu exist, este recuperat numele clientului Client2, pentru cea mai apropiat valoare mai mic dect codul 102 care exist). Acest dezavantaj al funciei LOOKUP poate fi nlturat printr-un test de existen a cheii de consultare n vectorul de cutare. Potrivit acestui demers (ilustrat n Figura 105) se va testa (prin funcia condiional IF) dac valoarea cutat (B16) este diferit de aceeai valoare identificat n vectorul de cutare i returnat prin vectorul rezultat (LOOKUP(B16;B4:B11;B4:B11). Dac valorile sunt diferite (deci nu a fost identificat cheia de consultare n vectorul de cutare), atunci funcia IF va returna un mesaj de eroare (Nu exist clientul&B16), altfel, (situaie n care cheia a fost identificat) se va returna valoarea corespunztoare cheii de consultare din vectorul rezultat.
Figura 105 Exemplu de utilizare a funciei LOOKUP, cu test de existen a cheii de consultare ntr-un vector de cutare b. Dac valoarea cutat este mai mic dect cea mai mic (prima) valoare a vectorului de cutare, funcia LOOKUP va returna valoare nedisponibil (#N/A). Altfel spus, la tastarea unei valori a cheii de consultare, mai mici dect limita inferioar a domeniului vectorului de consultare (Cod Client), funcia va returna valoare nedisponibil. Acest inconvenient poate fi nlturat printr-un test de eroare IF(ISERROR(....), sau IF(ISNA (....) ce verific dac funcia LOOKUP returneaz o valoare nedisponibil, interpretat de Excel ca eroare. n acest mod, se va evita afiarea mesajului #N/A (Not Available), acesta nlocuindu-se cu un spaiu (), un text explicativ sau cu zero3.
Se recomand ca testul de eroare s fie completat cu un test de verificare a existenei cheii de consultare n vectorul de cutare (fapt menionat la punctul a). Figura 106 ilustreaz printr-o formul testul de eroare, completat cu testul de existen pentru consultarea unui vector prin funcia LOOKUP.
n cazul nereturnrii unui rezultat valid de natur numeric, se va nlocui valoarea de eroare #N/A cu zero, dac celula respectiv este implicat n diverse calcule
91
Funcia Sintax
cheie_de_consultare este o valoare dup care are loc cutarea sau consultarea ntr-un tablou. Cheia poate fi o constant o adres absolut/relativ sau un nume de cmp; tabel_de_consultare este un cmp asupra cruia opereaz consultarea vertical prin cutarea valorii cheii precizate anterior (observaia a); numr_co lo an_de_recuperat reprezint numrul coloanei (numerotarea ncepe cu 1) de unde va fi recuperat informaia gsit n tabelul de consultare, corespunztor valorii cheii de cutare; [valoare_logic] reprezint un argument logic (opional) cu valoare: TRUE (implicit) sau FALSE, ce specific comportamentul funciei VLOOKUP atunci cnd valoarea cheii de consultare nu va fi identificat n prima coloan a tabelului de cutare (observaiile b i c). Rezultat Coninutul unei celule ce figureaz ntr-o anumit coloan dintr-un tablou returnat de consultare vertical, potrivit valorii unei chei de cutare.
Observaii. Este de recomandat pentru versiunile inferioare de Excel (97, 2000) ca tabelul de consultare s conin n prima sa coloan elemente (valori numerice, iruri de caractere sau valori logice) care s fie sortate cresctor. Dac tabelul nu este sortat dup prima sa coloan, se va activa comanda Data Sort, iar n rubrica Sort by se va preciza numele coloanei dup care se va face sortarea); Valoarea afirmativ a argumentului opional (valoarea logic TRUE) este implicit i deci nu este obligatorie editarea sa n funcia VLOOKUP. Contextul n care opereaz valoarea TRUE este
Tehnologia aplicaiilor Office 92
momentul n care valoarea cheii de consultare nu este identificat n prima coloan a tabelului. n acest caz, funcia VLOOKUP identific cea mai apropiat valoare (imediat mai mic) fa de cheia de consultare i recupereaz n consecin o alt informaie. Altfel spus, n mod implicit, la tastarea unei chei de consultare inexistente, se localizeaz cea mai mare valoare identificat n prima coloan a tabelului, ce este mai mic sau egal fa de valoarea cheii cutate; Valoarea de negaie a argumentului opional (valoarea logic FALSE) n sintaxa funciei VLOOKUP declaneaz afiarea mesajului de eroare #N/A (Not Available) n cazul n care cheia de consultare nu este gsit n prima coloan a tabelului de consultare; La tastarea unei valori a cheii de consultare, mai mici dect limita inferioar a domeniului primei coloane din tabelul de consultare, funcia VLOOKUP va returna valoare nedisponibil (#N/A). n Figura 107 sunt ilustrate mai multe exemple de utilizare ale funciei VLOOKUP, prin care se dorete ca la tastarea unui cod de identificare, existent ntr-un tablou s se recupereze automat anumite elemente cu care respectivul cod se gsete n dependen funcional.
Figura 107 Exemplu de utilizare a funciei de consultare VLOOKUP Tabelul de consultare din Figura 107 a fost definit pe coordonatele B5:D14 i a fost denumit Tabel pentru o identificare mai uoar. Tabelul conine trei rubrici, intitulate: Marca, Nume i Prenume i Salariul de ncadrare i este sortat dup prima coloan (rubrica Marca).
n Cazul 1 de utilizare, funcia de consultare vertical VLOOKUP se editeaz n celula H5 (n celula H4 este prezentat rezultatul funciei) i are ca semnificaie cutarea valorii cheii de consultare (G4 are valoarea 10) n tabelul de consultare (Tabel) i recuperarea coloanei 2 (aferente rubricii Nume i Prenume) corespunztor valorii cheii de consultare. n mod asemntor, n celula I5 se procedeaz la recuperarea din coloana 3 a tabelului (Salariul de ncadrare), a elementului dependent funcional de cheia de consultare. Cheia de consultare G4 a fost declarat ca adres absolut pe coloan ($G4) deoarece s-a dorit ca la copierea formulei din H5 n I5, s nu se decaleze (la dreapta) adresa cheii de consultare. Odat copiat formula de consultare n I4, aceasta va fi editat numai pentru schimbarea numrului de coloan din 2 n 3. n Cazul 2 a ilustrat n Figura 107, funcia VLOOKUP utilizat fr argumentul opional FALSE nu va semnala inexistena unei chei de consultare n tabelul de consultare. Astfel, la tastarea codului cu valoarea 30, funcia nu va identifica n prima coloan a tabelului valoarea cutat i va returna elementul din coloana Nume i Prenume (sau Salariul de ncadrare) ce corespunde cheii cu valoarea cea mai apropiat, imediat mai mic dect valoarea cutat (va returna elementele Vasiliu Marcela i 3.000 ce corespund codului cu valoarea 16).
93
Cazul 2 b prezint o prim posibilitate de nlturare a acestui inconvenient, i anume, utilizarea n funcia VLOOKUP a argumentului opional FALSE. Acest argument face ca la neidentificarea valorii cheii de consultare n prima coloan a tabelului, funcia s returneze valoarea de nedisponibil #N/A. Aceast valoare returnat este de tip text i n consecin va propaga eroarea dac exist alte formule (ce conin ndeosebi calcule) care fac referin la rezultatul returnat de VLOOKUP n acest caz. Cazul 3 prezint n Figura 107, posibilitatea testrii existenei cheii de consultare n prima coloan a tabelului. Astfel, funcia VLOOKUP poate fi completat un test de eroare If(IsError(....) sau If(IsNA(....), ce verific returnarea de ctre VLOOKUP a unei valori de non-disponibil (interpretat de Excel) ca eroare. Astfel, dac nu se identific valoarea cheii de consultare n prima coloan a tabelului, testul If(IsError(Vlookup(....;F False)) va nlocui mesajul #N/A (generat automat n prezena argumentului opional FALSE al funciei VLOOKUP), cu un spaiu (), un text sau cu valoarea de zero (pentru elemente numerice). n mod contrar (dac valoarea cheii a fost identificat), se va executa consultarea vertical, ce va returna o valoare valid. Figura 108 ilustreaz un alt exemplu de utilizare a funciei VLOOKUP, prin care se dorete a se recupera cursul valutar al monedei Euro n funcie de o dat calendaristic tastat de utilizator (i declarat n acest caz n celulele E8, E9 drept cheie de consultare). Exemplul prezentat are urmtoarele particulariti: Cheia de consultare editat n celula E8 (iar apoi n E9) este de tip dat calendaristic (i deci este de sorginte numeric) i reprezint prin funcia TODAY() data curent a sistemului. Potrivit valorii cheii de consultare (E8=data de 18.01009), funcia VLOOKUP editat n celula F8, returneaz din coloana a 2-a (Curs Euro) a tabelului de consultare (declarat pe coordonatele B7:C80 i intitulat Cotaii) valoarea de 4,1335. n cazul prezentat, funcia VLOOKUP nu are nevoie nici de parametrul opional FALSE (pentru a semnala prin #N/A o valoare neidentificat a cheii), iar n consecin, nici de un test de existen a cheii n prima coloan a tabelului Cotaii. Explicaia acestui demers const n faptul c n zilele de weekend BNR nu coteaz principalele valute i deci, din punct de vedere informatic, dac o dat calendaristic cutat nu este identificat (de exemplu data de 18 ianuarie 2009 - duminic) se va recupera cursul ce corespunde celei mai mari valori, imediat mai mici dect valoarea cutat (corespunztoare datei de vineri 16 ianuarie 2009 dat ce exist n tabelul Cotaii.).
Figura 108 Exemplu practic de utilizare a funciei VLOOKUP. Formatare condiional Tabelul de consultare Cotaii cuprinde dou coloane: Data cotaiei BNR i Curs Euro. Completarea datei cotaiei (fr a include weekend-urile) presupune editarea n celula B8 (ce a fost formatat personalizat i cu ziua din sptmn) a unei date calendaristice (12 ianuarie 2009). Apoi, n celula B9 se va edita o formul ce conine funcia WORDAY ce conine ca argumente: data
94
calendaristic anterioar considerat ca baz i numrul corespunztor zilei de cotaie (ce se va prelua din coloana stng). Formula astfel editat va fi copiat pe amplasamentul definit de cmpul B10:B80). Formatarea condiional a celulelor E9 (data calendaristic ce urmeaz a fi identificat) i F9 (valoarea cursului Euro recuperat din coloana a 2-a a tabelului de consultare) presupune construirea a dou formule de consultare vertical, ce vor fi implementate n caseta de dialog Conditional Formatting (Home Conditional Formatting New Rule Use a formula...). Formulele de modificare a formatului implicit pot fi editate la nivelul oricrei linii a tabelului de consultare, iar apoi formatul poate fi copiat (fie prin butonul Format Painter, fie prin succesiunea de comenzi Copy, Paste Special Formats). Astfel, celula B13 conine o formatare condiional prin care se compar valoarea ei (19 ianuarie 2009) cu rezultatul returnat de funcia VLOOKUP ce caut s identifice valoarea editat n celula E10 i cutat n coloana 1 a tabelului Cotaii. Dac cele dou valori coincid, atunci se va aplica un format personalizat ales de utilizator prin caseta de dialog aferent formatrii condiionale. n mod analog, n celula C13 se procedeaz la formatarea condiional a liniilor aferente coloanei Curs Euro, prin compararea cursului unei zile (C13=4,1390) cu valoarea corespunztoare extras din tabel, potrivit cheii de cutare cu valoarea 19 ianuarie 2009.
Un alt exemplu de utilizare a funciei de consultare vertical VLOOKUP ilustreaz n Figura 109 calcularea valorii fiecrui produs facturat prin extragerea dintr-un tabel de consultare intitulat Nomenclator i declarat pe coordonatele E22:K22 a tuturor elementelor ce compun calculul valorii facturii, n funcie de cantitatea livrat conform unei politici de acordare a reducerilor comerciale. Aceste discounturi sunt acordate numai n condiiile n care cantitatea livrat depete un anumit barem (specificat ntr-un tabel de consultare) i sunt operaionale numai pentru cantitile comandate n plus fa de acel barem. Astfel, n tabelul A8:C12 se regsesc urmtoarele categorii informaionale:
95
Funcia Sintax
cheie_de_consultare este o valoare (o constant, o adres absolut/relativ sau un nume de cmp) dup care are loc cutarea n prima linie a unui tablou de consultare orizontal; tabel_de_consultare este un cmp asupra cruia opereaz consultarea orizontal prin cutarea valorii cheii precizate anterior (observaia b); numr_linie_de_recuperat reprezint numrul implicit al liniei (prima va ncepe cu 1) de unde va fi recuperat informaia gsit n tabelul de consultare, corespunztor valorii cheii de cutare (observaia b); [valoare_logic] reprezint un argument logic (opional) cu valoare: TRUE (implicit) sau FALSE, ce specific comportamentul funciei HLOOKUP atunci cnd valoarea cheii de consultare nu va fi identificat n prima linie a tabelului de cutare (observaiile c i d). Rezultat Coninutul unei celule ce corespunde unei linii, dintr-un tablou de returnat consultare orizontal, potrivit valorii unei chei de consultare.
Observaii.
a) Tabelul de consultare orizontal este o transpunere (din orientarea pe coloane n orientarea pe linii) a unui tabel de consultare vertical. n prima linie a sa vor fi cutate valorile unei chei de consultare;
96
Este de recomandat ca tabelul de consultare s conin n prima sa linie elemente (valori numerice, iruri de caractere sau valori logice) care s fie sortate cresctor (de la stnga la dreapta). Dac valorile cheii nu sunt sortate, se va selecta tabelul de consultare i se va activa comanda de sortare: Data Sort. Din caseta de dialog Sort se activeaz butonul Option, iar din rubrica Orientation se alege opiunea Sort left to right; Valoarea afirmativ a argumentului opional (valoarea logic TRUE) este implicit i deci nu este obligatorie editarea sa n funcia HLOOKUP. Contextul n care opereaz valoarea TRUE este momentul n care valoarea cheii de consultare nu este identificat n prima linie a tabelului. n acest caz, funcia HLOOKUP localizeaz cea mai apropiat valoare (imediat mai mic) fa de cheia de consultare i recupereaz n consecin o alt informaie; Valoarea de negaie a argumentului opional (valoarea logic FALSE) n sintaxa funciei HLOOKUP declaneaz afiarea mesajului de eroare #N/A (Not Available) n cazul n care cheia de consultare nu este gsit n prima linie a tabelului de consultare. Tot n condiiile precizrii argumentului FALSE, la tastarea unei valori a cheii de consultare, mai mici dect limita inferioar a domeniului primei linii din tabelul de consultare, funcia HLOOKUP va returna tot valoare nedisponibil (#N/A). Dac argumentul FALSE este precizat n mod explicit, tabelul de consultare nu mai trebuie sortat dup valorile cresctoare din prima linie; n Figura 110 sunt ilustrate mai multe cazuri de utilizare ale funciei HLOOKUP, prin care se dorete ca la tastarea unui identificator (sub forma unui Cod Produs), existent ntr-un tablou s se recupereze automat anumite elemente cu care respectivul cod se gsete n dependen funcional.
Figura 110 Exemplu de utilizare a funciei de consultare HLOOKUP. Aplicaia 1 n Cazul 1 de utilizare, funcia de consultare vertical HLOOKUP se editeaz n celula B11 i are ca semnificaie cutarea valorii cheii de consultare Cod Produs (B10 = 102) n tabelul de consultare (B4:J6 = Tabel_consultare_orizontala) i recuperarea numrului de linie ce corespunde denumirii de produs (linia 2). Astfel, dac valoarea cheii de consultare (102) este identificat n tabloul Tabel_consultare_orizontala, se va recupera de pe a 2-a linie denumirea produsului ce corespunde produsului cu codul 102. n Cazul 2 se observ c la tastarea unui numr de cod eronat de produs (B15 = 107), inexistent n tabelul de consultare, funcia HLOOKUP nu poate identifica n prima linie valoarea cutat, returnnd denumirea produsului (ffffff) i preul (57,5) celui mai apropiat cod de produs identificat (105). Cazul 3 ilustreaz faptul c funcia HLOOKUP returneaz o valoare de eroare (#N/A ) n momentul n care se dorete recuperarea unor elemente dependente funcional de un cod de identificare inexistent n prima linie a unui tabel de consultare orizontal. Pentru a semnala
97
inexistena cheii de consultare, sintaxa funciei HLOOKUP a fost completat cu al patrulea argument poziionat pe valoarea logic de FALSE. n Cazul 4 funcia HLOOKUP a fost completat cu un test de existen ce detecteaz o valoare nedisponibil (dup acelai raionament ca i la VLOOKUP) n cazul n care valoarea cheii de consultare (B25=107) nu se regsete n prima linie a tabloului de consultare orizontal. Acest demers are avantajul c acoper i toate celelalte inconveniente semnalate n cazurile precedente de utilizare.
Exemplul prezentat n cele ce urmeaz i ilustrat n Figura 111 calculeaz prin consultri verticale i orizontale n tabelul A16:D20 Valoarea de inventar, Coeficientul de reevaluare i Valoarea reevaluat a mijloacelor fixe puse n funciune n perioda 1995 2008.
Exemplul prezentat pornete de la un tabel (declarat pe coordonatele B2:O11 i intitulat Indici ) ce cuprinde anumii coeficieni (subunitari) de reevaluare a mijloacelor fixe, pe fiecare an n parte (prima linie a tabelului B2:O2 conine anii: 1995 2008) corespunztor fiecrei categorii (descrise pe coloana A3:A11). Categoriile mijloacelor fixe corespund rndurilor (liniilor), identificate n tabel de la 1 la 9. Tabelul de consultare Q2:U15 (intitulat Imobilizri) conine elemente de identificare pentru fiecare mijloc fix (Denumire mijloc fix, Data punerii n funciune, Valoare de inventar), dependente funcional de un cod de identificare (Numr de ordine). Aplicaia extrage din tabelul de consultare Indici n celulele cmpului C17:C20 coeficientul de reevaluare, n funcie de valorile codului compozit Numr de inventar (ce este format din categoria mijlocului fix i Numrul de ordine. Funcia HLOOKUP editat n celula C19 identific anul punerii n funciune n prima linie a tabelului Indici, extrgnd coeficientul de reevaluare ce corespunde categoriei mijlocului fix. Anul punerii n funciune este extras cu funcia YEAR din ultimele patru caractere VALUE((RIGHT(A19,4))) ale numrului de inventar, localizat prin funcia VLOOKUP n tabelul Imobilizri, coloana a 3-a (Data punerii n funciune). Categoria mijlocului fix (al treilea argument al funciei HLOOKUP) este n fapt primul caracter din stnga al numrului de inventar (VALUE(LEFT(A19)+1). Decalarea cu o unitate a rndului ce conine categoria este explicat prin faptul c prima linie este rezervat anilor, a 2-a linie corespunde primei categorii, etc. Datorit faptului c procedura de consultare orizontal este operaional ncepnd cu linia 1 (ce conine valorile cheilor de consultare sau numele cmpurilor tabelului), agregatul compozit Numr Inventar din care este extras primul caracter va indica numrul liniei de recuperat i va avea valoarea incrementat cu o unitate pentru a exista o concordan ntre valorile luate de aceasta i numrul liniei de recuperat. Dac nu s-ar fi operat acest artificiu, numrul liniei de recuperat ar fi fost decalat n minus cu o unitate i deci, n condiiile n care formula VALUE(LEFT(A19) are valoarea 7, funcia HLOOKUP ar fi recuperat coeficientul de reevaluare corespunztor liniei 7 din tabel, adic coeficientul de reevaluare corespunztor anului 2007, i al categoriei a 6-a de mijloace fixe (deoarece prima linie a tabelului conine numele cmpurilor). Valoarea de inventar este extras n celula B18, prin funcia VLOOKUP din ultimele patru caractere VALUE((RIGHT(A18,4))) ale numrului de inventar, localizat tabelul Imobilizri, coloana a 4-a (Valoare de inventar). Valoarea reevaluat, calculat n celula D20 nmulete valoarea de inventar cu coeficientul de reevaluare, dac anul de punere n funciune (extras din tabelul Imobilizri) este anul curent, altfel se menine aceeai valoare de inventar.
98
Figura 112 Exemplu de utilizare a funciei HLOOKUP. Procedur de consultare mixt. Un exemplu asemntor, ilustrat n Figura 113 extrage n celula F3, prin funcia HLOOKUP se recupereaz salariul de ncadrare declarat ntr-un tabel de consultare, n funcie de precizarea vechimii i a departamentului funcional. Astfel, funcia HLOOKUP caut s localizeze vechimea (E3, cheia de consultare) n prima linie a tabelului declarat pe coordonatele B26:G31. Aceast prim linie conine valori numerice formatate personalizat cu sufixul ani. Argumentul numrul liniei de recuperat este extras prin funcia MATCH, care returneaz valoarea poziional a departamentului (C3) n
99
vectorul de consultare A26:A31. n acest caz, nu mai este necesar un test de existen a cheii de consultare n prima linie a tabelului de consultare, deoarece, dac valoarea cutat nu este identificat se returneaz salariul de ncadrare pentru cea mai apropiat vechime, imediat mai mic dect vechimea cutat.
Figura 113 Exemplu de utilizare a funciei HLOOKUP. Extragerea salariului de ncadrare n funcie de vechime i departament Un ultim exemplu ilustrat n Figura 114 calculeaz recapitulativ prin trei funcii de consultare cheltuielile de transport n lei, prin extragere dintr-un tabel de consultare, n funcie de destinaie i de cantitatea livrat. O prim abordare de recuperare i calcul a cheltuielilor de transport n celula C7, identific prin HLOOKUP destinaia (coninutul celulei C4) n prima linie a tabelului de consultare Tarife, corespunztor numrului de linie returnat indirect ca valoare poziional de funcia MATCH. Aceast abordare este operaional n condiiile unui test de existen (IF(ISERROR(......)) a destinaiei n tabelul de consultare i a unor cantiti valide pentru care exist tarife de transport. A doua abordare (din celula C8) const n localizarea cantitii livrate (B8) ntr-un tabel de consultare extins (i declarat pe coordonatele A12:F33), corespunztor unui numr de coloan ce corespunde destinaiei transportului. Acest ultim argument este specificat indirect sub forma unei valori poziionale date prin localizarea cu ajutorul funciei MATCH a destinaiei. Ultima abordare (din celula C9) utilizeaz pentru extragerea tarifului de transport funcia INDEX care opereaz pe coordonatele tabelului de consultare A12:F33. Numrul de linie este returnat de funcia MATCH, prin furnizarea valorii poziionale a cantitii livrate (B9) n cmpul Cantitati_transportate A12:A33. Numrul de coloan este specificat indirect sub forma unei valori poziionale date prin localizarea cu ajutorul funciei MATCH a destinaiei n tabelul de consultare A12:F12.
100
Figura 114 Exemplu recapitulativ de utilizare a funciilor HLOOKUP, VLOOKUP i INDEX. Calcularea cheltuielilor de transport Funciile text sa u ir de ca ra ctere (Tex t)
Funciile text permit diferite operaii cu iruri de caractere (conversii, concatenri, trunchieri, cutare i nlocuire, comparare) i furnizeaz n egal msur informaii legate de textul existent (numr de caractere, poziia caracterelor n cadrul unui ir) n celule. Potrivit facilitilor abordate din punct de vedere funcional, se pot deosebi urmtoarele tipuri de funcii: funcii text de conversie; funcii text de ameliorare a prezentrii; funcii text de cutare, nlocuire i msurare a lungimii caracterelor. 2.8 Funcii financiare
Funciile financiare efectueaz o serie de calcule economico-financiare furniznd prin valorile returnate informaii utile referitoare la amortismente, la rentabilitatea investiiilor, plasamentelor, mprumuturilor, etc. Potrivit sferei de aciune, a modului n care se calculeaz anuitile, funciile financiare se mpart n funcii pe baz de anuiti i funcii economice de amortizare.
101
Funcia Sintax
perioad;
rata_dobnzii reprezint procentul de dobnd perceput pentru o anumit numr_de_perioade reprezint numrul total de pli periodice; mrimea_plii semnific valoarea plii fcute n fiecare perioad;
[valoare_viitoare] reprezint suma total care se dorete a fi realizat dup ultima plat (valoarea viitoare la care se ajunge dup efectuarea ultimei pli); [tip] este un parametru care semnific faptul c plata se face la nceputul perioadei (valoarea 1) sau la sfritul perioadei (valoarea 0 implicit). Rezultat Valoarea actual (Present Value) aferent unei sume investite sau returnat depozitate la banc, prin pli periodice, n condiiile unei rate constante a dobnzii.
Observaii.
Funcia financiar PV calculeaz valoarea prezent a unei sume investite, adic valoarea curent a unei serii de pli viitoare. Funcia se utilizeaz pentru a se determina dac valoarea de revenire a unei anumite investiii este favorabil sau nu, innd cont de costul iniial al investiiei. a. Dac din sintaxa funciei sunt omise ultimele dou argumente, acestea vor fi considerate ca avnd valori nule. Argumentele rata_dobnzii i numrul_de_perio ade trebuie exprimate n aceeai unitate de timp lun sau an). De exemplu, dac dobnda este exprimat n ani (majoritatea dobnzilor sunt anuale), iar plile/ncasrile se vor face lunar, va trebui s se mpart rata_dobnzii (anual) la 12 (luni) pentru exprimarea acesteia n luni, iar termenele anuale s se nmuleasc la 12 (luni), pentru a se echivala rata i termenele. n principiu funciile financiare care opereaz cu anuiti i calculeaz valori investite sau remunerate (PV, PMT, FV) in cont natura i sensul acestor valori, atribuindu-le semnul algebric + sau n funcie de faptul dac valoarea respectiv semnific o cheltuial sau un venit. De exemplu, dac argumentele mrimea_plii, valo are_prezent sau valo are_viitoare sunt exprimate prin numere negative, acestea reprezint o cheltuial (o ieire de fonduri financiare), iar funcia care le utilizeaz returneaz un rezultat pozitiv (un venit n urma unei investiii sau plasament). Invers, dac argumentele mrimea_plii, valo are_prezent sau valo are_viitoare sunt exprimate prin numere pozitive, acestea semnific o ncasare (o intrare de fonduri financiare), iar funcia care le utilizeaz va returna un rezultat negativ (o obligaie, o datorie de onorat ). Altfel spus, aceste funcii calculeaz implicit o plat negativ pentru un volum pozitiv sau un volum negativ pentru o plat negativ. Pentru exemplificarea funciei financiare PV, furnizm n urmtoarea aplicaie: O persoan fizic dorete ncheierea unei polie de asigurare pe o perioad de 20 de ani, cu o rat anual a dobnzii de 12%, urmnd s plteasc lunar o prim de asigurare de 250 lei. Se dorete a se calcula valoarea prezent a anuitii. n Figura 115 s-a calculat valoarea prezent a sumei investite cu ajutorul funciei PV.
102
Funcia Sintax
aceleai argumente; [valoare_prezent] reprezint valoarea prezent (actual) a investiiei sau a plasamentului. Rezultat Valoarea viitoare (Future Value) a unei investiii sau plasament n condiii returnat de anuitate (pli i rate ale dobnzii constante).
Pentru exemplificarea funciei financiare FV, oferim urmtoarea aplicaie ilustrat n Figura 116: o persoan fizic dorete efectuarea unui plasament de 5.000 lei pe o perioad de 9 luni la o banc comercial, pentru o dobnd anual de 12%. Persoana fizic urmeaz a depune lunar la banc, alturi de depozitul iniial cte 300 lei pe aceeai perioad. Valoarea viitoare a sumei depuse la banc de respectiva persoan fizic s-a calculat n celula E8, fiind de 879 lei.
Funcia
PMT
103
Sintax
aceleai argumente. Rezultat Mrimea lunar sau anual a plii (PayeMenT) pentru o investiie sau un returnat mprumut. Figura 117 ilustreaz funcia PMT printr-un exemplu n care se presupune acordarea unui mprumut de la o banc comercial ctre o persoan fizic pentru achiziionarea unui autoturism n valoare de 76.500 lei. Rata dobnzii practicat de banc este de 12% pe an, iar durata mprumutului a fost stabilit la 5 ani. Mrimea lunar a plii ctre banc pentru creditul acordat a fost calculat prin funcia PMT n celula E14.
Figura 117 Exemplu de utilizare a funciei PMT De asemenea n exemplul prezentat s-a calculat i costul total al mprumutului ca un produs ntre mrimea lunar a plii i numrul de perioade de plat, exprimat n luni. Valoarea total a dobnzii s-a calculat ca diferen ntre costul total al mprumutului i suma mprumutat.
Calcul area ratei dobnzii lunare/anuale.
Funcia Sintax
aceleai argumente. Rezultat Rata dobnzii pe perioada unei anuiti, pentru un mprumut sau o returnat investiie. Pentru exemplificarea funciei RATE presupunem efectuarea unui mprumut printr-un credit de 11.000 lei pe timp de un an, cu o valoare lunar de rambursat (mrimea plii) n sum de 1.050 lei.
104
Funcia Sintax
aceleai argumente. Rezultat Numrul de perioade de plat pentru o investiie sau un plasament. Altfel returnat spus, se calculeaz cte vrsminte sunt necesare pentru ca un capital constituit printr-o investiie i remunerat printr-o dobnd s ating o valoare specificat.
n exemplul ilustrat n Figura 119 s-a calculat numrul de perioade n ani n care un ntreprinztor trebuie s restituie un mprumut de 11.000 lei, cu o dobnd anual de 15%, pltind lunar 1.050 lei.
a patra coloan (cmpul E41:E46 Rata de plat) reprezint Rata lunar de plat, calculat ca diferen ntre valoarea lunar a plii sau Valoarea lunar de rambursat (celula F35) i dobnda lunar. Rata de plat (lunar) reprezint anuitatea mprumutului fr a se considera dobnda. Suma ratelor de plat pentru cele 6 luni reprezint chiar suma luat cu mprumut; - a cincea coloan (cmpul F41:F46 Total de plat) reprezint chiar mrimea plii lunare sau Valoarea lunar de rambursat, adic suma dintre dobnda lunar i rata de plat (valoare egal cu PMT). Pentru cele 6 luni, mrimea plii este constant, iar suma plilor lunare reprezint costul mprumutului. mprumutul este complet rambursat la nceputul celei de-a aptea perioade, dup ce a fost achitat a asea rat. -
105
Funcia Sintax
Rezultat returnat
rata_actualizare este rata de actualizare pe parcursul unei perioade ; valo are_1 ; ..; valoare_29 reprezint pli sau ncasri.
Valoarea actual net a unei investiii bazate pe o serie periodic de intrri de numerar (cash flows).
Observaii.
Funcia NPV difer de funcia PV (Present Value), deoarece se bazeaz pe vrsminte care nu au aceeai mrime. Astfel, se calculeaz valoarea actual net a unor intrri viitoare de fonduri, pentru a se evalua rentabilitatea unei investiii. Intrrile de fonduri sunt operaionale la intervale regulate, considerate a fi la sfritul fiecrei perioade. Valoare1, ,valoare29 trebuiesc raportate la aceleai intervale de timp i trebuie efectuate la sfritul fiecrei perioade. NPV folosete ordinea argumentelor valoare1, valoare2, ... pentru a interpreta ordinea fluxurilor de numerar.
106
a. Pentru a calcula valoarea actual net prin utilizarea unei rate de actualizare, se utilizeaz serii de valori negative pentru pli viitoare i serii de valori pozitive pentru ncasri viitoare. Pentru exemplificarea funciei financiare NPV, furnizm urmtoarea aplicaie: un ntreprinztor dorete realizarea unei investiii de 170 mii lei, care i va permite ncasarea unor fonduri estimate ca variabile pe parcursul a 6 ani. Aceste intrri de fonduri se presupun a fi de 223 mii lei. Astfel, se va pune problema rentabilitii investiiei. n Figura 122 s-a construit un model economic, cu ajutorul cruia s-a calculat prin funcia NPV (n celula B95) valoarea actual net a investiiei, care a fost de 128.901,16 lei dac rata dobnzii a fost de 15% (celula B84). A face o investiie de 170 mii lei, antreneaz cheltuieli suplimentare de 41.098,84 lei fa de cheltuielile iniial prevzute.
Figura 122 Exemplu de utilizare a funciei NPV Funcii econo mice de a mo rtiza re Sunt considerate funcii economice, acele funcii financiare care calculeaz amortismentul linear sau degresiv pentru imobilizri. Majoritatea funciilor financiare pentru calculul amortismentului fac apel la noiunea de valoare rezidual. Aceast noiune semnific valoarea ce va putea fi recuperat la revnzarea imobilizrii, de regul dup expirarea duratei normate de funcionare.
SLN, AMORLINC, VDB, AMORDEGRC, SYD, DB, DDB
Calcul area amortismentelor li neare.
Funcia Sintax
durata_de_funcionare) valoare_de_inventar reprezint valoarea cu care a fost nregistrat n evidena contabil imobilizarea; valoare_rezidual semnific valoarea ce va putea fi recuperat la revnzarea imobilizrii, dup expirarea duratei normate de funcionare; durata_de_funcio nare reprezint perioada amortizabil, adic durata ct timp amortismentul va fi repartizat pe costurile produsului cruia i s-a afectat o cotparte a imobilizrii.
107
Rezultat returnat
Valoarea amortismentului linear al unei imobilizri cu o valoare de inventar dat, innd cont de o valoare rezidual estimat, pentru un numr de perioade ct se presupune c va funciona investiia.
Observaii. a. Aceast funcie este recomandat pentru calculul amortismentului linear aferent imobilizrilor puse n funciune la nceputul exerciiului financiar. Amortizarea linear aferent unei imobilizri se face prin anuiti constante (anuitatea se calculeaz raportnd valoarea de inventar a imobilizrii la durata de funcionare a acesteia). Prin funcia economic SLN, anuitile amortizrii lineare se calculeaz raportnd diferena dintre valoarea de inventar i valoarea rezidual la numrul de perioade ct a fost estimat durata de funcionare a imobilizrii. Un exemplu de utilizare a funciei SLN este prezentat n Figura 123
Funcia Sintax
108
numr_de_perioade_de_amo rtizare exprim durata pentru care se calculeaz amortismentul. Numrul de perioad este ntotdeauna zero la sfritul primei perioade; rata_amortizrii_lineare reprezint procentul de depreciere anual a imobilizrii supuse amortizrii. Acest procent se regsete n fia mijlocului fix sau se poate calcula raportnd valoarea unitar la durata normat de funcionare n ani (1/DNFani); comutato r este n fapt un cod ce indic numrul anual de zile ce este luat n consideraie pentru calculul amortismentului. Astfel, 1 indic numrul real de zile dintr-un an calendaristic, 3 indic 365 de zile pe an, 4 indic 360 de zile pe an. Rezultat Valoarea amortismentului linear al unei imobilizri innd cont de data returnat real a punerii n funciune, adic de prorata temporis.
Observaie. Funcia AMORLINC este recomandat pentru calculul amortismentului imobilizrilor puse n funciune n cursul anului. Funcia AMORLINC va fi exemplificat odat cu echivalentul su pentru amortizarea degresiv (funcia AMORDEGRC) n Figura 126 de la pagina 111.
Calcul area amortismentelor degresi ve.
Funcia Sintax
durata_normat_de_funcionare ; debutul_perioadei ; sfritul_perioadei [;rat_depreciere; comutator]) debutul_perioadei;sfritul_perio adei sunt argumente utilizate pentru calcularea anuitilor incomplete de amortisment (plecnd de la o perioad cnd se ncepe calculul amortizrii, ctre ultima perioad pentru care se calculeaz amortizarea); [rat_depreciere] este un parametru care influeneaz amortizarea n sensul creterii gradului de depreciere al imobilizrii. [comutator] permite sau trecerea automat de la amortizarea degresiv la amortizarea linear (valoare zero implicit) sau mpiedicarea acestei treceri (valoare unu). Rezultat Valoarea amortismentului degresiv ajustat (Variable Declining Balance) returnat aferent unei imobilizri cu o valoare de inventar dat amortizabil pe mai muli ani, o valoare rezidual semnificativ i cu o anumit rat de depreciere.
Observaie. Amortismentul degresiv ajustat reprezint amortismentul contabil descresctor (amortismentul este mai mare pentru primele anuiti) pn ce anuitatea amortismentului este mai mic dect anuitatea ce corespunde amortismentului linear, iar de aici ncolo suma amortizabil este calculat linear. Pentru exemplificarea funciei VDB, furnizm urmtoarea aplicaie: O societate comercial efectueaz la nceputul anului o investiie de 100 mii lei, amortizabil n cinci ani. Rata de depreciere pentru o astfel de investiie cu o durat de funcionare de 5 ani este de 2. Pentru c investiia a fost finalizat la nceputul anului, aceasta este complet amortizat la sfritul celui de-al cincilea an. Tabloul de amortizare aferent acestei imobilizri este prezentat n Figura 124. Pentru fiecare an, perioadele de debut i sfrit sunt luate n calcul n coloanele D i E. Primul an de amortizare a imobilizrii ncepe la 1 ianuarie (valoare 0) i dureaz pn la 31 decembrie (valoare 1) i
109
aa mai departe pentru urmtorii ani (intervalul fiind de o unitate). Se remarc faptul c ultimele dou anuiti sunt egale (10.800 lei), metoda de calcul a amortizrii trecnd automat de la procedeul degresiv la cel linear n anul patru. Dac investiia ar fi fost pus n funciune la mijlocul anului, perioada de debut sfrit aferent primului an, ar fi fost 0 i 0,5, iar dac investiia ar fi fost terminat la 1 aprilie, intervalul ar fi fost 0 i 0,75 (9/12 dintr-un an). Dac tabloul de amortizare ar fi recalculat utiliznd comutatorul 1, calculul degresiv ar fi fost complet, ultima tran de amortizare pentru anul 5 fcndu-se prin diferen, dup cum se observ i din Figura 125.
=AMORDEGRC(valoare_de_inventar ;
110
durat_de_funcionare ; perioada_de_calcul_a_amortizrii)
argumente prezentate anterior. Rezultat Valoarea amortismentului degresiv absolut, fr a corecta ultimele returnat anuiti pentru amortizarea complet a investiiei.
n Figura 127 este prezentat un model de calcul pentru amortismentul degresiv absolut cu ajutorul funciei SYD. Rezultatele calculate pe domeniul C11:C18 pot fi interpretate n felul urmtor: pentru o durat normat de funcionare de 8 ani, o imobilizare a crei valoare de inventar este de 80 mii lei s-ar amortiza degresiv n primul an cu 15.556 lei, n al doilea an cu 13.611 lei, ., n ultimul an cu 1.944 lei (suma amortismentelor n cei 8 ani fiind de 70 mii lei).
111
Funcia Sintax
DDB =DDB(valoare_de_inventar;valoare_rezidual ;
112
Figura 128 ilustreaz un exemplu edificator de utilizare a funciilor DB i DDB pentru o imobilizare cu o valoare de inventar de 80 mii lei, o valoare rezidual de 10 mii lei, o durat de funcionare de 8 ani i un numr de 10 luni pe an de exploatare a respectivului mijloc fix.
Bibliografia Capitolului 3
Nr. Crt. Nume Prenume Titlu Editura Ed. Infomega, Bucureti, 2009,pag 157-307 Ed. Infomega, Bucureti, 2005, Ed. Wiley Publishing Inc., 2007
1.
Tehnologia Aplicatiilor Office, Excel 2007 Office 2003 Aplicaii i teste rezolvate de WORD i EXCEL Microsoft Office Excel 2007 Bible
2.
3.
Walkenbach John
113