Sunteți pe pagina 1din 265

Gestiunea bazelor de date i optimizare n Microsoft Excel

Nagy Lajos, Csipks Margit, Tth Rka,


Kelemen Erzsbet, Plhegyi-Farkas Lszl

Gestiunea bazelor de date


i optimizare n Microsoft Excel

Partiumi Kiad

Oradea, 2011

REDACTOR
ZAKOTA Zoltn
Design
Bcs Bence
Tehnoredactare
Dr. Tarnczi Tibor

ISBN-978-606-8156-28-6

Acest manual a fost realizat n cadrul Programului de cooperare transfrontalier Ungaria-Romnia


20072013 (www.huro-cbc.eu), cu finanarea Uniunii Europene i cofinanarea Fondului European de Dezvoltare Regional, respectiv a Republicii Maghiare i a Romniei, derulat n cadrul
proiectului Computational support for the decision making of the cross-border SMEs (Asistare
computerizat n activitatea decizional a ntreprinderilor mici i mijlocii din zona transfrontalier)
CaDS-SMsE HURO/0901/255/2.5.1

Descrierea CIP a Bibliotecii Naionale a Romniei


Gestiunea bazelor de date i optimizare n Microsoft Excel / Nagy Lajos,
Csipks Margit, Tth Rka, .... - Oradea : Partium, 2011
ISBN 978-606-8156-28-6
I. Nagy, Lajos
II. Csipks, Margit
III. Tth, Rka
004.42 EXCEL

Dou ri, un scop, succes comun!

CUPRINS

CUPRINS .................................................................................................................................. 1
INTRODUCERE ......................................................................................................................... 4
1. NOIUNI FUNDAMENTALE PRIVIND BAZELE DE DATE.......................................................... 5
1.1. BAZE DE DATE RELAIONALE, NORMALIZARE ..................................................................................5
1.2. TABELUL - BAZ DE DATE .........................................................................................................11
1.2.1. Crearea unui tabel - baz de date din date existente ...............................................12
1.2.2. Crearea unui tabel-baz de date gol ........................................................................16
1.2.3. Introducerea datelor cu formular de introducere a datelor (Form) ..........................17
1.3. TRANSFORMAREA TEXTULUI N TABEL ........................................................................................20
1.4. ELIMINAREA REPETIIILOR DIN BAZA DE DATE...............................................................................24
1.5. FORMULE, FUNCII, REFERINE LA CELULE (ADRESE)......................................................................28
1.5.1. Formule i funcii ......................................................................................................29
1.5.2. Referine (adrese) relative, absolute i mixte ...........................................................34
1.5.2.1. Ce este referina structurat? ......................................................................................... 42

1.6. VALIDAREA DATELOR N TABELE ................................................................................................44


1.7. PROTECIA FIIERULUI I PROTECIA FOII DE LUCRU.......................................................................65
2. CUTARE I FILTRARE N BAZA DE DATE ............................................................................ 71
2.1. CUTARE, NLOCUIREA DATELOR I SALTURI N BAZA DE DATE .........................................................71
2.2. UTILIZAREA FUNCIILOR DE CUTARE .........................................................................................77
2.2.1. Funcia ADDRESS() ....................................................................................................78
2.2.2. Funcia VLOOKUP() ...................................................................................................80
2.2.3. Funcia de cutare HLOOKUP() .................................................................................83
2.2.4. Funcia MATCH() .......................................................................................................87
2.2.5. Funcia INDEX() .........................................................................................................89
2.2.6. Funcia INDIRECT() ....................................................................................................94

Dou ri, un scop, succes comun!

2.2.7. Funcia LOOKUP() ..................................................................................................... 96


2.2.8. Funcia GETPIVOTDATA() ....................................................................................... 100
2.2.9. Funciile COLUMN() i COLUMNS() ......................................................................... 103
2.2.10. Funciile ROW() i ROWS() .................................................................................... 106
2.2.11. Funcia AREAS() .................................................................................................... 108
2.2.12. Funcia TRANSPOSE() .......................................................................................... 110
2.2.13. Funcia CHOOSE() ................................................................................................. 111
2.3. ARANJAREA DATELOR ........................................................................................................... 113
2.4. FILTRAREA DATELOR............................................................................................................. 117
2.4.1. Utilizarea filtrrii automate.................................................................................... 118
2.4.2. Filtrarea special sau complex (filtrare dirijat) .................................................. 121
2.5. FUNCII AFERENTE BAZELOR DE DATE ...................................................................................... 124
2.6. APLICAIILE FUNCIILOR AFERENTE BAZELOR DE DATE ................................................................. 131
2.7. GRUPAREA DATELOR I SUBTOTALURI ...................................................................................... 139
3. ANALIZA SCENARIILOR ..................................................................................................... 146
3.1. ANALIZE TIP CE-AR FI DAC... (WHAT IF) ............................................................................... 148
3.1.1. Managerul de scenarii ............................................................................................ 148
3.1.2. Tabelul de date (Data Table) .................................................................................. 156
3.2. CUTAREA VALORII INT CU SOLVER ...................................................................................... 162
3.2.1. Cutarea valorii int ............................................................................................. 163
3.3. SOLVER ............................................................................................................................. 165
3.3.1. Configuraiile de baz ale Solver ........................................................................... 165
3.3.2. Programarea linear n rezumat ............................................................................ 172
3.3.3. Prezentarea aplicaiilor Solver................................................................................ 174
3.3.3.1. Schema elaborrii unui model de programare linear n Excel .................................... 174
3.3.3.2. Aplicaii Solver .............................................................................................................. 192

4. AUTOMATIZAREA OPERAIILOR ...................................................................................... 207


4.1. AUTOMATIZAREA CU AJUTORUL MACROURILOR ......................................................................... 208

Dou ri, un scop, succes comun!

4.1.1. Inregistrarea unui macro .......................................................................................209


4.1.2. Rularea unui macro ................................................................................................214
4.1.3. Editarea macrourilor ...............................................................................................219
4.1.4. Crearea macrourilor cu ajutorul Microsoft Visual Basic .........................................221
4.1.5. tergerea unui macro .............................................................................................222
4.2. PROTECIE N CAZUL MACROURILOR ........................................................................................222
4.3. NTOCMIREA FORMULARELOR ................................................................................................225
BIBLIOGRAFIE .......................................................................................................................235
ANEXA ..................................................................................................................................239

Dou ri, un scop, succes comun!

Introducere
Se ntmpl adesea ca programele de administrare a bazelor de date i
programele de administrare a tabelelor s fie tratate ca sinonime, dei diferena
dintre ele este semnificativ. Programele de administrare a bazelor de date
descriu mulimi de date cu corelaiile complexe existente ntre ele, pe cnd
programele de administrare a tabelelor se ocup doar cu prezentarea datelor ntro anumit form. Totui exist i elemente comune, ex. i n programele de
administrare a tabelelor exist posibilitatea (re)organizrii datelor dup anumite
criterii (ex. dup anumite coloane), sau putem ntocmi tabele pivot, adic putem
selecta anumite elemente dintr-un tabel, sau putem ntocmi un nou tabel pe baza
unei caracteristici descrise ntr-un alt tabel utiliznd diferite funcii. Deci
programele de administrare a tabelelor i cele de administrare a bazelor de date
nu se deosebesc ntru totul. De exemplu, programul Microsoft Excel, unul dintre
cele mai rspndite programe de administrare a tabelelor (calcul tabelar) are i
funciuni de administrare a bazelor de date.

n acest volum vom trece n revist noiunile fundamentale referitoare la bazele


de date, vom analiza modul de utilizare a programului Excel pentru elaborarea
bazelor de date i modul cum se pot realiza diferite analize de date cu ajutorul
acestuia. La sfritul crii vom face cunotin cu ctevamodaliti de
automatizare a sarcinilor de rutin zilnic, pentru a ne accelera i eficientiza
activitatea.

Dou ri, un scop, succes comun!

1. Noiuni fundamentale privind bazele de date


1.1. Baze de date relaionale, normalizare

Baza de date relaional se definete ca fiind totalitatea datelor realizate prin


aplicarea principiului modelului relaional de date, adic o mulime finit a aa
numitelor relaii definite n cadrul sistemului de noiuni al modelului relaional
de date. Fundamentele modelului au fost publicate n anul 1970 de ctre Edgar
F. Codd, angajat al IBM, n articolul su A Relational Model of Data for Large
Shared Data Banks.Cel mai mare avantaj al modelului l constituie simplitatea i
flexibilitatea. Baza de date este format din tabele (colecii de date)
bidimensionale; rndurile se numesc nregistrri (record-uri), iar coloanele se
numesc

cmpuri

de

nregistrri

(record-uri).

Rndurile

conin

date

interdependente din punct de vedere logic, iar coloanele conin caracteristicile/


atributele datelor. O baz de date const, n general, n mai multe tabele/colecii
de date. Baza de date relaional realizeaz corelarea tabelelor prin intermediul
cmpurilor cu date corelate (cheie). (De exemplu, corelaia dintre dou cmpuri
se realizeaz dac acestea au coloane cu aceeai denumire.)

Baza de date relaional poate fi elaborat cu ajutorul soft-ului de gestiune a


bazelor de date, special dezvoltat n acest scop, respectiv, n cazul utilizrii
limbajului standard de acces i interogare (SQL - Structured Query Language)
poate fi realizat, editat i interogat prin comenzi scrise.

Dou ri, un scop, succes comun!

n modelul relaional de baz de date, mulimea relaiilor i, corespunztor,


fiecare element al relaiei (rnd) este unic. Gestionarii bazelor de date
relaionale tipice utilizeaz, totui, trei modificri: pe de o parte relaiile nu sunt
descrise ca mulimi, ci drept saci (engl.: bag, totalitatea elementelor
neorganizate, n care se permit i repetiii), pe de alt parte nu este permis ca o
relaie s conin dou atribute (coloane) cu denumiri identice, iar n al treilea
rnd este posibil utilizarea valorilor nule (goale, necunoscute).

Crearea bazelor de date relaionale constituie domeniul proiectrii bazelor de


date.

Normalizarea nseamn sistematizarea datelor aflate n baza de date. Ca


rezultate, aceasta poate duce la crearea de tabele i crearea de corelaii ntre ele,
pe baza unor reguli. Scopul regulilor este flexibilizarea datelor (ex. eliminarea
redundanelor i corelaiilor inconsistente).

Datele redundante ocup, inutil, suprafee ale hard disk-ului, provocnd


probleme de ntreinere. Dac trebuie modificate date aflate n mai multe locuri,
modificarea trebuie realizat identic n fiecare loc. De exemplu, dac trebuie
modificat o anumit informaie referitoare la un partener, modificarea este mai
simpl dac informaia respectiv figureaz numai n tabelul Parteneri, nu i
n alt parte a bazei de date.

Ce este corelaia inconsistent? Dac un utilizator este interesat de adresa unui


partener, e de la sine neles s-o caute n tabelul Parteneri, dar nu ar fi logic ca
6

Dou ri, un scop, succes comun!

salariile angajailor partenerilor s fie stocate n acelai tabel. Salariul


angajatului aparine de angajai, deci trebuie inclus n tabelul Angajai.
Urmarea corelaiilor inconsistente poate fi accesul dificil la date, fiindc drumul
de acces la acestea poate fi incomplet sau greit.

Prin normalizare ne propunem s parcurgem un proces n trepte n urma cruia


s formm grupuri de date legate organic ntre ele i care depind n ntregime de
identificatorul unic (cheia primar) al grupului. Normalizarea bazelor de date are
unele reguli, numite i forme normale. Dac baza de date se supune regulii nr. 1,
aceasta se afl n forma normal 1. Dac se supune primelor trei reguli, se afl n
forma normal 3. Astfel pot fi create tabelele tip NF1, NF2, NF3 (BCNF), NF4
i NF5. n practic se utilizeaz de obicei tabelele NF3.

n cazul formelor normale de rang superior, interdependena datelor se poate


exprima prin corelaia funcional: valoarea t(2) a unui tabel T este n corelaie
funcional cu valoarea t(1) dac fiecrei valori t(1) a tabelului i corespunde
numai o singur valoare a lui t(2). Valorile t(1) i t(2) pot fi i complexe. Dac
t(2) depinde funcional de t(1) dar nu depinde de nici o submulime a lui t(1),
atunci spunem c t(2) este n ntregime funcional dependent de t(1), iar t(1) se
numete determinantul lui t(2). Un tabel este de forma NF2 dac este n NF1 i
toate acele atribute care nu sunt chei primare sau pri ale acesteia, sunt total
dependente funcional de cheia primar. Putem vorbi de NF3 dac tabelul are
forma NF2 i toate dependenele provin de la cheia primar. Un tabel poate fi de
forma BCNF numai dac determinanii coninui n el sunt n acelai timp i
chei primare (ex. Popescu i colaboratorii, 2005).
7

Dou ri, un scop, succes comun!

Uneori problemele reale nu pot fi aduse n coresponden total cu regulile i


specificaiile. Normalizarea presupune n general, crearea de noi tabele, ceea ce
este o munc obositoare. Dac nu ndeplinim una dintre primele trei reguli ale
normalizrii, trebuie s ne convingem c aplicaia elimin eventualele probleme
aprute (ex. redundana datelor i inconsistena corelaiilor).

NF1 (tabel normal de forma 1) este tabelul n al crui cmpuri apar numai
atribute simple. Acesta nu conine dou rnduri asemenea, ntotdeauna va exista
cte un atribut sau mai multe care le deosebesc.

n acest caz, scopul normalizrii este eliminarea grupurilor repetate i crearea


cte unui nou tabel pentru fiecare mulime de date corelate.

Tabelulul 1.: Tabel cu repetiii


Produs

Distribuie Furnizor Furnizor


Locul
depozitrii
1
2
logic

Magazia 1

D30/R

H&K

Futr

Magazia 2

Hala A

Sebes

Baracs

Tabelul poate avea numai dou dimensiuni. ntruct unui produs i corespund
mai muli furnizori, produsele trebuie enumerate ntr-un tabel separat. La
nregistrrile de mai sus ale tabelului 1, Furnizor 1 i Furnizor 2 constituie
defecte de proiectare.

n tabelele de calcul se utilizeaz adesea i a treia dimensiune, dar n tabelele de


date acest lucru nu este permis. O alt abordare a problemei este c nu pot
8

Dou ri, un scop, succes comun!

coexista n acelai tabel, cele dou laturi ale unei corelaii tip 1 la n (1 la multe).
De aceea vom elimina repetiia (grupul repetat) prin crearea unui tabel de tip
NF1 (Tabel 2).

NF2 (forma normal 2)se creeaz cu scopul eliminrii redundanei datelor. n


acest scop, pentru grupele de valori referitoare la mai multe nregistrri vom
crea tabele separate. Tabelele le com interconecta cu chei exterioare.
nregistrrile vor putea depinde numai de respectivele chei primare ale tabelelor
(dac este nevoie,cheii pot fi combinate).

Tabelul 2.: Primul tabel fr repetiii


Produs

Locul
depozitrii

Distribuie
logic

Furnizor

Magazia 1

D30/R

H&K

Magazia 1

D30/R

Futr

Magazia 2

Hala A

Sebes

Magazia 2

Hala A

Baracs

n tabelul 2, fiecare produs are mai muli furnizori. Furnizorul nu depinde


funcional de produs (cheie primar), de aceea relaia nu este n forma normal
2.

Prin separarea Tabelului 2 am obinut NF2 (tabelul 3 i tabelul 4).

NF3 (a treia form normal) se realizeaz prin filtrarea datelor pentru


eliminarea celor care nu depind de cheie.
9

Dou ri, un scop, succes comun!

Tabelul 3.: Tabelul Produse


Locul
depozitrii

Produs

Distribuie
logic

Magazia 1

D30/R

Magazia 2

Hala A

n tabelul 3, distribuia logic nu depinde funcional de locul depozitrii.


Rezolvarea nseamn s separm acest cmp de produse i s nfiinm un nou
tabel pentru locul depozitrii (tabelele 5 i 6).

Tabelul 4.: Originea produselor


Produs

Furnizor

H&K

Futr

Sebes

Baracs

Tabelul 5.: Noul tabel Produse


Produsul

Locul depozitrii

Magazia 1

Magazia 2

Atenie! Dei utilizarea NF3 este necesar teoretic n orice situaie, n practic
aceasta poate duce la probleme. De exemplu, dac avem un tabel pentru Clieni
i am vrea s eliminm toateinterdependenele posibile dintre cmpuri, ar trebui
10

Dou ri, un scop, succes comun!

s creem tabele separate pentru localiti, coduri potale, reprezentani


comerciali, birouri de aprovizionare i oricare alt element repetitiv din
nregistrri. Dar numrul mare de tabele de mici dimensiuni poate reduce
eficacitatea, iar numeroasele fiiere deschise ocup, inutil, memoria. De aceea
este recomandat s se utilizeze a treia form normal numai n cazul n care
datele se schimb des. Dac rmn cteva cmpuri dependente, aplicaia trebuie
astfel proiectat nct s cear utilizatorului, verificarea cmpurilor conexe la
fiecare modificare.

Tabelul 6.: Tabelul Locuri de depozitare


Locul
depozitrii

Distribuie
logic

Magazia 1

D30/R

Magazia 2

Hala A

1.2. Tabelul - baz de date

Dei n Excel nu avem posibilitatea de a utiliza baze de date relaionale, totui


putem efectua operaii asemntoare celor de gestionare a bazelor de date, astfel
putnd s ne eficientizm activitatea de zi cu zi. Tabelul baz de date este
bidimensional, aa cum s-a descris n capitolul 1.1. n versiunile anterioare ale
Excel, acestea se numeau liste, n timp ce, n Excel 2007 au primit denumirea de
tabele. Cu tabelele astfel realizate pot fi efectuate diverse operaii specifice
bazelor de date, organizri, nsumri, fiindc structura tabelelor respective este
asemenea bazelor de date, adic este format din nregistrri i cmpuri. Cnd
11

Dou ri, un scop, succes comun!

creem un tabel pe o foaie de lucru n aplicaia Microsoft Excel, putem trata i


analiza datele din tabel n mod independent fa de datele dinafara tabelului.
Putem filtra coloanele tabelului, putem s-i adugm un rnd pentru sume, l
putem formata.

De fapt nregistrarea (record) este un rnd al tabelului i conine caracteristicile


unei uniti (ex. denumirea firmei, adresa, numrul de telefon, cifra anual de
afaceri etc.). Cmpul reprezint o coloan a tabelului, deci cuprinde datele de
acelai fel din toat baza de date (ex. coloana Denumirea firmei va cuprinde
toate denumirile firmelor incluse n baza de date).

Deci n Excel, rndurile tabelului vor fi nregistrrile, iar denumirile coloanelor


vor fi denumirile cmpurilor.

Se pot crea baze de date n mai multe feluri:

Definim drept baz de date, un tabel completat cu denumiri de cmpuri i


cu date;

Creem o baz de date goal, apoi o completm;

Utilizm un formular de introducere a datelor.

1.2.1. Crearea unui tabel - baz de date din date existente

Dac vrem s transformm n baz de date un tabel completat, selectm meniul


INSERARE (INSERT), n care din cmpul Tabele (Tables) selectm iconia
Table.
12

Dou ri, un scop, succes comun!

Exemplu 1.: S transformm tabelul cu lista angajailor n baz de date.

Selectm tabelul, facem clic pe iconia Table aflat n banda de meniu


INSERT, pe locul al doilea din stnga. Dup clic, zona selectat va fi
nconjurat de o linie ntrerupt i apare o mic fereastr cu titlul Create table.
Aici, dac este necesar, mai putem corecta selecia, respectiv, selectnd
opiunea My table has headers, denumirile cmpurilor se atribuie primului
rnd al tabelului - baz de date creat (fig. 1.).

Fig. 1.: Crearea tabelului - baz de date

13

Dou ri, un scop, succes comun!

Ca rezultat al operaiunii obinem tabelul-baz de date. n primul rnd al


tabelului vom gsi denumirile cmpurilor (Numele angajatului, Localitatea
etc.), iar n celelalte rnduri gsim nregistrrile (Fig. 2.).

Fig. 2.: Tabelul - baz de date

Dac se face clic pe oricare dintre elementele tabelului, la sfritul benzii de


meniu apare un nou element de meniu (Table Tools/DESIGN) (Fig. 3.).

n cele ce urmeaz, putem redenumi tabelul (n starea de baz, acesta se numete


Table1/TableX, aa cum se vede n partea stng mijloc a benzii de meniu (Fig.
3.), iar n exemplul nostru l redenumim Angajai.

Putem de asemenea s extindem baza de date, adugnd rnduri i coloane noi.


Acest lucru se realizeaz insernd date noi n rndul urmtor sau n coloana
urmtoare. n cazul coloanelor noi nu trebuie scpat din vedere c n primul rnd
se nscrie denumirea noului cmp (identificarea coloanei) (Fig. 5.). Astfel, baza
de date se extinde automat cu un rnd sau o coloan.

14

Dou ri, un scop, succes comun!

Fig. 3.: Banda de meniu Table Tools / Design

Fig. 4.: Redenumirea tabelului

15

Dou ri, un scop, succes comun!

Fig. 5.: Introducerea de date noi

Excel recunoate automat, tabelul creat ca n exerciiul anterior, totui trebuie s


avem grij ca ntre tabelul existent i noul rnd (sau noua coloan) s nu existe
rnd liber (coloan liber), fiindc spaiile libere delimiteaz baza de date. Pe o
foaie de lucru pot fi create mai multe baze de date, dar ne ferim de multe
neplceri dac pe o foaie de lucru stocm doar una singur.

1.2.2. Crearea unui tabel-baz de date gol

Pentru a ntocmi un tabel gol tip baz de date, selectm o celul de pe foaia de
lucru Excel, facem clic pe iconia Table din banda de meniu INSERT/Tables.
Ca urmare obinem un tabel format din dou celule (Fig. 6.). Denumirea
coloanei o nlocuim cu denumirea dorit i putem insera noi denumiri de celule
pentru a extinde tabelul conform necesitilor noastre. Dup aceea putem ncepe
introducerea nregistrrilor. i n acest caz trebuie avut grij s nu rmn
rnduri goale n baza de date.

16

Dou ri, un scop, succes comun!

Fig. 6.: Tabel gol

1.2.3. Introducerea datelor cu formular de introducere a datelor (Form)

Formularele (form, n lb. englez) ofer o metod simpl de completare a unui


domeniu de date sau pentru completarea n ntregime a tabelului, respectiv
verificarea coninutului fr rulare orizontal. Utilizarea formularului de
introducere a datelor uureaz mult sarcinile de introducere a datelor, fiindc nu
mai este necesar trecerea de la o coloan la alta cnd vrem s accesm mai
multe date dect ncap pe ecran. Este raional s utilizm formularul de
introducere a datelor atunci cnd e suficient un formular simplu, n care
cmpurile sunt prezentate ca etichete, iar funciile de formular, speciale sau
individuale, ex. cmp de listare (cu derulare pe vertical) sau sgeata pentru
deplasare ntre celule nu sunt necesare.

n versiunea de baz, butonul form

nu se gsete n bara de instrumente. Se

poate include n meniul de comenzi rapide prin clic pe CUSTOMIZE QUICK


TOOLBAR/MORE COMMANDS. Se caut iconia Form prin Choose
commands from, cutnd n All commands i fcnd clic pe iconia Form.. .
17

Dou ri, un scop, succes comun!

(fig. 7. i fig. 8.), apoi pe Add. (nota trad.: iconia va aprea pe bara de comenzi
rapide, sub bara de instrumente).

Introducerea datelor este foarte simpl. Selectm oricare celul a bazei de date i
facem clic pe butonul Form

. Ca exemplu s vedem cum putem introduce date

n tabelul Vnzri. n urma selectrii butonului

, lng tabelul nostru apare o

fereastr cu denumirile cmpurilor i cu datele primei nregistrri (dac baza de


date este goal, n mod normal, fr date). n partea din dreapta sus a
formularului vedem numrul rndului (nregistrrii) n care ne aflm i numrul
total de rnduri/ nregistrri al tabelului. Deci 1/5 nseamn c ne aflm pe
rndul nti, iar numrul total de rnduri/ nregistrri este 5. Dedesubt se gsete
butonul New. Fcnd clic pe acest buton, ne poziionm pe urmtorul rnd gol,
n care putem introduce date.

Fig. 7.: Introducerea butonului Form n meniul de comenzi rapide (pasul 1)

18

Dou ri, un scop, succes comun!

Fig. 8.: Introducerea butonului Form n meniul de comenzi rapide (pasul 2)

Cu butonul Delete se poate terge nregistrarea actual. tergerea efectuat nu se


poate revoca! Cu butonul Restore se pot terge datele din rndul tocmai
completat sau putem restaura datele dintr-o nregistrare pe care tocmai am
modificat-o. Butoanele Find Prev i Find Next se utilizeaz pentru deplasarea
pe vertical prin baza de date. Cu butonul Close se poate iei din baza de date,
salvnd n acelai timp, nregistrrile i modificrile efectuate(Fig. 9.).

19

Dou ri, un scop, succes comun!

Fig. 9.: Introducerea datelor cu ajutorul Form (formular de introducere


date)

1.3. Transformarea textului n tabel

Se poate ntmpla s putem descrca baze de date de pe internet, din editorul de


texte sau din alte surse, doar obinnd un format text. Transformarea manual n
tabel este complicat i solicit foarte mult timp. n astfel de situaii, expertul
din Excel, cu ajutorul cruia conversia se face rapid i destul de precis, este de
mare ajutor. Pentru aceasta deschidem banda de meniu DATA, iar din cmpul
DATA TOOLS, acionm comanda Text to columns. (fig. 10.)

Exemplu 2.: Vom arta paii conversiei printr-un exemplu. Tabelul 7. prezint
un fragment al unei liste de preuri pentru plci ceramice, pe care l-am copiat n
Excel de pe site-ul productorului. Textul copiat conine doar separarea pe
rnduri i n final, coninutul coloanei A trebuie aranjat n trei coloane.
20

Dou ri, un scop, succes comun!

Fig. 10.: Iconia comenzii Text to columns

Tabelul 7.: Tabelul original

Selectm domeniul A1:A5, apoi facem clic pe butonul Text to Table. Apare
fereastra Convert text to column Wizard (Fig. 11.).

Referitor la tipul datelor iniiale, expertul (wizard) ne propune imediat c datele


sunt delimitate prin vreun semn sau spaiu (tab), respectiv dac se aflau n
coloane de lime fix. n exemplul nostru, textul dat este delimitat prin semn
sau spaiu, aa va aprea i n fereastra Preview of selected data.

n al doilea pas al expertului trebuie s precizm semnul care delimiteaz datele.


Este simplu, fiindc la gsirea semnului de delimitare adecvat, n fereastra Data
Preview apare o linie despritoare. Acum putem verifica i corectitudinea
delimitrii.
21

Dou ri, un scop, succes comun!

Fig. 11.: Transformarea textului n tabel. Pasul 1

n pasul al treilea avem posibilitatea s stabilim tipul datelor din fiecare coloan
a noului tabel i locaia tabelului (Destination) (Fig. 13.). La precizarea tipului
de date din coloan (Column data format) este de ajuns opiunea General, dar se
poate ntmpla c la datele numerice din tabelul original, redate prin fracii
zecimale, separatorul nu este virgul, ci punct. n astfel de cazuri, prin clic pe
butonul de comand Advanced se poate stabili semnul separator, ct i numrul
zecimalelor, fiindc se poate ntmpla ca Excel s interpreteze unele valori
numerice ca date calendaristice, aceasta putnd fi o surs de erori n tabel.

Dac lucrm corect, obinem un tabel bine organizat, corespunztor scopului


nostru. (Tabelul 8.).

22

Dou ri, un scop, succes comun!

Fig. 12.: Transformarea textului n tabel. Pasul 2

Fig. 13. Pasul final al transformrii textului n tabel

23

Dou ri, un scop, succes comun!

Tabelul 8.: Rezultatul transformrii textului n tabel

1.4. Eliminarea repetiiilor din baza de date

n subcapitolul 1.1. ne-am ocupat cu bazele de date relaionale i cu diferitele


forme normale. Datele identice redundanele pot produce adesea probleme
n prelucrarea ulterioar, nemaivorbind de faptul c baza noastr de date se
poate umfla inutil.

Pentru eliminarea repetiiilor vom selecta tabelul care conine repetiii, facem
clic pe meniul DATA, apoi n banda DATA TOOLS facem clic pe comanda
Remove duplicates (Fig. 14.).

Fig. 14.: Iconia comenzii Eliminare dublu

Atenie! Dup eliminarea repetiiilor, datele originale se terg, de aceea se


recomand insistent, salvarea unei versiuni iniiale a bazei de date.
24

Dou ri, un scop, succes comun!

Exemplu 3.: Tabelul 9. conine datele despre vnzrile pe primul trimestru ale
unei reele de magazine en detail. Dac se studiaz tabelul, se constat c acesta
conine mai multe repetiii. Fiecare nregistrare conine datele de baz ale
magazinelor respective, ceea ce pe de o parte mrete inutil dimensiunile
tabelului, iar pe de alta face dificile eventualele modificri. S eliminm din
tabel, informaiile care nu sunt relevante din punctul de vedere al rezultatelor
economice i s construim un tabel al datelor despre vnzri.

Tabelul 9.: Datele despre vnzrile unitilor comerciale

25

Dou ri, un scop, succes comun!

Ca prim pas s facem o copie a bazei de date originale, pe care s-o


denumimDate magazine (n. Trad: n acest caz,denumirea bazei de date este
denumirea foii de lucru Excel, n stnga jos a foii).

Pentru a crea o copie, se face clic dreapta cu mouse-ul pe titlul Date vanzari al
foii de lucru i se selecteaz comanda Move or copy. (Fig. 15.). Apoi se
selecteaz locul unde se va depozita copia i se bifeaz ptratul Create a copy.
(Fig. 16.). Apoi copia va fi redenumit:Date magazine.

Fig. 15.: Comanda Move or Copy (mutare sau copiere)

n etapa urmtoare s eliminm repetiiile din foaia de lucru Date magazine. Se


selecteaz tabelul i se face clic pe comanda Remove Duplicates din bara
DATA TOOLS a meniului DATA. n fereastra care se deschide, se bifeaz
numai ptratul dinaintea coloanei Bolt szma (Fig. 17.).

26

Dou ri, un scop, succes comun!

Fig. 16.: Realizarea unei copii a foii de lucru

Fig. 17.: Eliminarea repetiiilor

27

Dou ri, un scop, succes comun!

Dup eliminarea repetiiilor rmn 6 rnduri (Fig 18.). Tabelul conine dou
cmpuri fr legtur cu datele de baz: Perioada (Idszak) i Vnzri, mii Ft
(Forgalom EFt), care pot fi terse.

Fig. 18.: Lista unitilor comerciale dup eliminarea repetiiilor

n ultimul pas, din foaia Date vanzarise pot terge coloanele ef magazin, Jude,
Localitate i Adres. Drept rezultat al muncii noastre obinem dou tabele
normalizate, care nu conin date redundante (Table 10.).

1.5. Formule, funcii, referine la celule (adrese)

Acest subcapitol nu este strns legat de capitolele anterioare, iar cele de mai jos
vor fi tratate pe larg n alte volume ale seriei. Scopul nostru este o scurt trecere
n revist a funciilor i a referinelor la celule (adrese), pentru a nlesni
nelegerea celor descrise n cartea de fa.

28

Dou ri, un scop, succes comun!

Tabelul 10.: Tabelele cu datele magazinelor i datele vnzrilor dup


eliminarea repetiiilor

1.5.1. Formule i funcii

Adesea datele introduse n celulele tabelului provin din calcule efectuate pe baza
datelor existente. Calculele se efectueaz cu ajutorul formulelor. Formulele sunt
ecuaii cu ajutorul crora putem realiza: efectuarea de calcule, redarea
informaiilor, modificarea coninutului altor celule, verificarea condiiilor .a.
Formulele ncep ntotdeauna cu semnul egal (=). Formula poate s conin:
funcii, referine, operatori (semne ale operaiilor) i constante.

Exemplu 4.: Fie formula din celula B4 (Fig. 19.)


29

Dou ri, un scop, succes comun!

Fig. 19.: Formul, referin, operatori, constante

=IF(2*B1^2-(B1-B2)*B1>B3;
aria formei geometrice depete valoarea maxim!;
2*B1^2-(B1-B2)*B1)

n formul apar:

Funcia IF () (dac...),

constante (cifra 2, i o constant text: aria formei geometrice depete


valoarea maxim!)

referiri la celule (B1, B2, B3)

operatori (*:nmulire; ^:putere, -: scdere; >: mai mare dect)

Funciile pot avea ca rezultate una sau, uneori, mai multe valori. Pentru aceasta,
funciile au nevoie de date de intrare (parametri, argumente). Acestea pot fi
valori (ex. numere) sau referiri la alte celule. Pot fi simple, ex. valoarea celulei
C4=C2+C3, dar putem folosi i funciile din zestrea Excel sau, la nivel avansat,
cu ajutorul Visual Basic Editor putem i noi s creem funcii specifice unui
anumit scop. n fiecare caz, funciile au denumiri unice.
30

Dou ri, un scop, succes comun!

Forma general a unei funcii este:


DENUMIRE FUNCIE (parametru 1; [parametru 2]; ...)

Forma general arat c funcia are o denumire i c ntre paranteze poate avea
mai muli parametri. Multe funcii pot avea pn la 255 de parametri, ex. funcia
SUM.

Introducerea unei funcii se poate face astfel:


1.

Putem utiliza Inserarea automat a funciei. Trebuie doar nceput


scrierea funciei n celul, cu semnul = sau +, iar sistemul prezint
automat formulele posibile (fig. 20.). De exemplu:
Dac gsim funcia dorit n list, prin clic simplu se pot obine informaii
despre aceasta, iar prin dublu clic se poate selecta i utiliza.

Fig. 20.: Inserarea automat a funciei

2.

Dac nu cunoatem funcia pe care dorim s o utilizm, n loc s fie


nscris n celul putem opta pentru una dintre urmtoarele modaliti:
31

Dou ri, un scop, succes comun!

din bara de formule se acioneaz butonul (fx) (Insert Function), sau

se face clic pe Shift F3, sau

din bara de meniuri se selecteaz banda FORMULAS butonul


INSERT FUNCTION

pe partea dreapt a benzii HOME, din dreptul simbolului


AUTOSUM () din fereastra EDITING (Fig. 21.) se acioneaz
triunghiul de derulare.

Fig. 21.: Inserare de formul cu iconia AUTOSUM

Putem insera diferite categorii de funcii chiar din meniul FORMULAS,


selectnd din categoriile de funcii din dreptunghiul FUNCTION LIBRARY
(Fig. 22.).

n interiorul panelului INSERT FUNCTION deosebim trei pri: cutarea


funciei, categoria funciei i denumirea funciei. Cmpul Cutare funcie
(Search for a function) ofer informaii despre locul unde trebuie cutat
funcia. Or select a category ne ajut s selectm dintre categoriile de funcii:
financiare, date calendaristice, metematic i trigonometrie, matrici, baze de

32

Dou ri, un scop, succes comun!

date, text, logice, informaie, proiectare, cub, compatibilitate, toate, respectiv


ultima funcie folosit (Most recently used) (Fig. 23.).

Fig. 22.: Categorii de funcii din meniul FORMULAS

Fig. 23.: Fereastra de inserare a unei funcii

n cel de al treilea cmp putem alege dintre funciile aparinnd categoriei date.
Dac facem clic n list, sistemul vizualizeaz funciile posibile. Cnd se face
33

Dou ri, un scop, succes comun!

clic pe denumirea funciei, n partea de jos a ferestrei apare o scurt descriere a


funciei respective. Putem aplica funcia prin dublu clic pe denumirea acesteia.
n acest caz se deschide fereastra funciei cu titlul Function arguments, n care
parametrii obligatorii figureaz ntotdeauna cu litere ngroate. Restul
parametrilor i introducem n msura n care avem datele respective.

n grupul FORMULA AUDITING al meniului FORMULAS se pot trece n


revist formulele folosite, ct i referirile funciilor la alte celule.

1.5.2. Referine (adrese) relative, absolute i mixte

Referinele la celule se mai numesc i adrese ale celulelor i sunt de trei feluri:
relative, absolute i mixte. Diferitele tipuri de adrese sunt necesare pentru
copierea formulelor.

n Microsoft Excel, adresa de baz este adresa relativ. Caracteristica acesteia


este c n adres nu figureaz semnul dolar ($). Cnd se copiaz o formul
dintr-o adres relativ, aceasta se modific n modul de dorit n operaiile din
tabele, respectiv n fiecare celul nou se readreseaz n direcia i la distana la
care s-a copiat formula. De exemplu, formula din celula A1: =5*A2, copiat n
celula B1 devine =5*B2, iar n celula C1 devine =5*C2.

Caracteristica comun a adreselor absolute i mixte este c ele conin simbolul


$. Semnul $ poate sta n faa denumirii liniei i/ sau a coloanei. Pe parcursul

34

Dou ri, un scop, succes comun!

copierii, coordonata n faa creia se gsete semnul $ nu se modific. Atunci


cnd coninutul unei celule reprezint o constant ntr-o formul, aceast adres
va fi adres absolut. n adresa absolut, semnul $ st att naintea coordonatei
liniei, ct i naintea coordonatei coloanei. n cazul adresei mixte, semnul $
apare numai n faa denumirii liniei sau a coloanei. Pentru plasarea semnului $
n faa unei coordonate se poate utiliza tasta $ sau tasta F4.

Exemplu 5.: Pentru mai buna nelegere a referinei absolute i relative am


pregtit o aplicaie ca exemplu. La totalizarea pe rnduri i coloane am utilizat
referina relativ, pe cnd la valorile distribuiei am utilizat referine absolute.
(Tabelul 11.).

Tabelul 11.: Exemplu de referin absolut i referin relativ

3.

Dac nu cunoatem funcia pe care dorim s o utilizm, n loc s fie


nscris n celul putem opta pentru una dintre urmtoarele modaliti:

din bara de formule se acioneaz butonul (fx) (Insert Function), sau

se face clic pe Shift F3, sau


35

Dou ri, un scop, succes comun!

din bara de meniuri se selecteaz banda FORMULAS butonul


INSERT FUNCTION

pe partea dreapt a benzii HOME, din dreptul simbolului


AUTOSUM () din fereastra EDITING (Fig. 21.) se acioneaz
triunghiul de derulare.

Fig. 24.: Cmp calculat ntr-un tabel

Ca prim pas, nscriem n celula D1, titlul Adaos comercial %, prin aceasta
adugm tabelului nostru un cmp nou. n celula D2 calculm adaosul comercial
n procente al magazinului nr. 123, scriind formula =C2/B2 (Fig. 24.). Tastnd
ENTER, celelalte celule ale coloanei se completeaz automat. Stabilim formatul
% i astfel, problema este rezolvat (Fig. 25.).

Exemplu 7.: S rezolvm aceeai problem, introducnd formula nu prin


tastare/ dactilografiere, ci prin selectarea celulelor. n acest caz formula devine
=[@[Adaos comercial mii Ft]]/[@[Vnzri mii Ft]],
iar noi am realizat aa zisa referin structurat (fig. 26.). i n acest caz, dup
tastarea Enter se completeaz restul celulelor, cu acelai rezultat ca n fig. 26.
36

Dou ri, un scop, succes comun!

Mai ncolo, n acest capitol ne vom ocupa i mai amnunit de referinele


structurate.

Fig. 25.: Cmpul calculat dup completarea automat

Fig. 26.: Cmp calculat cu referin structurat

n baza de date putem insera i un rndsum, astfel: Facem clic pe o celul a


tabelului. La mijlocul submeniului TABLE TOOLSDESIGN se gsete
capitolul Table Styles, aici vom bifa dreptunghiul Total Row. (fig. 27.).Ca efect,
Excel calculeaz automat, suma ultimei coloane care conine valori numerice.
Totui, putem calcula i sume pentru celelalte coloane.

Dup crearea rndului sum, dac se completeaz baza de date cu noi


nregistrri, rndurile corespunztoare vor aprea deasupra rndului sum.
37

Dou ri, un scop, succes comun!

Inerarea se poate efectua i aa, c selectm rndul sum i inserm deasupra un


rnd nou, sau, mai simplu, fixm cu mouse-ul,triunghiul din colul ultimei celule
a rndului sum i tragem n jos tot rndul.

Fig. 27.: Adugarea rndului sum la un tabel

Dei prin selectarea dreptunghiului Total Row, Excel calculeaz sum doar
pentru ultima coloan, putem nsuma celelalte coloane prin utilizarea funciei
adecvate (fig. 28.).

n fig. 28, n rndul sum am calculat vnzrile totale (celula B8), adaosul
comercial n mii Ft (celula C8) i adaosul comercial mediu n % (celula D9) (fig.
29.).

Calculul sumelor se realizeaz cu ajutorul funciei Subtotal. Numele funciei nu


trebuie s induc n eroare: aceasta poate realiza mai mult dect simple adunri,
fiind un instrument pentru analize variate.

38

Dou ri, un scop, succes comun!

Fig. 28. Introducerea funciei dorite n rndul sum

Fig. 29.: Tabelul Vnzri dup calculul rndului sum

Sintaxa funciei este


=SUBTOTAL(function_num, ref1,[ref2],...]),

care conine urmtoarele argumente:


39

Dou ri, un scop, succes comun!

Function_num: este obligatoriu de introdus. Este un numr cu valorile


ntre 1 i 11 (cnd trebuie incluse i valorile ascunse) sau ntre 101 i 111
(cnd valorile ascunse trebuie ignorate). Definete funcia utilizat la
stabilirea sumei pariale, conform tabelului 16.
Valori ascunse pot aprea n cazul bazelor de date filtrate. De exemplu,
dac ne intereseaz vnzrile sau numai adaosul comercial al magazinelor
cu o cifr de afaceri de peste 5 milioane de forini, atunci celelalte valori
rmn ascunse.

Tabelul 16.: Codurile de funcie ale funciei SUBTOTAL ()


Function_num
(cnd trebuie
incluse i
valorile
escunse)
1
2
3
4
5
6
7
8
9
10
11

Function_num
Funcia
(cnd valorile
ascunse
trebuie
ignorate)
101
AVERAGE
102
CountA
103
COUNTA
104
MAX
105
MIN
106
PRODUCT
107
STDEV
108
STDEVP
109
SUM
110
VAR
111
VARP

Ref1: este obligatoriu de introdus. Este primul domeniu sau referin, cu


denumire proprie, a crei sum parial dorim s fie calculat.

40

Dou ri, un scop, succes comun!

Ref2,...: nu este obligatorie introducerea. Se refer la domeniul numrul 2


pn la 254 pe care trebuie calculat suma parial.
Observaii: Dac n domeniile ref1, ref2, ... exist, deja, sume pariale
ncorporate, funcia le va ignora.

n cazul cnd constantele Function_num iau valori de la 1 la 11,


SUBTOTAL() va lua n considerare valorile ascunse prin irul de comenzi
ExcelHomeCellsFormatVisibility-Hide&Unhide-Hide

Rows.

cazul valorilor constantelor Function_num cuprinse n intervalul 101111,


SUBTOTAL() nu ia n considerare valorile ascunse prin irul de comenzi
de mai sus. Aceste constante servesc la calcularea sumelor pariale ale
valorilor neascunse din list.

Funcia SUBTOTAL() a fost proiectat pentru obinerea totalurilor


pariale ale coloanelor de date sau a domeniilor verticale; nu se poate
utiliza pentru totalizarea domeniilor orizontale. De exemplu, dac se
totalizeaz un domeniu orizontal cu o valoare a lui Function_num cuprins
ntre 101 i 111, ex. SUBTOTAL(109; B2:G2), ascunderea vreunei
coloane nu va influena suma parial, n timp ce ascunderea vreunui rnd
al domeniului vertical va influena aceast sum.

Dac printre referine figureaz o referin tridimensional, SUBTOTAL()


va reda ca rezultat, mesajul de eroare #VALUE!.

Formulele din rndul sume al fig. 29.:


B8 = SUBTOTAL(109; [Vnzri mii Ft])
C8 = SUBTOTAL(109; [Adaos com Mii Ft])

41

Dou ri, un scop, succes comun!

D8 = Vnzri[[#Sume]; [Adaos com mii Ft]] / Vnzri[[#Sume];


[Vnzri mii Ft]]

n celulele B8 i C8 am calculat sumele Vnzrii Adaos comercial, de aceea


figureaz atributul numeric Function_num de 109 aferent funciei SUM, iar n
parantezele drepte figureaz denumirea domeniului care conine datele. n celula
D8 am calculat adaosul comercial mediu n %, prin mprirea celulelor =D8/C8
i se poate observa c i aici exist referine structurate. Pentru o mai bun
nelegere, n cele ce urmeaz trecem n revist, referinele structurate.

1.5.2.1. Ce este referina structurat?

Referinele structurate simplific mult i fac de la sine neleas prelucrarea


datelor din tabele cu ajutorul formulelor, att referitor la o parte a tabelului, ct
i la ntregul acestuia. ntruct domeniile de date ale tabelelor se modific
adesea, iar adresele din referinele structurate se adapteaz automat la
modificrile respective, aceast funciune reprezint un uria avantaj: n cazul
modificrilor de structur ale tabelelor (inserarea i tergerea liniilor i
coloanelor), respectiv n cazul mprosptrii datelor din exterior, necesitatea
rescrierii formulelor scade la minim.

Aa cum am vzut deja, Excel confer fiecrui tabel nou, o denumire de baz
(Tabel1, Tabel2, ...), unic n cadrul fiierului respectiv. La rndul nostru putem
modifica denumirea cu uurin, pentru a o face mai sugestiv,ex. denumirea
42

Dou ri, un scop, succes comun!

Tabel1 am transformat-o n Vnzri, prin irul de comenzi Design Properties


Table name, dar i prin fereastra Rename.

Denumirea tabelului se refer la ntreg domeniul de date al tabelului, cu excepia


rndului de titluri i a rndurilor sume (totalizatoare). Tabelul denumit Vnzri
din fig. 30. refer la domeniul de celule A2:D7.

La fel cu denumirile tabelelor, i titlurile coloanelor desemneaz coloane ntregi,


cu excepia rndului de titlu i a rndurilor totalizatoare. n exemplul nostru,
denumirea [Vnzri mii Ft] se refer la domeniul de celule B2:B7, [Adaos
comercial mii Ft] se refer la domeniul de celule C2:C7. n afara cmpurilor
ntlnim i marcaje speciale. Astfel sunt marcajele #Toate, care se refer la
ntregul tabel (A1:A8), #Date care se refer numai la date, #Titluri care
desemneaz numai titlurile coloanelor (A1:D1), #Sume(A8:D8). Marcajul @
desemneaz rndul actual (fig. 30.).

Fig. 30.: Elementele de referin structurat ale tabelului Vnzri

43

Dou ri, un scop, succes comun!

Pe baza celor expuse vom nelege ce nseamn formula


= [@[Adaos comercial mii Ft]] / [@[Vnzri mii Ft]]
nscris n celula D2 din fig. 26. Expresia @[Adaos comercial mii Ft] nseamn
intersecia cmpului Adaos comercial mii Ft cu rndul actual, deci dac ne
aflm n celula D2, se refer la elementul C2, iar @[Vnzri mii Ft] nseamn
elementul B2. Astfel devine de la sine neles c formula nscris n celula D2
fr referin structurat este =C2/D2.

1.6. Validarea datelor n tabele

n acest subcapitol vom face cunotin cu o funciune Excel important:


validarea datelor. Cu ajutorul acestei funciuni putem aduga tabelelor Excel
diferite elemente dinamice fr a face apel la macrouri sau la elementele de
programare din Visual Basic. Ce nseamn aceasta?

Prin aplicarea validrii datelor se poate reglementa natura datelor care pot fi
inserate n anumite celule. Astfel, la introducerea datelor din chestionare ntr-o
baz de date, prin aplicarea acestei funciuni se pot elimina problemele datorate
greelilor de introducere a datelor.

Validarea datelor este deosebit de util atunci cnd un fiier este partajat ntre
mai muli utilizatori ai aceleiai organizaii i dorim ca datele nscrise n el s fie
precise i consistente.

44

Dou ri, un scop, succes comun!

Cnd este oportun folosirea validrii datelor?

Cnd putem alege numai dintre rspunsuri prestabilite. De exemplu, la


urmrirea frecvenei colare se
pot nscrie n celule numai zilele
de lucru.
Se

va

enumera

ntr-o

list

separat, care sunt zilele pe care


sistemul le accept pe parcursul
introducerii datelor.

Restricionarea

numerelor

care cad n afara unui


domeniu dat:

Restricionarea termenelor
pentru a se ncadra ntr-un
interval

dat:

cazul

evidenei consultaiilor medicale, dac orarul de consultaie este 8.0012.00, intrarea pacienilor se poate nscrie numai n acest interval orar.

Restricionarea numrului caracterelor text: stabilirea lungimii textului


care se poate nscrie ntr-o celul dat.

Validarea datelor pe baza formulelor sau valorilor din alte celule: dac am
10 lei, nu pot cumpra pentru 20 de lei o cutie de ciocolat.

Exemplu 9.: vrem ca ntr-o celul s poat fi introduse numai numere ntregi
cuprinse ntre 1 i 100. n cazul nscrierii unei valori invalide, Excel revine cu
un mesaj de eroare, mpiedicnd introducerea datei incorecte (fig. 31.).

45

Dou ri, un scop, succes comun!

Fig. 31.: Mesaj de eroare la introducerea unei date invalide, n cazul


aplicrii validrii datelor

Validarea datelor se poate realiza cu irul de comenzi DATADATA TOOLS


Data Validation (fig. 32.).

n mod implicit, ntr-o celul pot fi nscrise orice fel de date (fig. 33.). Aceasta
este configuraia de baz n Excel. Pentru a determina natura datelor care se pot
nscrie n celule, avem la ndemn diverse instrumente.

Fig. 32.: Selectarea comenzii Validare date...

Posibiliti de introducere a restriciilor:


Exemplu 10.: Restricionarea datelor introduse la numere ntregi cuprinse ntre
anumite valori.
46

Dou ri, un scop, succes comun!

Fig. 33.: Posibiliti de validarea datelor

Din fereastra Allow (Permite) care se deruleaz (v. Fig.33.), se selecteaz


opiunea Whole Number (Numr ntreg). Prin lista Data, Excel ofer mai multe
opiuni de restricie, dintre care vom selecta varianta optim pentru noi (fig.
34.).

Fig. 35. prezint utilizarea validrii datelor printr-un exemplu de chestionar


simplu. n chestionar exist patru ntrebri care solicit evaluarea unor nsuiri
pe cte o scal de la 1 la 5. Deci trebuie s mpiedicm nscrierea - chiar i
accidental - a oricrei valori n afar de 1, 2, 3, 4 sau 5.

47

Dou ri, un scop, succes comun!

Fig. 34.: Posibiliti de restricionare a introducerii numerelor ntregi

Fig. 35.: Exemplu de validare a datelor


48

Dou ri, un scop, succes comun!

ntruct aici avem de-a face cu un interval, selectm opiunea between (ntre
valorile), unde valoarea minim va fi 1, iar cea maxim: 5. n afara acestei setri
mai putem introduce mesaje de atenionare (Input Message) i de eroare (Error
Alert) (fig. 36.).

Fig. 36.: Restricionarea datelor introduse la numere ntregi

Pentru vizualizarea mesajelor de atenionare, la selectarea celulei se bifeaz


csua Show input message when cell is selected. Apoi introducem titlul
mesajului de atenionare, iar n fereastra de jos, textul mesajului. Mesajele de
atenionare au un rol important n informarea utilizatorului; prin folosirea
acestora, introducerea datelor poate deveni mai inteligibil i mai clar. n
exemplul nostru atenionm utilizatorul s introduc cifre de la 1 la 5 i l
informm i despre semnificaia acestora. Ca efect al mesajului, cnd se face
clic pe celula C9, apare atenionarea, facilitnd nscrierea datelor.
49

Dou ri, un scop, succes comun!

Fig. 37.: Inserarea mesajului de atenionare

Fig. 38. Aa apare mesajul de atenionare cnd seface clic pe celula validat

50

Dou ri, un scop, succes comun!

Mesajul de eroare (Error Alert) apare cnd introducem o valoare invalid n


celula cu date validate. Mesajul ca atare apare numai dac bifm csua Show
error alert after invalid data is entered. n lista Style putem alege ntre trei
tipuri de mesaje, a cror explicaie amnunit se vede n fig. 39.

Revenind la exemplul nostru, n acest caz fiind vorba despre note acordate, nu
vom accepta introducerea de date greite, de aceea alegem stilul Stop
(Meglls). n mesaj notificm utilizatorul s introduc valori de la 1 la 5, deci l
ajutm n corectarea greelii (fig. 40.).

Fig. 39.: Tipuri de mesaje de eroare

Exemplu 11.: Restrngerea datelor introduse la o fracie zecimal cuprins ntre


dou valori limit.

51

Dou ri, un scop, succes comun!

Fig. 40.: Configurarea mesajului de eroare

Din fereastra Allow (Permite) care se deruleaz, se selecteaz opiunea Decimal


(v. Fig. 33.). Din lista Data, Excel ofer diferite variante corespunztoare
cerinelor restrictive, dintre care putem selecta varianta corespunztoare.
Opiunile se aseamn cu cele deja ntlnite n cazul numerelor ntregi (fig. 34.).

n celula B1 trebuie introdus rabatul, care nu poate depi 60%. Deci, pentru a
preveni greelile de introducere a datelor, vrem ca utilizatorul s nu poat insera
valori mai mari.

Ca prim pas, formatm celula B1 pentru procente, cu precizia de o zecimal (fig.


41.). Pentru aceasta vom face clic pe butonul Procente
Cretere numr zecimale (Increase Decimal)

52

, apoi, dup clic pe

, reglm precizia la 1 zecimal

Dou ri, un scop, succes comun!

(acest lucru este necesar fiindc n configuraia de baz, butonul Procente

se

refer la valori ntregi ale procentelor).

Fig. 41.: Formatarea celulei B1

Pasul urmtor este introducerea reglajelor de validare a datelor. Din lista Allow
selectm opiunea Decimal (fracie zecimal) in fereastra Data alegem less than
or equal to (mai mic sau egal), drept valoare maxim nscriem 0.6 (fig. 42.).
Bineneles, i aici se poate configura mesaj de atenionare i regula de aplicat n
cazul introducerii de date invalide. n exemplul nostru am aplicat mesajul de
eroare Stop (fig. 43.).

Exemplu 12.: Limitarea datelor introduse la o list de valori

E o problem frecvent n bazele de date din Excel c n tabel apare de mai


multe ori aceeai denumire, dar din cauza unor mici greeli de tastare apar
diferene de form. De exemplu, denumirile Budapest, B.pest, Budap., Bp.
nseamn, n fond, acelai lucru. Totui, cnd vrem s totalizm sau s filtrm
vnzrile din Budapesta, multitudinea de denumiri creeaz probleme. Pentru a
evita aceast eroare, exist diferite variante. O posibilitate este codificarea
53

Dou ri, un scop, succes comun!

oraului, ex. codul 1 pentru Budapesta, dup care, dac e nevoie, denumirea
corespunztoare codului se introduce cu o funcie de cutare. O alt variant mai
simpl este limitarea datelor introduse la o list de valori, adic utilizarea
funciei de validare a datelor.

Fig. 42.: Introducerea condiiilor de validare a datelor pentru fracii


zecimale

Fig. 43. Mesaj de eroare n cazul introducerii datelor invalide

54

Dou ri, un scop, succes comun!

n fig. 44. este ilustrat modul de restricionare a datelor introduse printr-o list
prestabilit (ntrebarea nr. 2).

Fig. 44. Introducerea unei liste de validare a datelor dintr-un domeniu


extern
55

Dou ri, un scop, succes comun!

Pentru a evita complicaiile ulterioare la prelucrarea datelor, rspunsul la


ntrebarea nr. 2 poate fi ales de ctre utilizator dintr-o list. Rspunsurile
posibile se gsesc pe aceeai foaie, n coloana S2:S9.
Primul pas n validarea datelor este listarea rspunsurilor posibile, aceasta va fi
sursa listei (n cazul nostru, completarea celulelor S2:S9).

Atenie! Datele din list i celula n care se insereaz valoarea trebuie s se afle
pe aceeai foaie de lucru!

n pasul al doilea selectm, din lista Allow, elementul List, iar lng acesta
selectm In-cell Dropdown (list care se deruleaz). Ca surs selectm
domeniul S2:S9.

n pasul al treilea i al patrulea putem insera i aici, mesaje de atenionare i de


eroare, aa cum s-a explicat mai sus.

Dup terminarea operaiunii, n celula C6 apare o list din care utilizatorul poate
selecta rspunsul corespunztor printr-un clic (fig. 45.).

Putem introduce drept surs, nu doar un domeniu extern, ci putem, pur i


simplu, s dactilografiem elementele listei, separate prin punct cu virgul. De
exemplu, la ntrebarea a treia (Ai gsit ceea ce ai cutat?) dorim s obinem
rspunsul DA sau NU n celula C7. Nu dorim rspunsul: n parte, nici
prescurtri, ex. Y, N, de aceea restricionm introducerea datelor prin precizarea
Sursei (fig. 46.).
56

Dou ri, un scop, succes comun!

Exemplu 13.: Restricionarea datelor introduse la datecalendaristice cuprinse


ntr-un interval de timp

Fig. 45.: Inserarea de date din list

Fig. 46.: Specificarea listei de validare a datelor prin dactilografiere


57

Dou ri, un scop, succes comun!

Din lista Allow s selectm opiunea Date. Din lista Data selectm restricia
dorit. De exemplu, pentru a permite date calendaristice ulterioare unei anumite
date, selectm opiunea Greater than . S nscriem data iniial, final sau data
concret permis. Se poate introduce i o formul care red o dat.

De exemplu, dac dorim s permitem perioada de timp de o sptmn cu


ncepere de azi, din lista Data selectm opiunea Between, apoi scriem formula
=TODAY() la Minimum, i =TODAY() + 7 n cmpul Maximum.

La fel ca n cazurile anterioare, i aici poate fi inserat un mesaj de atenionare n


fereastra corespunztoare. Apoi putem determina, n fereastra Error Alert,
modul n care Microsoft Office Excel va semnaliza dac utilizatorul a introdus
date nevalabile (fig. 47.).

Exemplu 14.: Limitarea datelor introduse la un interval de timp

n panoul Data Validation s acionm butonul Settings. Din lista Allow se


selecteaz varianta Time. n lista Data se selecteaz tipul de restricie dorit. De
exemplu, pentru a permite momente anterioare unui anumit reper n timp, se
alege opiunea less than. Se va nscrie coordonata de timp iniial, final sau
concret permis, dar se poate insera i o funcie care red un reper n timp.

De exemplu, n celula G2 vrem s fixm perioada n care ntr-un un restaurant


este servit micul dejun. Dac vrem ca intervalul de servire a micului dejun s fie
de trei ore de la ora deschiderii, din lista Data vom selecta opiunea between

58

Dou ri, un scop, succes comun!

apoi la Start Time nscriem formula =G1, iar n rubrica End Time nscriem
=G1+3:00. Vom avea grij ca att formatul celulei G1 ct i cel al celulei G2 s
fie formate de timp.

Fig. 47.: Introducerea datelor temporale restricionate

Bineneles, i n acest caz pot fi specificate mesaje de atenionare care apar la


selectarea celulei, respectiv mesaje de eroare n cazul introducerii de date
invalide (fig. 48.).

Exemplu 15.: Restricionarea lungimii textului introdus

59

Dou ri, un scop, succes comun!

Fig. 48. Limitarea datelor introduse la un interval de timp dat

Din panoul de dialog DATA VALIDATION s facem clic pe butonul Settings.


Din lista Allowed s alegem opiunea Text length. n lista Data vom selecta tipul
de restricie dorit. S nscriem lungimea maxim, minim sau exact, permis, a
textului. Putem introduce i formul a crei rezultat s fie o valoare numeric.
60

Dou ri, un scop, succes comun!

De exemplu, dac dorim s prevenim greeala de tastare n rubrica anul naterii,


n celula C18 restricionm lungimea textului la 4 caractere. Aa cum am
procedat i nainte, putem insera un mesaj de avertizare care apare cnd este
selectat celula, respectiv un mesaj de eroare cnd seintroduc date invalide (fig.
49.).

Exemplu 16.: Calculul valorii permise cu o formul

Dac niciuna dintre posibilitile prezentate anterior nu realizeaz restricia


dorit, atunci n panoul de dialog Data Validation s facem clic pe Settings, iar
din lista care se deschide s selectm opiunea Custom. n cmpul Formula
putem introduce o formul care are ca rezultat, o valoare logic (n caz de date
valide d rezultatul Adevrat (TRUE), iar n caz de date neconforme, rezultatul
Fals (FALSE)).

S vedem cum funcioneaz aceast restricie, cu ajutorul chestionarului studiat


anterior. ntrebarea nr. 5 se refer la frecvena cumprrilor de pe internet.
Rspunsurile posibile se regsesc n tabelul 13.

ntrebarea nr. 6 se refer la procentul de cumprturi efectuale pe internet, de


aceea la introducerea datelor am prevzut o restricie conform creia, dac
rspunsul la ntrebarea nr. 5 a fost Niciodat, atunci respondentul s nu poat
rspunde la aceast ntrebare.

61

Dou ri, un scop, succes comun!

Fig.49.: Limitarea numrului de caractere

Bineneles, la fel ca n cazurile anterioare, i aici putem introduce mesaj de


avertizare i, pentru cazul nscrierii de date neconforme, mesaj de eroare (fig.
50.).

62

Dou ri, un scop, succes comun!

Tabelul 13.: Rspunsurile posibile la ntrebarea nr. 5 din chestionar


ntrebarea 5
Niciodat
O dat pe an
Anual de mai mult ori
O dat pe lun
Lunar de mai mult ori
Sptmnal

Fig. 50.: Validarea datelor cu ajutorul formulei


63

Dou ri, un scop, succes comun!

Pe lng cele prezentate n exemplul model, validarea datelor cu ajutorul


formulei are multe alte utilizri practice (tabelul 14.).

Tabelul 14.: Cteva exemple de validare de date cu formule


Mesaj de atenionare
In celula curent(B1) introducerea datelor
este posibil dac D1 i D2 este mai mic
dect 1000000

Funcia
=AND(D1>0; D1<1000000)

n celula curent (B3) putei inrtoduce


date, dac E1 i E2 sunt mai mari dect
16000 i mai mici dect 2000000

=AND(E1<=16000; E2<=2000000)

Vrsta unei muncitori (B4) ntotdeuna este


mai mare dect vrsta minim de lucrare
(18) plusz numrul anilor lucrate

=IF(B4>F1+18; TRUE; FALSE)

Celula care conine codul unei marf (B5)


ntodeuna ncepe cu ID i are minim 10
caractere

=AND(STNG(B5; 3)= "ID-";


LENGTH(B5)>9)

Sursa: Excel Help


Din exemple se poate vedea c programul de gestionare a tabelelor Excel
permite restricionarea pe scar larg adatelor nscrise n celule, chiar i fr
cunotine minime de programare. Este posibil ca ntr-o prim faz, setrile de
validare a datelor s par oarecum complicate, cu un volum de munc relativ
mare, dar nu trebuie s uitm c analizele, calculele, deduciile fcute dintr-o
baz de date grevat de greeli de logic i de introducere a datelor pot provoca
pagube considerabile. Mai mult, filtrarea greelilor comise pe parcursul
introducerii datelor, dintr-o baz de date complet, cere mult mai mult timp i nu
exist sigurana c se pot elimina toate erorile.

64

Dou ri, un scop, succes comun!

1.7. Protecia fiierului i protecia foii de lucru

Cnd creem un tabel, apare adesea cerina ca utilizatorii s nu poat din


ntmplare sau voit modifica, rearanja sau terge date importante, formule n
foaia de lucru sau n fiier. Cu ajutorul proteciei foilor de lucru fau a fiierelor
putem proteja anumite elemente ale acestora, cu sau fr utilizarea unor parole.
Dac protejm doar foaia de lucru sau anumite elemente ale acesteia, n general
o facem cu scopul de a preveni eventualele greeli ntmpltoare ale
utilizatorilor, cum ar fi suprascrierea unor date importante sau formule.
mpotriva utilizatorilor ru intenionai este indicat protejarea prin parol a
ntregului fiier. n cele ce urmeaz vom prezenta, cu ajutorulexemplului simplu
din fig. 9., modalitile de protejare a muncii noastre cu ajutorul Excel.

Exemplu 17.: nostru dorim, ca prim pas, ca utilizatorul s poat modifica numai
coninutul celulelor B1, B2 i B3, fr a putea interveni n vreo alt celul.

n acest scop mai nti vom selecta domeniul B1:B3, apoi derulm n banda de
meniu HOME (acas), n cmpul CELLS (celule), elementul Format i s
alegem punctul Format Cells (sau cu butonul dreapta al mouse-ului deschidem
meniul local n care alegem Format Cells) (fig. 51.).

Dup aceasta, din dreptunghiul din dreptul titlului Protection tergem bifa (n
modul de baz, celulele sunt protejate (locked) (fig. 52.). n urmtorul pas s
dechidem din nou n cmpul CELLS din HOME, elementul Format i s
selectm Protect Sheet. Se vede c dreptunghiurile aferente celulelor blocate i,
65

Dou ri, un scop, succes comun!

respectiv, celulelor deblocate sunt active. Dac vrem s mpiedicm selectarea


cu cursorul a altor celule cu excepia celor care pot fi completate, trebuie s
debifm csua din faa inscripiei Locked cells.

Fig. 51.: Selectarea Format Cells

Putem proteja foaia de lucru i prin parolare. Trebuie s reinem parola, fiindc
n cazul pierderii nici noi nu mai putem realiza editri ulterioare (fig. 53.).

66

Dou ri, un scop, succes comun!

Dup activarea proteciei foii de lucru, n urma oricrei ncercri de modificare a


celulelor din afara domeniului B1:B3, primim un mesaj de atenionare.

Fig. 52.: Eliminarea blocrii din titlul Protection

Fig. 53.: Posibiliti de configurare a proteciei foii de lucru.

67

Dou ri, un scop, succes comun!

Fig. 54.: Mesaj afiat n cazul ncercrii de a selecta celule blocate prin
protejarea foii

Protecia foii de lucru este foarte util, dar protecia structurii ntregului fiier, a
aranjamentului i dimensiunilor ferestrelor se poate realiza prin protecia
fiierului. Pentru aceasta, din meniul REVIEW alegem grupul CHANGES, n
care selectm butonul de meniu Protect Workbook. La stabilirea razei de
aciune a proteciei (Structure and Windows) avem dou opiuni: Structure
(structura) i Windows (ferestrele) (fig. 55.).

Fig. 55.: Configurarea razei de aciune a proteciei fiierului


68

Dou ri, un scop, succes comun!

Dac se alege butonul Structure (Felpts), interzicem urmtoarele manevre de


operator:

Deschiderea foilor de lucru ascunse

Reaezarea foilor de lucru, tergerea, ascunderea, redenumirea acestora.

Inserarea de foi de lucru sau foi cu diagrame noi (foaia cu diagram este o
foaie a fiierului care conine numai diagrame. Este util cnd se dorete
vizualizarea diagramelor, graficelor ridicate pe baza datelor din foaia de
lucru, separat de datele, situaiile de acolo).

Relocarea sau copierea foilor de lucru n alt fiier.

Vizualizarea datelor surs ale celulelor din domeniul de date, respectiv


vizualizarea foilor e lucru laterale pe foi de lucru separate.

Elaborarea de rapoarte centralizatoare despre cazurile nregistrate.

Utilizarea instrumentelor de analiz din pachetul Analiza Datelor, prin


care rezultatele se plaseaz pe o foaie de lucru nou.

n cazul selectrii butonului Window (fereastr) interzicem urmtoarele operaii


de utilizator:

Modificarea dimensiunilor i poziiei ferestrelor foii de lucru la


deschiderea foii de lucru.

Reaezarea, redimensionarea i nchiderea ferestrelor.

Ca i n cazul protejrii foilor de lucru, i aici putem utiliza protecia prin parol.
Dac nu introducem o parol, att protecia foilor, ct i protecia fiierelor pot
fi dezactivate: se realizeaz

prin clic pe ReviewChangesProtect sheets,

69

Dou ri, un scop, succes comun!

respectiv Protect workbook. Bineneles, dac exist parol, protecia se poate


elimina doar dup introducerea parolei.

70

Dou ri, un scop, succes comun!

2. Cutare i filtrare n baza de date


2.1. Cutare, nlocuirea datelor i salturi n baza de date

Putem cuta pe ntreaga foaie de lucru fr selectare, sau pe un interval selectat


al acesteia, astfel: n partea dreapt a meniului HOME se gsete submeniul
EDITING, cu butonul de deschidere a ferestrei Find and Select. Aici putem
alege ntre comenzile Find (cutare), Replace (nlocuire) sau Go To (salt la...)
(fig. 56.).

Fig. 56.: Meniul desfurat al comenzii Cutare i Selecie

La pornirea meniului Cutare scriem n dreptul ferestrei Find what, irul de


caractere pe care l cutm i care poate conine litere, cifre, semne de
punctuaie, respectiv caractere nlocuitoare. Dac selectm dreptunghiul Match
case (recunoaterea majusculelor i minusculelor), atunci programul va cuta
corespondena i n funcie de caracterul literelor. Dac bifm dreptunghiul
71

Dou ri, un scop, succes comun!

Match entire cell contents, programul va cuta corespondena total pe foaia


respectiv de lucru (fig. 57.).

Fig. 57.: Fereastra meniului de cutare FIND

Din lista Within (domeniul de cutare) se determin dac cerem cutarea pe


foaia de lucru sau n ntregul fiier. Din lista Search se determin direcia de
cutare: dac se va efectua pe rnduri sau pe coloane, pornind de la celula dat.
Din lista Look in selectm locurile unde se caut: n formule, n valori sau n
comentarii.

Dac este necesar, n lista Format se poate prescrie cum trebuie s fie celula
cutat.Astfel i formatul celulei devine un element al cutrii.

Cu ajutorul butonului Next din partea de jos a ferestrei se caut urmtoarea


coresponden, iar cu ajutorul butonului Find All vor fi cutate toate
corespondenele. Butonul Close nchide cutarea.

72

Dou ri, un scop, succes comun!

n meniul Replace putem ordona nlocuirea setului de caractere cutat, printr-un


alt set de caractere. Parametrii referitori la cutare sunt similari cu cei descrii la
meniul de cutare.

n fereastra Replace with se poate nscrie irul de caractere prin care vrem s fie
nlocuit irul de caractere vizat. Cu iconia Format se poate stabili formatul
celulei dup nlocuirea coninutului (fig. 58.).

Fig. 58.: Fereastra meniului de nlocuire Replace

Butonul Find next din partea de jos a ferestrei propune urmtoarea posibilitate
de nlocuire, pornind de la celula dat, iar prin clic pe Replace acceptm
nlocuirea i putem cuta urmtoarea celul de nlocuit. Cu ajutorul butonului
Find All putem aduna ntr-o list toate celulele care corespund criteriului de
selecie, care apoi pot fi nlocuite una cte una cu Replace sau toate mpreun,
cu comanda Replace All.

Meniul Go To (salt la..) se utilizeaz mai ales la cutarea greelilor; n acest caz
trebuie date locul saltului i valoarea referinei (fig. 59.). Cu ajutorul butonului
73

Dou ri, un scop, succes comun!

Special pot fi selectate toate celulele precedente sau urmtoare, formulele


greite, celulele goale, respectiv diferenele.

Fig. 59.: Fereastra meniului Salt la... (Go to)

Meniul Special poate fi accesat i cu butonul Special al meniului Go To. Putem


scrie o adres de celul n cmpul Referina al meniului Salt La sau putem
alege din Salt La..., unde anume vrem s efectum saltul. n cazul utilizrii
repetate, denumirile de domenii utilizate anterior, respectiv adresele de celule
atinse anterior rmn n fereastra Salt La.... Prin selectarea dirijat putem
desemna cu uurin celule cu aceleai caracteristici, iar caracteristicile se aleg
n fereastra de meniu (ex. dac vrem s selectm celulele care conin text)

n cazul bazelor de date de dimensiuni nu prea mari mrim claritatea prin


butonul HIDE/UNHIDE al benzii VIEW, fiindc asigur mai mult spaiu pe
ecran pentru tabelul nostru. Cu acest buton pot fi vizualizate sau ascunse: bara
de instrumente, barele de titlu, rigla, bara de formule, liniile de gril. O alt
74

Dou ri, un scop, succes comun!

rezolvare poate fi comanda VIEWFULL SCREEN, cu ajutorul creia putem


folosi ntregul ecran pentru editarea tabelului.

Un instrument ajuttor pentru o mai mare claritate este comanda ZOOM din
VIEW, cu ajutorul creia putem mri sau micora tabelul de pe ecran.

Dac tabelul nostru este prea lat sau prea lung, este util folosirea butonului
Freeze Panes

din VIEW. Scopul acestuia este ca, n cazul tabelelor

mari, zonele de denumiri din partea superioar i stnga s fie mereu vizibile.
naintea lansrii comenzii aezm cursorul mouse-ului sau selectm prin tastare,
celula deasupra sau la stnga creia se afl zonele cu denumiri ale tabelului
nostru. Pentru revocarea comenzii se va utiliza acelai buton.

Comanda VIEWSPLIT

mparte ecranul n 2 sau 4 pri, n care pot fi

vizualizate diferite pri ale tabelului. n aceast situaie benzile de derulare se


despart. naintea lansrii comenzii trebuie selectat celula deasupra creia,
respectiv la stnga creia dorim s mprim tabelul. Pentru revocarea comenzii
se acioneaz acelai buton

Acelai scop l au simbolurile

dinpartea de sus a benzii de derulare pe

vertical i

din captul dreapta al benzii de derulare orizontale. Aceste

simboluri pot fi prinse i trase cu mouse-ul la locul unde dorim s mprim


tabelul i napoi.

75

Dou ri, un scop, succes comun!

Mai rar se utilizeaz butonul ARRANGE ALL din VIEW, cu ajutorul cruia
putem vedea concomitent pe ecran, diferite pri ale unui tabel mare. Este util s
se foloseasc pentru vizualizarea mai multor fiiere. Aranjarea poate fi sub
form de mozaic, suprapus, alturat, n trepte, fiind posibil continuarea
activitii n alt fiier (fig. 60.).

Fig. 60.: Posibiliti de aezare a foilor de lucru cu ajutorul comenzii


Arrange All

O nou oportunitate n Excel 2007 este comanda WATCH WINDOW


(fereastra de verificare) din FORMULAS, n care, prin butonul Add Watch
putem introduce mai multe celule n fereastra de verificare. Cu ajutorul acestei
faciliti se poate compara coninutul celulelor selectate, respectiv valorile
obinute (fig. 61.).

76

Dou ri, un scop, succes comun!

2.2. Utilizarea funciilor de cutare

Pe lng comanda Find putem utiliza i funciile de cutare care, n versiunile


anterioare, se numeau funcii de cutare i de referin sau funcii matriceale.
Cu ajutorul acestora se obin informaii n legtur cu coninutul celulelor
(valoare, text, caractere speciale), ct i despre referine (de exemplu, despre
locul celulei cu ajutorul funciei .MATCH()).

Fig. 61.: Afiajul ferestrei de verificare Watch Window

Funciile de cutare pot fi accesate cu meniul Lookup and Reference din


FORMULAS. Funciile de cutare sunt ADDRESS(), AREAS(), CHOOSE(),
COLUMN(), COLUMNS(), GETPIVOTDATA(), HLOOKUP(), INDEX(),
INDIRECT(),

LOOKUP(),

MATCH(),

ROW(),

ROWS(),

RTD(),

TRANSPOSE(), VLOOKUP() (fig. 62.).

77

Dou ri, un scop, succes comun!

2.2.1. Funcia ADDRESS()

Funcia ADDRESS() red referina corespunztoare adresei unei celule


(numrul rndului i numrul coloanei). Sintaxa formulei este (fig. 63.):
=ADRRESS(Row_num; Column_num; Abs_num; a1; Sheet_text)

Referinele Row_numi Column_num trebuie s conin numrul


rndului i numrul coloanei careconin adresa dat.

Fig. 62.: Deschiderea listei funciilor de cutare

78

Abs_num potare fi de 4 feluri:

Dou ri, un scop, succes comun!

1: referina absolut la rnd i coloan; n unele cazuri valoarea


poate fi #LIPS;

2: referin absolut de rnd i referin relativ de coloan;

3: referin relativ de rnd i referin absolut de coloan;

4: referin relativ de rnd i coloan.

Valoarea lui A1 nu trebuie dat n mod obligatoriu (nu este evideniat cu


litere boldate). Valoarea care caracterizeaz referina poate fi de dou
feluri:

De tip A1: poate avea valoarea1 sau ADEVRAT sau nu este


precizat, iar atunci valoarea funciei ADDRESS() este egal cu
valoarea A1.

De tip S1O1: valoarea este 0 sau FALS.

Fig. 63. Argumentele funciei ADDRESS()


79

Dou ri, un scop, succes comun!

Completarea cmpului Sheet_text nu este obligatorie. Dac se d, aceasta


trebuie s fie denumirea curent a foii de lucru. Dac nu se completeaz,
funcia nu va folosi denumire de foaie de lucru.

n tabelul 15. prezentm cteva variante posibile ale funciei ADDRESS(),


difereniate pe baza adresei absolute sau adresei relative utilizate ca argumente.

Tabelul 15.: Variantele posibile ale funciei ADDRESS()


Funcia

Rezultatul

=ADDRESS(2011; 1)

$A$2011

=ADDRESS(2011; 1; 2)

A$2011

=ADDRESS(2011; 1; 3)

$A2011

=ADDRESS(2011; 1; 4)

A2011

=ADDRESS(2011; 1; 4; TRUE)

A2011

=ADDRESS(2011; 1; 4; FALSE)

S[2011]O[1]

2.2.2. Funcia VLOOKUP()

Funcia VLOOKUP() caut o valoare n prima coloan din stnga unui tabel,
apoi red valoarea aflat n celula de intersecie dintre rndul respectiv i o
coloan dat. n prima coloan pot fi doar numere, text sau o valoare logic.
Funcia nu poate deosebi literele majuscule de cele minuscule. Sintaxa funciei
este (fig. 64.):
=VLOOKUP(Lookup_value; Table_array; Col_index_num; Range_lookup)
80

Dou ri, un scop, succes comun!

Valoarea de cutare Lookup_value poate fi orice valoare, referin sau ir


de caractere.

n rubrica Table_array trebuie selectat domeniul n care se realizeaz


cutarea.

La Col_index_num(numrul de ordine al coloanei) se nscrie acel numr


care reprezint valoarea locului ocupat n tabel. Dac valoarea coloanei
este 5, atunci obinem ca rezultat, valoarea nscris n coloana a 5-a a
tabelului. n aceast parte nu putem nscrie numr de coloan mai mic
dect 1, fiindc n acest caz, sistemul d mesajul de eroare #VALUE.
Dac valoarea introdus este mai mare dect numrul de coloane al
tabelului, mesajul de eroare va fi #REF.

n fereastra Range_lookup se poate nscrie o valoare logic pentru o


precizie mai mare sau mai mic a cutrii. Aceast list de comenzi poate
fi utilizat numai dac prima coloan a bazei de date este aranjat n
ordine cresctoare. Dac introducem valoarea TRUE (Adevrat), atunci
valoarea redat aproximeaz valoarea cutat. Aceasta nseamn c n
cazul n care nu gsete valoarea, funcia va reda n locul ei valoarea
urmtoarecea mai mare, dar mai mic dect argumentul cutat. Dac baza
de date nu este aranjat dup mrime, funcia va da un rezultat eronat.

Exemplu 18.: n aplicaia urmtoare vom aplica funcia VLOOKUP() pentru


cutarea datelor de vnzri ale agenilor de vnzri (fig. 65.):
1.

Prima ntrebare este: ct a fost totalul vnzrilor lui Istvn ?

2.

A doua ntrebare: ct a vndut n total, Pista?

81

Dou ri, un scop, succes comun!

Fig. 64.: Argumentele funciei VLOOKUP()

Pentru obinerea rspunsului la prima ntrebare, introducem criteriul de


cutare n celula A8. Tabelul este domeniul A1:E6, totalurile se gsesc n
coloana a cincea, deci Col_index_num=5. Nu putem accepta dect rezultat
exact, de aceea n fereastra Range_lookup nscriem expresia logic FALSE.
Astfel, funcia devine:
=VLOOKUP((A8; A1:E6; 5; FALSE),
iar rezultatul va fi 74415.

La a doua ntrebare procedm la fel, dar aici, criteriul de cutare se gsete n


celula A9, iar restul parametrilor corespund. Ca rezultat obinem mesajul de
eroare #N/A, fiindc nu exist agent de vnzri cu numele Pista.

82

Dou ri, un scop, succes comun!

Fig. 65. Aplicaie pentru utilizarea funciei VLOOKUP

2.2.3. Funcia de cutare HLOOKUP()

n denumirea funciei HLOOKUP(), litera H desemneaz direcia orizontal


(horizontal). Funcia caut un element n primul rnd al unui bloc, apoi red o
valoare din coloana n care se afl acest element, pe baza parametrilor dai.
Utilizarea funciei seamn n principiu cu aceea a funciei VLOOKUP().
Funcia nu recunoate diferena ntre literele majuscule i minuscule.

Utilizarea funciei poate fi util n cazurile n care valorile comparate se gsesc


n rndul de sus al blocului (tabelului) i dorim s aflm o valoare aflat ntr-un
rnd aflat mai jos. Sintaxa formulei este (fig. 66.):
=HLOOKUP(Lookup_Value; Table_array; Row_index_num; Range_lookup).

83

Dou ri, un scop, succes comun!

Cmpul valorii de cutare Lookup_value trebuie s conin o valoare pe


care funcia o caut n rndul de sus al tabelului. Coninutul celulei poate
fi valoare, text sau referin.

Fig. 66.: Argumentele funciei HLOOKUP()

n cmpul Table_array trebuie s fie identificat un bloc (desmnarea sau


denumirea unui domeniu) n care se va efectua cutarea. Tabelul sau
blocul selectat poate conine cap de tabel, numere, valori logice.

Cmpul Row_index_num trebuie s conin numrul rndului din care


ateptm rezultatul. De exemplu, dac introducem valoarea 3, funcia va
reda valoarea din rndul al treilea al tabelului/blocului.
Dac nscriem un numr mai mare dect numrul de rnduri al tabelului
selectat, funcia returneaz mesajul de eroare #REF. Dac nscriem o
valoare mai mic dect 1, vom obine mesajul de eroare #VALUE.

Coninutul cmpului Range_lookup este o valoare logic, putnd fi


adevrat (TRUE) sau fals (FALSE). Prin utilizarea acestora, cutarea

84

Dou ri, un scop, succes comun!

poate fi exact sau aproximativ. Dac valoarea este TRUE, atunci valoarea
redat va fi aproximativ, ceea ce nseamn c dac funcia nu gsete o
coresponden perfect, atunci va da un rezultat mai mic dect argumentul
cutat. n acest caz, elementele primului rnd al tabelului selectat trebuie
s fie aezate n ordine cresctoare. n orice alt situaie, rezultatul funciei
va fi eronat. Dac valoarea domeniului este FALSE, atunci funcia caut
coresponden exact. Dac nu exist o astfel de coresponden, funcia
red un semnal de eroare (#N/A). Pentru utilizarea argumentului FALSE
nu este necesar aranjarea n ordine a tabelului.

Exemplu 19.: n cele ce urmeaz vom prezenta posibilitatea de aplicare a


funciei HLOOKUP() printr-un exemplu (fig. 67.). n tabel se gsesc datele
anuale de vnzri ale unor ageni de vnzri. Vrem rspunsuri la urmtoarele
ntrebri:
1.

Ct este totalul vnzrilor pe anul 2002?

2.

S creem o funcie cu ajutorul creia s putem afla valoarea oricrei celule


a bazei de date.

Rspunsul la prima ntrebare este foarte simplu. Valoarea de cutare se gsete


n celula A8. Ca domeniu de cutare selectm ntreg tabelul; rndul totalurilor
este al 6-lea, acceptm numai coresponden precis, de aceea n cmpul
Range_lookup nscriem valoarea logic FALSE. Funcia va deveni:
=HLOKUP(A8;A1:E6;6;FALSE)

85

Dou ri, un scop, succes comun!

Fig. 67.: Posibilitatea de utilizare a funciei HLOOKUP()

Pentru rezolvarea celei de a doua ntrebri vom utiliza cele nvate anterior.
n primul rnd vom ntocmi un mic tabel ajuttor (domeniul A10:B11 n
imagine), apoi, cu ajutorul comenzii de validare a datelor s creem liste verticale
pentru ani n celula A11 i pentru nume n celula C11. Apoi putem ntocmi
funcia. Valoarea de cutare va fi celula A11, fiindc aici se gsesc
identificatoarele rndurilor. Domeniul (Table_array) este tabelul n ntregime
(A1:E6). Numrul rndului Row_index_num se calculeaz cu ajutorul funciei
(MATCH() despre care se va vorbi mai pe larg n capitolul urmtor. i aici se
accept numai coresponden exact, de aceea valoarea logic va fi FALSE.
Funcia va fi:
=HLOOKUP(A11; A1:E6; MATCH(B11; A1:A6; 0); FALSE)

Dup aceasta, tot ce avem de fcut este ca n celula A11 s selectm perioada, n
B11 s selectm numele, iar n C11 putem vedea imediat rezultatul aferent
criteriilor. Lista care se deruleaz n ferestrele verticale asigur cutarea numai a
86

Dou ri, un scop, succes comun!

acelor elemente care exist ntr-adevr, astfel nu trebuie s ne ateptm la


mesajul de eroare #N/A.

2.2.4. Funcia MATCH()

Funcia MATCH() red poziia unui element ntr-un bloc, corespunztoare unei
valori date ntr-un mod dat. Nici aceast funcie nu deosebete literele majuscule
de cele minuscule. Sintaxa formulei este (fig. 68.):
=MATCH(Lookup_value; Lookup_array; Match_type)

Fig. 68.: Argumentele funciei MATCH()

Valoarea de cutare Lookup_value este acel numr, text, acea valoare


logic sau referin la o astfel de valoare, al crui/crei loc l cutm n
tabel.
87

Dou ri, un scop, succes comun!

Lookup_array este o selecie coerent (bloc) n care funcia caut


valoarea cutat.

Cmpul Match_type nu trebuie completat n mod obligatoriu. Dac nu se


completeaz, funcia va lucra cu valoarea intrinsec 1.
Dac valoarea este 1, atunci funcia va cuta valoarea egal sau cea mai
mare valoare mai mic dect valoarea cutat. n acest caz, datele din baza
de date trebuie s fie selectate n ordine cresctoare.
Dac valoarea este 0, atunci funcia va cuta valoarea care corespunde
exact valorii de cutare. n acest caz nu se impune aranjarea dup mrime
a tabelului. Dac valoarea cutat este text, atunci putem utiliza
caracterele nlocuitoare * (stea) sau ? (semnul ntrebrii). Semnul * se
utilizeaz atunci cnd la dreapta poziiei date nu cunoatem caracterele.
Poate fi vorba despre orice numr de caractere necunoscute. Semnul ?
poate nlocui un singur caracter.
Dac valoarea este -1, atunci funcia va reda valoarea egal cu cea cutat
sau cea mai mic valoare mai mare dect valoarea cutat. i aici,
aranjarea dup mrime este esenial. n cazul n care funcia nu gsete o
valoare care corespunde valorii cutate, apare mesajul de eroare #N/A.

Exemplu 20.: Prezint o problem rezolvabil cu ajutorul funciei MATCH().


(Fig. 69.) ntrebrile la care se caut rspuns sunt:

A cta este Ivett n lista de nume (domeniul (A2:A6)?


o

88

Gsim o potrivire exact pe locul 4.

Care este cea mai mare valoare, mai mic dect 15, n domeniul B2:B6?

Dou ri, un scop, succes comun!

Dsatele nu sunt n ordine, de aceea vom obine mesaj de eroare


#N/A

Care este valoarea egal cu 23 sau cea mai mare valoare mai mic dect
23, n domeniul B2:B6?
o

Nu exist 23, cel mai mic numr mai mare este 24, aflat n poziia 2.

Fig. 69.: Utilizarea funciei MATCH()

2.2.5. Funcia INDEX()

Funcia INDEX() red ca rezultat, valoarea acelui element (tip referin sau
bloc), pe care parametrii de rnd sau de coloan l definesc drept index.
Deosebim dou tipuri ale acestei funcii: forma relativ la blocuri i forma
relativ la referine. Funcia de tip referin red o referin (adres), pe cnd
funcia tip bloc red o valoare sau un bloc de valori. Tipul bloc red ca rezultat,
valoarea unei celule sau a unui bloc de celule date. Tipul referin red adresa
89

Dou ri, un scop, succes comun!

celulei date. Alegem argumentul n funcie de ceea ce dorim s obinem ca


rezultat (fig. 70.).

Fig. 70.: Alternativele de utilizare ale funciei Index()

Sintaxa formulei aferente funciei tip bloc (fig. 71.):


=INDEX(array; row_num; column_num).

Fig. 71.: Argumentele funciei INDEX() de tip bloc (array)

90

Dou ri, un scop, succes comun!

Argumentul array va fi o selecie de celule din care dorim s obinem data


cutat.

n cmpul row_num se va nscrie numrul blocului din care dorim s


obinem valoarea. Dac nu introducem aceast valoare, este obligatorie
introducerea numrului coloanei.

Introducerea datelor n cmpul column_num este obligatorie numai dac


nu introducem date n cmpul row_num. Aici vom introduce numrul
coloanei din care dorim s obinem valoarea cutat.

Dac introducem att numrul rndului ct i numrul coloanei ntr-o funcie tip
bloc, vom obine ca rezultat, valoarea din celula de intersecie a rndului i
coloanei rerspective. Dac nu dm un parametru, rezultatul funciei va deveni
#REF! pentru lipsa numrului coloanei sau #VALUE! Pentru lipsa numrului
rndului. Dac dup identificarea blocului introducem o valoare pentru numrul
rndului sau numrul coloanei care nu figureaz n bloc, valoarea obinut va fi
tot #REF!.

Fig. 72.: Aplicaii ale funciei INDEX() tip bloc


91

Dou ri, un scop, succes comun!

Pentru forma cu referin, sintaxa formulei este:


=INDEX(reference; row_ num; column_num; Area_num)

Cmpul Reference este format dintr-una sau mai multe zone de celule. n
cazul n care zona const doar ntr-un rnd sau ntr-o coloan, se poate
renuna la argumentul rndului sau coloanei. Dac zona de celule const n
mai multe celule independente, atunci ntre diferitele referine se vor
insera paranteze rotunde (fig. 73.).

Fig. 73.: Argumentele funciei INDEX() de tip referin

n cmpul Row_num se va introduce numrul rndului din care dorim s


obinem valoarea. Dac aceast valoare nu este dat, trebuie dat
obligatoriu, numrul coloanei. Dac valoarea dat este zero, atunci funcia
red ca rezultat, ntreaga coloan.

92

Dou ri, un scop, succes comun!

n cmpul Column_num se va nscrie numrul coloanei din care ateptm


rezultatul. Dac valoarea nscris ezte 0, atunci funcia se va referi la
ntregul rnd.
Dac nscriem valori din afara referinei la argumentele rnd sau coloan,
rezultatul funciei va deveni #REF!

n cmpul Area_num trebuie nscris acea parte a referinei din care dorim
s obinem rezultatul prin utilizarea funciei. Dac nu introducem o
valoare, funcia va utiliza configuraia 1. Dac nu scriem nimic nici la
numrul rndului, nici la numrul coloanei, rezultatul funciei va fi chiar
zona de referin.

Exemplu 21.: Fig. 74. prezint o aplicaie posibil a a funciei INDEX() de tip
referin.

ntruct avem o singur baz de date, atunci cnd ne referim la zona de date
numrul 2, funcia va reda rezultatul de eroare #REF!.

Fig. 74.: Posibiliti de aplicare a funciei INDEX() de tip referin

93

Dou ri, un scop, succes comun!

2.2.6. Funcia INDIRECT()

Funcia INDIRECT() red valoarea unei referine formulate asupra altei celule
cu ajutorul unui text. Valoarea de referin poate fi un numr, dar i un text.
Utilizarea funciei este recomandat cnd dorim redarea valorii unei celule la
care se face o referin indirect. Sintaxa formulei funciei este (fig. 75.):
=INDIRECT(Ref_text; A1)

Cmpul Ref_text trebuie s conin o referin asupra unei celule care la


rndul ei este o referin tip A1 sau R1C1. Valoarea celulei poate conine
o denumire sau un text care definete o referin. Completarea cmpului
este obligatorie.

Cmpul A1 poate conine o valoare logic. Completarea acestuia nu este


obligatorie. Dac valoarea logic este adevrat (true), atunci referirea
este de tip A1, iar dac este fals (false) atunci referina este de tip R1C1.

Fig. 75.: Argumentele funciei INDIREKT()


94

Dou ri, un scop, succes comun!

Exemplu 22.: Avem o list de nume, aranjat n ordinea descresctoare a


vrstei. Dorim s tim cine este persoana care are exact 23 de ani sau dac nu
exist, cine este persoana mai n vrst, cu vrsta cea mai apropiat de 23 de ani
(fig. 76.).

Pentru rezolvare vom utiliza mpreun funciile Match(), Indirect() i operatorul


de mbinare a textelor &:
=INDIRECT(F&MATCH(F8; G1:G6; -1))

Intenia noastr este s selectm numele potrivit din domeniul F2:F6. tim c
rezultatul se afl n coloana F, dar nu tim al ctelea element al coloanei este.
Numrul de ordine al elementului l aflm cu ajutorul funciei MATCH() n
domeniul G1:G6, adic:
MATCH(F8; G1:G6; -1),
unde rezultatul funciei este 3.

Fig. 76.: Aplicarea funciei INDIRECT()

95

Dou ri, un scop, succes comun!

Cu ajutorul operatorului & corelm valorile F i 3, iar cu ajutorul funciei


INDIRECT() obinem coninutul celulei F3.

2.2.7. Funcia LOOKUP()

Funcia LOOKUP() caut valoarea dorit ntr-un bloc de date sau ntr-un vector.
n consecin funcia va avea dou tipuri: bloc i vectorial.

n cazul cutrii ntr-un bloc, funcia caut o valoare n primul rnd sau n prima
coloan a unui tabel sau a unei pri de tabel (bloc), apoi, dup gsirea acesteia,
returneaz ultimul element al rndului sau coloanei respective. Se utilizeaz
cnd trebuie s cutm n liste scurte de valori, iar valorile sunt constante.
Aplicarea acestei forme a funciei LOOKUP() este recomandat cnd valorile
cutate se gsesc n primul rnd sau n prima coloan a blocului dat.

Numim cutare n vector, procedeul cnd funcia caut ultima apariie a unei
valori ntr-un vector i apoi red valoarea aflat n aceeai poziie ntr-un alt
vector. Acest lucru se utilizeaz cnd se caut n liste lungi de valori, iar
valorile se modific dup un anumit timp. Aplicarea acestei forme a funciei
VLOOKUP() este recomandat cnd vrem s dm numrul rndului sau
coloanei din dreptul valorii cutate.

96

Dou ri, un scop, succes comun!

Este mai oportun utilizarea funciei HLOOKUP() sau VLOOKUP() n locul


funciei LOOKUP(). Funcia nu face diferena ntre literele majuscule i
minuscule.

Sintaxa funciei LOOKUP() de tip bloc (fig. 77..):


=LOOKUP(Lookup_value; Array)

Fig. 77.: Argumentele funciei LOOKUP() de tip bloc

n cmpul Lookup_value se nscrie valoarea cutat de funcie n blocul de


date. Aceasta poate fi un numr, un text, o valoare logic, denumire, nume
sau referin.
n cmpul Array trebuie localizat un bloc ale crui valori sunt aranjate n
ordine cresctoare (0,1,2,3,; A,B,C,; FALSE, TRUE). Dac baza de
date nu este aranjat n ordine, nu vom obine un rezultat exact.
Elementele pot fi numere, texte, valori logice, denumiri, nume, respectiv

97

Dou ri, un scop, succes comun!

referine. Precizarea blocului este obligatorie. Blocul marcat poate fi


denumit blocul care trebuie comparat cu valoarea cutat.
Dac funcia nu gsete valoarea cutat, va reda elementul cel mai mare
care nc este mai mic dect cel cutat.

Rezultatul funciei va fi #N/A, dac valoarea cutat este mai mic dect cea
mai mic valoare existent n primul rnd, respectiv n prima coloan.

Exemplu 23.: pentru cutarea n bloc. (fig. 78.)

Forma vectorial a funciei LOOKUP() va cuta o valoare n domeniul format


dintr-un rnd sau dintr-o coloan (vector) i va reda ca rezultat, valoarea
elementului aflat n aceeai poziie pe un alt vector. Utilizarea este recomandat
cnd dorim s precizm domeniul care conine valorile rezultatelor.

Sintaxa formulei funciei de cutare LOOKUP() de tip vectorial (fig. 79.):


=LOOKUP(Lookup_value; Lookup_vector; Result_vector)

La argumentul Lookup_value se nscrie acea valoare pe care funcia de


cutare o va cuta n primul vector. Valoarea poate fi numr, text, valoare
logic, respectiv denumire sau referin relativ launul dintre acestea.

Cmpul Lookup_Vector trebuie completat. naintea precizrii domeniului,


valorile trebuie aranjate n ordine cresctoare. n caz contrar, rezultatul
calculelor va fi inexact. Domeniul desemnat poate fi un singur rnd sau o
singur coloan. Valorile acestuia pot fi att text, ct i numere sau valori

98

Dou ri, un scop, succes comun!

logice. Funcia nu recunoate diferena dintre literele majuscule i cele


minuscule.

Fig. 78.: Aplicaiile funciei LOOKUP() de tip bloc

Precizarea vectorului rezultatelor Result_vector nu este obligatorie.


ntruct vectorul nseamn un domeniu format dintr-un singur rnd sau o
singur coloan, rezult c i ca vector al rezultatelor poate fi desemnat tot
un domeniu format dintr-un rnd sau dintr-o coloan. Mrimea vectorului
de cutare trebuie s corespund cu mrimea vectorului rezultatelor.

Dac funcia LOOKUP() nu gsete rezultatul cutat, va reda ca rezultat, cea


mai mare valoare de pe vectorul de cutare Lookup_vector care este mai mic
99

Dou ri, un scop, succes comun!

dect valoarea de cutre Lookup_value. Dac valoarea noastr de cutare este


mai mic dect valorile de pe vectorul de cutare, atunci rezultatul redat de
funcia de cutare va fi mesajul de eroare #N/A.

Fig. 79.: Argumentele funciei LOOKUP() de tip vector

Exemplu 24.: aplicaie a vectorului LOOKUP() de tip vector. (fig. 80.)

2.2.8. Funcia GETPIVOTDATA()

Funcia GETPIVOTDATA()red datele stocate ntr-un tabel centralizator. n


cazul n care tabelul cuprinde i totalul, funcia se va utiliza la gsireaunui total
al tabelului. Sintaxa funciei (fig. 81.):

100

Dou ri, un scop, succes comun!

Fig. 80. Utilizarea funciei de cutare LOOKUP() de tip vector

Fig. 81.: Fereastra funciei GETPIVOTDATA()

=GETPIVOTDATA(Data_field; Pivot_table)
101

Dou ri, un scop, succes comun!

Precizarea cmpului de date Data_field este obligatorie. n acest caz se


marcheaz acel domeniu din care dorim s obinem datele.

La fel, cmpul referitor la tabelul centralizator, Pivot_table trebuie


completat. Putem s ne referim opional la anumite celule sau domenii de
celule ale tabelului centralizator. Astfel stabilim, care este data pe care
dorim s-o regsim.

Completarea cmpurilor Field1, Item1, Field2, Item2... (care apar pe rnd


la completarea cmpului Pivot_table, n.trad) nu este obligatorie. ntr-o
funcie se pot introduce maximum 126 de perechi de date referitoare la
cmpuri i elemente (Field, Item), care descriu datele pe care le dorim
redate. Ordinea perechilor de date este opional. Denumirile cmpurilor
i ale elementelor (nu valori numerice sau date calendaristice) se aeaz
ntre ghilimele. Dac argumentul cmp i element descrie o singur celul,
rezultatul returnat de funcie este chiar coninutul celulei, indiferent dac
acesta este un ir de caractere, numr, mesaj de eroare sau orice altceva.

n cazul n care domeniul selectat conine mai mult de un tabel centralizator,


atunci datele redate de funcie vor proveni din tabelul ntocmit cel mai recent.

Funcia GETPIVOTDATA() red ca rezultat, mesajul de eroare #REF! dac


domeniul selectat nu conine tabele centralizatoare sau dac parametrii dai
descriu un cmp ascuns (invizibil) sau dac au n componen, filtre n care
datele filtrate nu apar.

Exemplu 25.:Fig. 82.: Aplicaie a funciei GETPIVOTDATA(). (fig. 82.)


102

Dou ri, un scop, succes comun!

Fig. 82.: Aplicaie a funciei GETPIVOTDATA()

2.2.9. Funciile COLUMN() i COLUMNS()

Funcia COLUMN() red numrul coloanei la care se refer argumentul. Sintaxa


funciei este (fig. 83.):
=COLUMN(Reference)

Completarea cmpului Reference nu este obligatorie. Trebuie marcate


acea celul sau domeniu de celule al cror numr de coloane vrem s-l
aflm. Dac nu precizm nicio referin (Reference), atunci Excel red
implicit referina celulei n care se gsete funcia. Nu este posibil
referina multipl. Funcia nu se poate referi la mai multe domenii
deodat.
103

Dou ri, un scop, succes comun!

Fig. 83. Argumentul funciei COLUMN

Exemplu 26.: Este prezentat aplicarea funciei COLUMN(). Sunt date


rezultatele la examen pentru 4 elevi. S se determine diferitele numere de
coloan cu ajutorul funciei COLUMN(). (fig. 84.)

Fig. 84.: Aplicaiile funciei COLUMN()

104

Dou ri, un scop, succes comun!

Funcia COLUMNS() red numerele coloanelor dintr-o referin sau dintr-un


bloc de celule. Referina la blocuri se utilizeaz cnd o formul trebuie s redea
mai multe rezultate, respectiv dac funcia lucreaz cu argumente aranjate n
rnduri sau coloane. Sintaxa funciei este:
=COLUMNS(Array)

Completarea cmpului bloc (Array) este obligatorie (fig. 85.). Valoarea


acestuia furnizeaz informaii despre operaii, evenimente, metod,
caracteristici, funcie sau procedur. Este posibil referirea la blocuri,
formule tip bloc, respectiv la un domeniu de celule pentru care se dorete
stabilirea numrului celulelor. Formula tip bloc este o formul
careefectueaz mai multe operaii pe un set sau mai multe seturi de valori,
apoi red unul sau mai multe rezultate.Formulele tip bloc se scriu ntre
acolade ({ }).

Fig. 85. Argumentul funciei COLUMNS()

105

Dou ri, un scop, succes comun!

Exemplu 27.: prezentm modul de utilizare al funciei COLUMNS(). Se dau


rezultatele la examen pentru 4 elevi. S se determine numerele diferitelor
coloane cu ajutorul funciei COLUMNS(). (fig. 86.)

Fig. 86.: Aplicaiile funciei COLUMNS()

2.2.10. Funciile ROW() i ROWS()

Funcia ROW() (rnd) red ca rezultat, numrul rndului de referin. Sintaxa


funciei este (fig. 87.):
=ROW(Reference)

Completarea cmpului Reference nu este obligatorie.

Funcia ROWS() red numrul rndurilor referinei sau blocului. Sintaxa


funciei este
=ROWS(Array)
106

Dou ri, un scop, succes comun!

n cmpul Array (bloc) se introduc: acel bloc, formul bloc, domeniu de celule
ale cror numere de rnd ne intereseaz.

Fig. 87.: Argumentele funciilor ROW() i ROWS()

Exemplu 28.: Fig. 88. prezint posibilitile de utilizare ale funciilor ROW() i
ROWS().

Ca rezultat al funciei se obine numrul suprafeelor de referin, att n cazul


seleciei unice, ct i al celei multiple.

107

Dou ri, un scop, succes comun!

Fig. 88.: Aplicaii ale funciilor ROW() i ROWS()

2.2.11. Funcia AREAS()

Funcia AREAS() red numrul suprafeelor dintr-o referin. Aceasta poate fi o


singur celul sau un domeniu coerent de celule. Sintaxa funciei este (fig. 89.):
= AREAS(Reference)

Completarea cmpului Reference (referin) este obligatorie. Aceasta


nseamn referina la o celul sau la un domeniu de celule. Referina poate
fi multipl. Dac dorim s introducem mai multe cmpuri separate ntr-o
formul, atunci trebuie folosite paranteze duble, ntruct, aici, Excel nu va
interpreta punctul cu virgul ca fiind separator de cmpuri.

108

Dou ri, un scop, succes comun!

Fig. 89.: Argumentul funciei AREAS()

n fig. 90. se poate urmri aplicarea funciei AREAS()i se constat c pot fi


introduse una sau mai multe referine.

Fig. 90.: Aplicaii ale funciei AREAS()

109

Dou ri, un scop, succes comun!

2.2.12. Funcia TRANSPOSE()

Funcia TRANSPOSE() red transpusa unei matrici (transform liniile n


coloane i viceversa). Primul rnd al matricei noi va fi prima coloan a blocului
iniial. Sintaxa funciei este:
=TRANSPOSE(Array)

n cmpul Array se va desemna matricea ale crei rnduri i coloane dorim s le


schimbm ntre ele. (fig. 91.)

Fig. 91.: Argumentele funciei TRANSPOSE()

n cele ce urmeaz se va prezenta printr-o aplicaie, modul n care se transpun


rndurile i coloanele unei matrici cu 4 rnduri i 3 coloane. (fig. 92.)

Cu ajutorul funciei TRANSPOSE(), domeniile de celule verticale devin


orizontale, iar cele orizontale devin verticale. Funcia trebuie introdus ca
formul bloc ntr-un domeniu care are tot attea linii i coloane cte are
110

Dou ri, un scop, succes comun!

domeniul de origine (domeniu: dou sau mai multe celule pe o foaie). Formulele
bloc se nscriu ntre paranteze acolade ({ }).

Fig. 92.: Aplicarea funciei TRANSPOSE()

2.2.13. Funcia CHOOSE()

Funcia CHOOSE() alege o valoare dat dintr-o list de argumente de maximum


256 de elemente (value1;...value254). Dintre argumentelede valoare, funcia l
va reda pe cel care are numrul de ordine al indexului.Sintaxa funciei este (fig.
94.):
= CHOOSE(Index; value1; ... value 254)

Completarea cmpului

Index este obligatorie. Cmpul stabilete

argumentul ales. Tipul cmpului poate fi un numr sau o formul. Dac va


conine un numr, acesta poate lua orice valoare ntre 1 i 254. Dac
indexul este 1, atunci rezultatul funciei va fi argumentul Value1, dac
indexul este 2, rezultatul va fi argumentul e value 2 etc.
111

Dou ri, un scop, succes comun!

Valoarea funciei pentru index mai mic dect 1 sau mai mare dect
numrul argumentelor de valoare va reda rezultatul #VALUE! (mesaj de
eroare).
Dac indexul este o formul, programul va calcula funcia respectiv.

Din cmpurile Value1 ... Value254, doar Value1 trebuie introdus n mod
obligatoriu, restul valorilor se introduc opional. Coniuntul cmpului
poate fi numr, referin de celul, nume, formul, funcie, text. Funcia
va alege din lista dat, n funcie de index, valoarea corespunztoare.

Fig. 93.: Argumentele funciei CHOOSE()

Exemplu 31.: n aplicaia noastr vom alege informaia dorit din datele a patru
elevi, aflate n index.

112

Dou ri, un scop, succes comun!

Dac indexul nu are valoare ntreag, rezultatul va fi mesajul de eroare


#VALUE!. Totui n astfel de cazuri exist posibilitatea de a utiliza funcii de
rotunjire ROUND(), ROUNDOWN(), ROUNDUP().

Fig. 94.: Aplicaiile funciei CHOOSE()

2.3. Aranjarea datelor

n activitatea de zi cu zi este necesar adesea, rearanjarea datelor dintr-un tabel,


pe baza unor criterii. n aceste situaii trebuie s avem grij s selectm nu doar
coloana pe care vrem s o aranjm n ordine, ci ntreaga baz de date coerent.
Aranjarea datelor este accesibil din mai multe locuri. Cel mai simplu este din
cmpul EDIT DATA al benzii de meniu HOME (fig. 95.), dar se poate accesa,
de asemenea, din cmpul SORT&FILTER al benzii de meniu DATA (fig. 96.)

113

Dou ri, un scop, succes comun!

sau, dup activarea filtrrii (FILTER)

, fcnd clic pe lista de cmpuri care se

deschide n jos (fig. 97.)

Fig. 95.: Accesarea aranjrii datelor din banda de meniu HOME

Fig. 96.: Accesarea aranjrii datelor din banda de meniu DATA

Prin clic pe icon-ul Sort A to Z (Sortare de la A la Z) sau Sort Z to A (Sortare de


la Z la A), aranjarea n ordine cresctoare sau descresctoare se va efectua n
coloana n care ne aflm. Acesta este un procedeu rapid, dar n cazul tabelelor
mari sau dac lipsesc nume de cmpuri, nu este sigur c ntregul tabel a fost
inclus n aranjare, ceea ce poate duce la amestecarea datelor. Este mult mai
practic selectarea ntregului tabel i apoi utilizarea Custom Sort sau a iconiei.

114

Dou ri, un scop, succes comun!

Astfel pe de o parte se poate verifica dac este selectat fiecare cmp, pe de


alt parte avem posibilitatea aranjrii pe mai multe nivele (fig. 98.).

Fig. 97.: Aranjarea datelor prin utilizarea filtrului (Filter)

Exemplu 32.: Aranjare pe mai multe nivele. Fig. 99. prezint vnzrile
diferitelor magazine. Am efectuat aranjarea mai nti dup judee, apoi dup
localiti.

115

Dou ri, un scop, succes comun!

Fig. 98.: Fereastra de aranjare Custom Sort

Fig. 99.: Exemplu de aranjare pe mai multe nivele

116

Dou ri, un scop, succes comun!

2.4. Filtrarea datelor

Prin filtrare, n tabel rmn numai date care corespund unui anumit criteriu, iar
restul vor fi ascunse. Acest lucru este practic fiindc rndurile selectate prin
filtrare fac tabelul mai comprehensiv, eventualele greeli pot fi corectate mai
uor, iar cu datele filtrate pot fi efectuate nsumri i diferite alte operaii. Pentru
filtrarea datelor este necesar un fragment de tabel care corespunde cerinelor
tabelului tip baz de date (list). n cazul datelor aezate nestructurat pe foaia de
lucru sau al celor aranjate orizontal, filtrarea nu este posibil. De asemenea este
important ca n rndul de sus s existe un identificator referitor la coninutul
coloanei (tabelele de tip baz de date au fost descrise amnunit la capitolul
1.2.).

naintea filtrrii putem efectua formatarea tabelului pentru aceasta selectm


domeniul de celule care urmeaz a fi formatat, apoi din banda de meniu HOME
selectm STYLES Format as Tablei selectm formatul dorit, astfel se
ajusteaz automat capetele de tabel i se activeaz filtrele.

Putem efectua filtrarea i fr formatarea tabelului. n acest caz pur i simplu


selectm poriunea de tabel a crei date trebuie filtrate, apoi selectm HOME
EDITING Sort&FilterFilter. Alt cale este: din banda DATAiconiaFilter.
Ca urmare a selectrii funciunii,n rndul de sus al coloanelor, lng
identificatori apar sgei de derulare.

117

Dou ri, un scop, succes comun!

Mai departe n acest capitol vom trece n revist mai amnunit, posibilitile de
filtrare.

2.4.1. Utilizarea filtrrii automate

Cu ajutorul filtrrii automate putem cuta simplu i uor printre datele unui
domeniu de celule sau ale unei

pri de tabel i putem manevra datele

respective.

Pentru filtrarea n baza de date putem folosi comanda Filter din banda de meniu
DATA sau din banda de meniu HOME, EDITING, Sort & Filter, butonul
Filter. Cu ajutorul acestui buton poate fi activat filtrarea sau, dimpotriv, poate
fi revocat opiunea de filtrare. O dat cu activarea filtrrii, lng fiecare titlu de
coloan din selecie apare butonul unei liste de derulare.

Exemplu 33.: Pentru prezentarea elementului de meniu Filtrare vom efectua o


aplicaie practic. Datele participanilor la o tabr (tabelul 16.)

Dorim s filtrm datele n funcie de vrst. Dup deschiderea filtrului apar


posibilitile de filtrare. (fig. 100.)

n partea inferioar a meniului putem alege valorile aprute n coloan pe care


dorim s le vedem. n dreptul valorilor car ne intereseaz, bifm dreptunghiul de
selectare, iar n faa valorilor pe care nu dorim s le vedem, lsm dreptunghiul
de selectare gol (nebifat).
118

Dou ri, un scop, succes comun!

Tabelul 6.: Datele participanilor la o tabr

Fig. 100.: Prile meniului de filtrare


119

Dou ri, un scop, succes comun!

Fcnd clic pe opiunea Number Filters, n funcie de tipul datelor coninute de


celul, vom putea alege dintre filtre numerice, filtre de text sau filtre de date
calendaristice (fig. 101.).

Filtre numerice

Filtre de text

Filtre de date calendaristice

Fig. 101.: Tipuri de filtrare

Din meniul Custom Sort se poate activa fereastra AutoSort. Cu ajutorul acestuia
pot fi prevzute i condiii ceva mai complicate. Este util folosirea caracterelor
* i ? n cazul sortrilor pe texte unde cunoatem doar unii parametri fici ai
textului de cutat. Cu elementul de meniu Clear se poate terge filtrarea. Prin
restaurarea filtrrii (Reapply) putem reveni la tabelul iniial fr pierderi de date.
120

Dou ri, un scop, succes comun!

2.4.2. Filtrarea special sau complex (filtrare dirijat)

Dac vrem s efectum filtrri dup criterii multiple n baza de date, nu e sigur
c vom reui cu autofiltrarea. n aceste cazuri este indicat utilizarea filtrrii
dirijate.

Pentru aceastaintroducem condiiile ntr-un tabel de condiii (domeniu de


criterii).

Subpunctul filtrare special se vizualizeaz cu ajutorul irului de comenzi


DATA SORT&FILTER - Advanced. naintea fitrrii trebuie stabilit aa
numitul domeniu de filtrare, care trebuie s figureze ntr-un domeniu separat de
tabel. Domeniul de filtrare trebuie s conin cel puin dpu celule suprapuse.
Primul rnd al domeniului de filtrare va conine denumirile cmpurilor de filtrat,
iar n celelalte rnduri se vor da semnul de relaie al condiiei de filtrare i partea
dreapt a relaiei. Partea stng a unei relaii este, de fapt, numele cmpului
scris n primul rnd. n celula de sub denumirea cmpului se nscrie semnul de
relaie i partea dreapt a relaiei. Putem da un numr arbitrar de relaii
referitoare la un cmp, dar n aceste cazuri, n celulele de sub primul rnd se
nscriu doar semnul de relaie i partea dreapt a relaiei. n cazul mai multor
relaii, programul leag rndurile cu relaia logic sau, iar coloanele, cu
relaia logic i.

n cazul condiiei referitoare la un text, dac nu scriem nimic naintra


cuvntului, sistemul va presupune egalitatea (=). Nu este obligatorie nscrierea
121

Dou ri, un scop, succes comun!

semnului =, dar dac se nscrie, atunci textele trebuie puse n ghilimele duble.
De exemplu, cuvntul mr nseamn c sistemul va vizualiza toate cuvintele
care ncep cu mr. Este similar cu nscrierea n celul a cuvntului mr fr
ghilimele. n cazul numerelor, pe lng egalitate putem utiliza semnele de
relaie , , <, >, <>.

n cazul unui text, dac ne amintim numai de o parte a cuvntului cutat, putem
utiliza semnele* sau ?. Semnul * poate nsemna un ir de caractere de orice
lungime, pe cnd ? poate nlocui un singur caracter. n cadrul unei condiii,
caracterele nlocuitoare pot fi utilizate de mai multe ori. Nu se poate prestabili
diferena ntre literele majuscule i cele minuscule. Cele de mai sus sunt ilustrate
n tabelul 17.

Exemplu 34.: Filtrarea dirijat. Avem un tabel referitor la 10 persoane, unde


sunt date numele, vrsta i sexul persoanelor. Dorim s extragem numele
persoanelor ale cror nume ncep cu Z i sunt brbai sau persoanele cu vrsta
peste 20 de ani. Deschidem meniul Advanced din banda DATA. Domeniul de
tabel List range nseamn datele propriu-zise ale tabelului ($A$2:$C$10), pe
cnd domeniul de filtrare Criteria Range este partea de tabel n care au fost
precizate condiiile ($A$13:$C$15). Domeniile apar ca adrese (referine)
absolute. Expresia logic a condiiei este: =stnga(nume,1)=z i sex=masculin
sau vrsta>20. Aceast expresie este corect doar din punct de vedere logic,
practic n Excel nu funcioneaz.

122

Dou ri, un scop, succes comun!

Tabelul 17.: Cutare special ntr-o baz de date


Cuvntul cutat
Stundetele cu nume Sra
Nume care se ncep cu litera S
Nume care se termin cu litere S
Nume n care este o liter S
Nume n care se afl combinaia SZ
Nume n care a 3-a litet este K
Nume n vare a 2-a liter este A i se mai gsete un O

Caractere
Sra
=S*
=*S
=*S*
=*SZ*
=??K*
=?A*O*

Aplicaia poate fi rezolvat pe baza celor prezentate n panoul filtrare dirijat


(Advanced) din fig. Se recomand ca naintea deschiderii panoului Advanced,
cursorul mouse-ului s fie poziionat n interiorul domeniului de date, astfel
sistemul ofer automat acest domeniu n cmpul List range.

Domeniul de filtrare Criteria range conine condiiile stabilite; este indicat ca


acestea s fie selectate cu mouse-ul dup ce am fcut clic n cmpul de
introducere. Putem stabili locul datelor filtrate. n cazul filtrrii pe loc, (Filter
the list, in place), rezultatele se nscriu n interiorul tabelului de baz, pe cnd n
cazul copierii n alt loc (Copy to another location) baza de date filtrat va fi
aezat ntr-un loc prestabilit. Dac locul prevzut este prea mic pentru
extragere, programul ntreab dac poate terge restul rndurilor de sub spaiul
prevzut. Dac nici aa nu este suficient spaiu, atunci se impune efectuarea de
filtrri suplimentare n baza de date. n exemplul nostru am utilizat opiunea
Copiere n alt loc ($H$2:$J$2). Selectarea opiunii Unique records only (doar
nregistrrile unice), aflat n partea de jos a ferestrei este indicat numai dac n
cadrul bazei de date se gsesc mai multe rnduri identice, din care dorim s
vizualizm doar unul. Se activeaz prin bifarea dreptunghiului de activare din
123

Dou ri, un scop, succes comun!

faa textului. ntruct n exemplul nostru nu exist rnduri identice, nu vom


utiliza aceast opiune.

Fig. 102. Exemplu practic de utilizare a filtrrii dirijate


Rezultatul final al operaiunii se poate vedea n tabelul intitulat Tabelul obinut,
unde baza de date apare cu cap de tabel.

2.5. Funcii aferente bazelor de date

n capitolul anterior a fost abordat filtrarea bazelor de date. Cu ajutorul filtrrii


dirijate pot fi extrase elemente ale bazei de date pe baza unor criterii complexe,
unice. Totui se ntmpl adesea c nu avem nevoie de baza de date filtrat, ci
de o valoare calculat din ea, o medie, numrul de elemente, dispersia etc. n
astfel de cazuri, funciile bazelor de date sunt de mare ajutor fiindc putem
realiza cu ajutorul lor, extrageri complicate, multicriteriale.

124

Dou ri, un scop, succes comun!

n Excel exist 12 funcii ale bazelor de date. Putem introduce funciile bazelor
de date din meniul cu butoane PAGINA DE PORNIRE EDITARE
butonul - mai multe funcii inserare funcie (HOME EDITING
butonul - More Functions (fig. 103.), cu comanda Insert Function (fig. 104.)
sau prin introducerea formulei cu tastatura.

Fig. 103.: Introducerea funciei de baz de date din cmpul Editare al


paginii de pornire

n ambele cazuri apare fereastra de dialog Introducerea funciei (Insert


function), n care, la categoria Database (baze de date) gsim aceste funcii.
Toate funciile referitoare la bazele de date au trei argumente (fig. 105):

Database (baza de date)


nelegem prin baz de date, lista ordonat de date corelate, aezate n
rnduri (nregistrri) i coloane (cmpuri). Primul rnd al listei conine
denumirile

coloanelor.

Rndurile

domeniului

selectat

constituie

nregistrrile bazei de date.

125

Dou ri, un scop, succes comun!

Fig. 104.: Introducerea funciei din meniul Editare

Fig. 105.: Argumentele funciilor tip baz de date

Cmp
Arat care sunt cmpurile utilizate n funcie. Cmpul se poate introduce
cu denumirea pus ntre ghilimele (ex. vrsta, venit etc.) sau ca numr al

126

Dou ri, un scop, succes comun!

cmpului (fr ghilimele, ex. 1 pentru primul cmp, 2 pentru al doilea


etc.).

Criteriu
Este acel domeniu al celulelor care conine condiiile date. Argumentul
criteriu poate fi orice domeniu, dac acesta conine cel puin un titlu de
coloan i o celul goal dedesubt. Criteriul poate fi introdus i ca
referin la o celul (adres), bunoar n exemplul din fig. 106. este
domeniul A1:H4; sau poate fi dat printr-o denumire atribuit domeniului,
dar aa cum s-a artat mai sus, trebuie s mai conin cel puin o celul
goal.

Exemplu 35.: Pentruidentificarea mai simpl, baza de date o vom denumi Date.
(fig. 106.)

Acest lucru l realizm n banda de meniu FORMULAS, selectnd din cmpul


DEFINED NAMES, comanda Define Name (fig. 107.).

Fig. 108. prezint fereastra New name (nume nou). nscriem denumirea dorit n
cmpul Name (nume), n cazul nostru, Date stabilim raza de aciune (Scope),
putem face precizri legate de nume, iar apoi selectm domeniul datelor:
A6:H26.

Corespunztor celor descrise putem stabili denumirea de Criteriu pentru


domeniul criteriilor, dei nu are prea mult sens, fiindc dimensiunile acestuia se
pot modifica n funcie de ntrebrile formulate.

127

Dou ri, un scop, succes comun!

Fig. 106.: Domeniu de filtrare i domeniu de date

Fig. 107. Atribuirea unei denumiri

128

Dou ri, un scop, succes comun!

Fig. 108.: Introducerea unui nume nou


n cele ce urmeaz s vedem ce posibiliti de selecie i de analiz avem la
dispoziie prin utilizarea funciilor aferente bazelor de date.

DAVERAGE()
Red media acelor valori aflate n cmpul (coloana) nregistrrilor unei
baze de date care corespund criteriilor date.

DCOUNT()
Numr n cmpul nregistrrilor (coloana) unei liste sau baze de date,
acele celule care corespund unor criterii date.
Nu este obligatorie introducerea argumentului cmpului. Dac nu dm
valoarea cmpului, funcia DCOUNT() va reda numrul nregistrrilor
corespunztoare criteriilor date din ntreaga baz de date.

DCOUNTA()
Numr, n cmpul nregistrrilor unei liste sau al unei baze de date, acele
celule nonblanc (care nu sunt goale), care corespund criteriilor date.

129

Dou ri, un scop, succes comun!

Nu este obligatorie introducerea argumentului cmpului. Dac nu dm


valoarea cmpului, funcia DCOUNTA() va reda numrul nregistrrilor
corespunztoare criteriilor date din ntreaga baz de date.

DGET()
Extrage o singur valoare din baza de date. Se utilizeaz pentru a selecta
un cmp al unei nregistrri a bazei de date, care corespunde unui criteriu
dat.
Dac nicio valoare nu corespunde criteriului dat, funcia returneaz
mesajul de eroare #VALUE!.
Dac exist mai multe valori care corespund criteriului, mesajul de eroare
returnat de funcie va fi #N/A!.

DMAX()
ntr-un cmp (coloan) al nregistrrilor unei liste sau unei baze de date
caut i red valoarea cea mai mare care corespunde criteriilor date.

DMIN()
ntr-un cmp (coloan) al nregistrrilor unei liste sau unei baze de date
caut i red cea mai mic valoare care corespunde criteriilor date.

DPRODUCT()
Red produsul acelor valori dintr-un cmp (coloan) al nregistrrilor unei
liste sau unei baze de date, care corespund criteriilor date.

DSTDEV()
Estimeaz dispersia standard a mulimii pe baza unui eantion format din
numere aflate ntr-un cmp de nregistrri (coloan) al unei liste sau baze
de date care corespund criteriilor date.

130

Dou ri, un scop, succes comun!

DSTEDVP()
Calculeaz dispersia mulimii din cmpul de nregistrrial unei liste sau
baze de date (coloan), pe baza mulimii numerelor aflate n acesta care
corespund criteriilor date.

DSUM()
Red ca rezultat, suma acelor numere aflate ntr-un cmp de nregistrri al
unei liste sau baze de date (coloan), care corespund unui criteriu dat.

DVAR()
Estimeaz variana (ptratul dispersiei) mulimii pe baza unui eantion
dintr-un cmp de nregistrri (coloan) al unei liste sau baze de date, care
corespund unor criterii date.

DVARP()
Calculeaz variana mulimii pe baza mulimii numerelor aflate ntr-un
cmp de nregistrri (coloan) aferent unei liste sau baze de date, care
corespund criteriilor date.

2.6. Aplicaiile funciilor aferente bazelor de date

Vom analiza domeniul Date din fig. 106. Vom cuta rspunsuri la urmtoarele
ntrebri, utiliznd funciile bazelor de date:

Exemplu 36.: Ci brbai i cte femei fumeaz (fig. 109.)?

131

Dou ri, un scop, succes comun!

Fig. 109.: Ci brbai i cte femei fumeaz?

Mai nti vom rspunde la ntrebarea: ci brbai fumeaz. n domeniul de


criterii (A1:H2), n cmpul Sex nscriem Brbai, iar n cmpul Fumtor scriem
Da. ntre cele dou condiii este o relaie logic tip i, de aceea se afl n
acelai rnd.

Formula va fi:
DCOUNT(Date; A6; A1:H2)

Primul argument este nsi baza de date, definit anterior sub denumirea Date.
Drept criteriu putem considera respondenii cmpul A6 acesta este cmpul
numerelor de ordine, fiindc numerele de ordine definesc respondenii. Drept

132

Dou ri, un scop, succes comun!

domeniu al criteriului este selectat domeniul A1:H2, fiindc acesta conine


toate filtrele date.

Rezultatul formulei va fi: 6 persoane.

Dac vrem s aflm ci brbai i cte femei fumeaz, ori tergem condiia Sex,
fiindc brbat i femeie sunt caracteristici alternative, fiind doar dou variante,
ori n celula B3 nscriem Femei, iar n celula D3 nscriem Da iar domeniul
criteriilor l extindem i asupra rndului al treilea (A1:H3).

Exemplu 37.: Care este vrsta medie a brbailor (fig. 110.)?

Fig. 110.: Care este vrsta medie a brbailor?

Putem rspunde simplu i uor la ntrebare. Avem un criteriu de filtrare:sexul,


iar acolo scriem brbai.

Formula va fi:

133

Dou ri, un scop, succes comun!

=DAVERAGE(Date; C6; B1:B2).

Calculm media de vrst, deci folosim funcia DAVERAGE(), baza de date


este Date, calculul se refer la criteriul de filtrare aflat n coloana C6, iar
domeniul de filtrare este B1:B2. Rezultatul calculelor este 30,111.

Exemplu 38.: Care este greutatea corporal a femeilor peste 25 de ani sau mai
nalte de 165 cm (fig. 111.)?

Fig. 111.: Care este greutatea corporal medie a femeilor peste 25 de ani
sau cu nlimea de peste 165 cm?

n acest caz avem att ipoteza logic i, ct i sau. Peste 25 de ani I femeie
SAU peste 165 cm I femeie. n astfel de situaii, datele se introduc n dou
rnduri ale cmpului de filtrare. n coloana Sex, n celulele B2 i B3 se nscrie
Femei, iar la Vrst, n primul rnd (celula C2)se nscrie >25, la coloana
nlime corporal (celula E3) se nscrie >165.

134

Dou ri, un scop, succes comun!

Formula va fi:
=DAVERAGE(Date; F6; A1:E3)

i aici calculm o valoare medie, baza de date este Date, valorile din care se
calculeaz media sunt n cmpul Greutate corporal, la care se refer celula F6,
iar criteriile de filtrare au fost stabilite ca mai sus. Rezultatul calculului va fi
55,14 kg.

Exemplu 39.: Care este media, dispersia i variana greutilor corporale ale
persoanelor peste 25 de ani (fig. 112.)?

Fig. 112.: Ct este media, dispersia i variana greutii corporale a


persoanelor peste 25 de ani?

n acest caz ne intereseaz indicatorii statistici de baz referitori la greutatea


corporal a celor trecui de 25 de ani i vom face o filtrare unic.
135

Dou ri, un scop, succes comun!

Formulele sunt:
=DAVERAGE(Date; F6; C1:C2)
=DSTDEV(Date; F6; C1:C2)
=DVAR(Date; F6; C1:C2)

n fiecare formul se regsesc aceleai argumente:ne intereseaz indicatorul


statistic respectiv al cmpului F6 (greutate corporal) din baza de date Date,
domeniul criteriilor fiind C1:C2.

Rezultatele vor fi:


Media
Dispersia
Variana

Greutate corporal kg
67,8
17,1
293,9

Exemplu 40.: Care este cea mai mare i cea mai mic greutate corporal n
cazul femeilor nefumtoare (fig. 113.)?

n acest caz, ntre criteriile de filtrare exist relaia logic I. Pentru calcule se
utilizeaz funciile DMAX i DMIN.

Formulele vor fi:


=DMAX(Date; F6; B1:D2)
=DMIN(Date; F6; B1:D2)

Rezultatele formulelor:
Cea mai mic greutate corporal: 45 kg
136

Dou ri, un scop, succes comun!

Cea mai mare greutate corporal: 65 kg

Fig. 113.: Care este cea mai mare i cea mai mic greutate corporal n
cazul femeilor nefumtoare?

Exemplu 41.: Care este greutatea corporal a femeilor? (fig. 114.)

Fig. 114.: Care este nlimea femeilor?


137

Dou ri, un scop, succes comun!

n acest caz ne intereseaz o valoare, de aceea vom utiliza funcia DGET().


Formula va fi:
=DGET(Date; E6; B1:B2)

Rezultatul calculului va fi #N/A!, fiindc sunt mai multe date care corespund
criteriului.

Exemplu 42.: Care a fost media la bacalaureat a persoanelor sub 30 de ani, care
cunosc cel puin 3 limbi (fig. 115.)?

Fig. 115.: Care a fost media la bacalaureat a persoanelor sub 30 de ani, care
cunosc cel puin 3 limbi?

138

Dou ri, un scop, succes comun!

2.7. Gruparea datelor i subtotaluri

n cazul tabelelor de mari dimensiuni, amnumite i cu multe rnduri poate


aprea necesitatea de a vizualiza numai acele pri de care avem nevoie n acel
moment. Se ntmpl adesea ca n grupurile formate s vrem s efectum
totaluri sau alte calcule. n acest demers ne ajut funciunea de gruparei de
sume pariale din Excel. Att gruparea ct i calculul subtotalurilor sunt posibile
numai n cazul tabelelor (domeniilor de date) simple, de aceea dac avem o baz
de date, trebuie s-o transformm. Transformarea se realizeaz cu comanda
Convert to range (transform n domeniu de celule) din TABLE TOOLS
(instrumentele tabelului), banda DESIGN (proiectare) (fig. 116.), sau prin
activarea meniului local cu butonul dreapta al mouse-ului, cnd apare
TabelTransform n domeniu de celule (fig. 117.).

Fig. 116.: Transformarea n domeniu de celule (Convert to range) pe


banda de meniu Table Tools Design

Dup transformarea n domeniu de date, butoanele de filtrare din dreptul


denumirilor cmpurilor dispar.

naintea gruprii i a calculelor de subtotaluri, tabelul trebuie ordonat, innd


seama de criteriile de ordonare dorite.
139

Dou ri, un scop, succes comun!

Fig. 117.: Comanda Transform n domeniu de celule (convert to range) n


cu meniul local

Dup aceasta, n banda de meniu DATA, cmpul OUTLINE, gsim icon-ul


calculului de subtotaluri. (fig. 118.).

Fig. 118.: Comanda Subtotal n banda de meniu Data

n fereastra Subtotaluri, (fig. 119.), expresia At each change in n seamn


cmpul de ordonare primar. La textul: Use function se poate alege funcia
statistic dorit (SUM, COUNT, AVERAGE, MAX, MIN, PRODUCT,
COUNT NUMBERS, STDEV, STDEVP, VAR, VARP). n dreptul textului Add
140

Dou ri, un scop, succes comun!

subtotal to selectm coloanele cu care dorim s efectum calculele statistice


(aplicm funcia selectat).

Fig. 119.: Fereastra Subtotal

Dac debifm dreptunghiul de selectare Replace current subtotals, putem


vizualiza mai multe operaii statistice prin aplicarea repetat a comenzii
Subtotal.

Cu ajutorul elementului de meniu Page break between groups se poate stabili


locul ntreruperii paginii i poziia totalurilor.

Vizualizarea se face sub form de Outline, ceea ce permite deschiderea sau


nchiderea nivelelor pariale cu ajutorul butoanelor + i din partea stng a
tabelului. Fcnd clic pe cifrele din stnga tabelului care desemneaz nivelele,
se poate deschide sau nchide cte un nivel ntreg (fig. 120.).
141

Dou ri, un scop, succes comun!

Fig. 120.: Modificri n Outline

Exemplu 43.: Inserarea sumei pariale. n tabelul nr. 18. este redat rulajul unei
ntreprinderi de comer en detaille n primul trimestru, pe luni i pe magazine.
Aranjarea datelor s-a efectuat deja. Criteriul primar de aranjare a fost Numrul
magazinului, iar cel secundar a fost perioada. Trebuie s efectum totalizarea
trimestrial pentru fiecare magazin n parte, utiliznd funcia Subtotal din Excel.

Selectm tabelul, apoi, din banda de meniu DATA, cmpul OUTLINE facem
clic pe iconia Subtotal. n fereastra aprut, criteriul de grupare va fi numrul
magazinului (acesta a fost i criteriul primar de grupare pentru ordonare).
Datorit faptului c realizm o totalizare simpl, vom alege funcia SUM,
coloanele de nsumat vor fi Vnzri, mii Ft) i Adaos comercial, mii Ft (fig.
119.). Ca rezultat obinem urmtorul tabel (tabelul 19.):

Bineneles, putem calcula i adaosul comercial n %, care nu apare n rndurile


de total, utiliznd formula =E5/D5 pe care o copiem i n celelalte rnduri.

Putem avea i tabele n care nu se poate utiliza calculul subtotalului, totui


dorim s grupm datele i s evideniem rndurile de totaluri. Este cazul
142

Dou ri, un scop, succes comun!

rndurilor aferente unor domenii (n original: terleti sorok.) n acest caz


selectm acele rnduri care aparin de acelai grup, apoi din banda de meniu
DATA, n cmpul OUTLINE selectm iconia Group (fig. 118.).

Tabelul 18.: Rulajele pe primul trimestru

Atenie! Ultimul rnd nu trebuie inclus n selecie, acesta fiind rezervat


totalurilor (tabelul 20.).

143

Dou ri, un scop, succes comun!

Tabelul 19.: Rulajul trimestrial al magazinelor cu subtotaluri

144

Dou ri, un scop, succes comun!

Tabelul 20.: Exemplu de tabel prevzut cu grupare simpl

145

Dou ri, un scop, succes comun!

3. Analiza scenariilor
Analiza scenariilor este un instrument puternic de analiz a datelor n Excel.
Acestea pot fi analize de tipul What if (ce-ar fi dac), cnd examinm modul n
care variaia datelor de intrare influeneaz rezultatul. Dar putem efectua i
analize n care rezultatul final este o valoare sau stare stabilit de noi i suntem
curioi, la ce valoare/valori de intrare se adeverete rezultatul ateptat.

Instrumentele analizei ce-ar fi dac (what if) sunt:

Analiza cazurilor

Tabel de date

Instrumentele cutrii valorii de intrare (input):

Cutarea valorii int

Solver

Instrumentele de analiza scenariilor sunt accesibile din banda de meniu DATA


- DATA TOOLS butonul Analiza ce-ar fi dac (What-If-Analysis), unde
putem efectua analiza scenariilor (Scenario manager), cutarea valorii int
(Goal Seek) i putem nfiina un tabel de date (Data Table) (fig. 121.).

Solver nu este direct accesibil dup instalarea Excel. Se poate regsi ntre
extensiile (add ins) care pot fi instalate ulterior. Pentru activare, intrm n
EXCEL OPTIONS pe pagina ADD INS. Selectm add in-ul Solveri facem

146

Dou ri, un scop, succes comun!

clic pe pe butonul GO. Bifm dreptunghiul de selectare din faa add in-ului
Solver pe pagina care se deschide (fig. 122.).

Fig. 121.: Iconia de comand al analizei scenariilor

Fig. 122.: Activarea Solver

147

Dou ri, un scop, succes comun!

3.1. Analize tip ce-ar fi dac... (what if)

La finalul analizei, ca un acord final al pregtirii deciziei, examinm cile


posibile ale evoluiei problemei, pregtim variante decizionale. Scopul urmrit
astfel este s vedem, anumite variaii de input cum influeneaz sistemul studiat,
respectiv rezultatul. Acest tip de analize l numim analize de senzitivitate.

Analiza de senzitivitate const n doi pai principali:

Modificarea variabilelor de intrare i analiza efectelor datelor modificate.


Acest pas se efectueaz pentru fiecare caz important.

Analiza comparativ a variantelor decizionale obinute n prima etap.

Eficacitatea analizei de senzitivitate poate fi mrit prin utilizarea managerului


de scenarii i a tabelului de date.

3.1.1. Managerul de scenarii

Calculele i cercetrile noastre ne aduc adesea n faa unor probleme de


examinat n care exist variabile nesigure i diverse date de intrare. Pentru
asemenea cazuri se poate utiliza elementul de meniu Manager de scenarii
(Scenario Manager) din submeniul ANALIZA CE-AR FI DAC (WHAT IF
ANALYSIS) aflat n banda de meniu DATA. Cu ajutorul acestui element de
meniu se poate calcula tabelul nostru, utiliznd aceleai formule sau serii de
formule, pentru date de intrare diferite, fr a fi necesar recopierea tabelului n

148

Dou ri, un scop, succes comun!

alt parte. Este de la sine neles c diferitele cazuri astfel create pot fi
interpretate precis numai prin comparaie cu modelul de baz.

Cnd vrem s pornim utilizarea acestui element de meniu, trebuie s adugm


un caz nou (Scenario), ceea ce se poate realiza dup deschiderea ferestrei
Scenario Manager, prin activarea butonului Adaug (Add) din partea dreapt a
ferestrei (fig. 123.).

Fig. 123.: Crearea unui nou caz cu managerul de scenarii

Apare fereastra de dialog Add Scenario unde, n cmpul Scenario Name se


nscrie noua denumire. Ulterior aceast denumire va identifica ntotdeauna cazul
respectiv.

n cmpul Celule care se modific (Changing Cells) se selecteaz celulele care


vor conine variabilele formulei. Dac celulele nu sunt poziionate unele lng
149

Dou ri, un scop, succes comun!

celelalte, cu ajutorul butonului CTRL pot fi selectate i celule nealturate (fig.


124.).

Fig. 124.: Fereastra de dialog pentru adugarea unui scenariu nou

n cmpul Comentariu (Comment) se nscriu informaii referitoare la data/


locul ntocmirii, data/locul modificrii ct i alte informaii pertinente.
n cmpul Protecie (Protection) putem declara protejarea foii de lucru. Dac se
bifeaz dreptunghiul din dreptul textului Prevent changes, cazul nu poate fi
editat ulterior.

Prin bifarea comenzii Hide din cmpul Protection, cazul poate fi eliminat de pe
lista cazurilor existente.

Dup ajustri apare panelul urmtor (fig. 125.) unde exist posibilitatea editrii,
tergerii, asamblrii cu alte scenarii, respectiv solicitarea vizualizrii cazului. Pe
150

Dou ri, un scop, succes comun!

panel se vede valoarea celulei variabile aferente cazului respectiv, ct i


comentariul.

Fig. 125.: Fereastra de dialog a cazurilor

Prin clic pe butonul legare (Merge), pot fi asamblate cazurile ntocmite pe orice
celul a oricrei foi de lucru din interiorul unui fiier. Aceasta nseamn c pot fi
introduse pe foaia de lucru activ, cazurile de pe celelalte foi de lucru (valorile
datelor de intrare i denumirile). naintea lansrii comenzii trebuie deschise
fiierele care conin fiecare caz.

n cmpul fiier (Book) se introduce fiierul care conine foaia de lucru a


cazului care trebuie asamblat, iar n cmpul Foaie (Sheet) putem preciza foaia/
foile de lucru de pe care dorim s efectum asamblarea. Dac facem clic una

151

Dou ri, un scop, succes comun!

cte una pe foile de lucru, n partea inferioar a panelului putem vedea cte
cazuri se gsesc pe foaia respectiv.

Prin clic pe butonul OK, programul selecteaz cazurile care trebuie asamblate i
le copiaz pe foaia de lucru n editare (fig. 126.).

Fig. 126.: Fereastra de dialog a asamblrii cazurilor

n meniul Raport rezumativse poate cere un raport (Scenario Summary) sau un


tabel centralizator (Scenario Pivot Table Report) referitor la caz (fig. 127.).

n formatul Raport se gsesc valorile actuale, celulele care se modific, aferente


fiecrui caz n parte, ct i celulele care conin rezultatele. n coloana Valori
actuale se vizualizeaz valorile care pe parcursul ntocmirii raportului se aflau
n celulele variabile. Celulele referitoare la cazurile individuale vor avea fundal
gri n raport.

152

Dou ri, un scop, succes comun!

Fig. 127.: Fereastra de dialog de solicitare a raportului rezumativ

n formatul Tabel centralizator pot fi introduse presupuneri cu privire la celulele


variabile. n cmpul Etichetele rndurilor (Row Labels) pot fi introduse
cmpurile respective de rezultate.

Pentru fiecare format de raport, acesta va fi plasat pe o foaie separat. Pe


marginea din stnga a raportului vom gsi marcaje ptrate cu + respectiv -, cu
ajutorul crora pot fi deschise sau nchise toate elementele de pe nivelul ierarhic
respectiv. Modul de funcionare al butoanelor este asemntor cu acela din
fereastra de deschidere i nchidere a fiierelor din Administratorul Windows.

Exemplu 44.: Firma Btorkszt Kft fabric pachete tip asambleaz singur
din elemente prefabricate. Firma elaboreaz diferite scenarii pentru evoluia
viitoare a cheltuielilor. Pentru elaborarea scenariilor lucreaz cu funciunea
Manager de scenarii din Excel. Tabelul 21. prezint datele de baz ale
calculului de costuri. Celulele colorate n lila conin date de prognoz nesigure,
de aceea am dori s examinm, la ce variaii ne putem atepta n cazul

153

Dou ri, un scop, succes comun!

modificrii necesarului, a cheltuielilor specifice, respectiv creterii cheltuielilor


specifice, cum va arta totalul cheltuielilor per produs.

Tabelul 21.: Datele iniiale privind cheltuielile firmei Btorkszt Kft.

Ca prim pas vom ntocmi tabelul de prognoz a cheltuielilor (fig. 128.), utiliznd
datele de baz. Calculele le-am efectuat n domeniul E5:H10, iar variaia
cheltuielilor am reprezentat-o grafic. Am calculat o prognoz pe nc 5 ani dup
anul curent. n pasul urmtor introducem acele cazuri pentru care dorim s
examinm variaia cheltuielilor n funcie de variaia valorilor de intrare.

La introducerea cazului s ncercm s-i atribuim o denumire care conine


suficient informaie i pentru o eventual prelucrare ulterioar. Dup aceea
introducem valorile variabilelor aferente cazului dat (fig. 129.).

154

Dou ri, un scop, succes comun!

Fig. 128.: Prognoza cheltuielilor

Fig. 129.: Introducerea unui caz al aplicaiei

Analiza cazurilor se poate realiza astfel: alegem cazul corespunztor din list,
facem clic pe butonul de vizualizare (Show). Aceasta are ca rezultat
suprascrierea datelor din tabel cu datele de baz introduse prin cazul respectiv i
155

Dou ri, un scop, succes comun!

apare imediat efectul asupra rezultatelor. A doua posibilitate este solicitarea unui
raport rezumativ (fig. 127.), n cazul cruia putem preciza celulele din care
cerem totalizare. Putem cere un raport comparativ (tabelul 22.) prin selectarea
butonului Raport din fig. 127. Sau putem cere tabel centralizator (pivot table) cu
ajutorul butonului respectiv (tabelul 23.).

Tabelul 22.: Raportul de caz pentru prognoza cheltuielilor firmei


Btorkszt Kft.

3.1.2. Tabelul de date (Data Table)

Tabelele de date ofer un ajutor substanial n analiza de senzitivitate a unei


probleme dintr-unul sau dou puncte de vedere. Deosebim dou variante ale
tabelelor de date: cu o variabil i cu dou variabile. Acestea fac posibil
156

Dou ri, un scop, succes comun!

calcularea uneia sau mai multor formule cu diferite date i modificarea uoar.
Deschiderea aplicaiei se face dup ntocmirea tabelului cu datele noastre, pe
calea: DATA - WHAT IF ANALYSIS - Data Table.

Tabelul 23.: Tabel centralizator al prognozei cheltuielilor firmei


Btorkszt Kft.

Tabelele de date trebuie astfel aranjate nct valorile de intrare s se gseasc


ntr-o coloan (direcionat pe coloan)sau ntr-un rnd(direcionat pe rnd).
Formulele tabelului de date cu o variabil trebuie s se refere la o celul de
intrare.

n primul rnd sau prima coloan a tabelului de date [nscriem] valorile pe care
dorim s le nlocuim n celula de intrare pe parcursul analizei de senzitivitate.

157

Dou ri, un scop, succes comun!

Dac tabelul de date este direcionat pe coloan, (valorile de nlocuire sunt


aezate pe verical), formula se va nscrie ncelula aflat cu un rnd mai
sus i cu o celul mai la dreapta fa de prima valoare a coloanei. Restul
formulelor se nscriu la dreapta primei formule.

Dac valorile de intrare sunt direcionate pe rnd (valorile de nlocuire


sunt aezate ntr-un rnd), atunci formula se nscrie la stnga irului de
valori, cu o celul mai jos. Restul formulelor le introducem sub prima.

Dup aceasta se selecteaz tabelul i se deschide punctul de meniu Data Table


din DATA WHAT-IF ANALYSIS. Aici vom introduce celula de intrare a
valorilor de rnd sau de coloan.
Exemplu 45.: La Btorkszt Kft se urmrete examinarea modului n care
variaiile anuale ale cheltuielilor legate de materia prim PAL furniruit cu
salcm vor influena prognoza cheltuielilor firmei pe urmtorii 5 ani (fig. 130.).

Ca prim pas introducem variaia aplicat n prezent n celula G14 - adresa


celulei =B20 (3,9%). Apoi nscriem fr ntrerupere, n domeniul H14:L14,
valorile de nlocuire dorite.

n celula G15 nscriem formula de calcul al cheltuielilor care se refer la anul n


curs i la 3,9%:
=((B$5 * B$13) * B$10) * (1 + $G$14)^(E15) +
(SUMPRODUCT(B$6:B$9; $B$14:$B$17) * B$10) *
(1 + $B$21 )^(E15)

158

Dou ri, un scop, succes comun!

Fig. 130.: Variaia cheltuielilor Btorkszt Kft.pentru diferite variaii ale


cheltuielilor cu PAL-ul furniruit cu salcm

Am introdus formula n celula G15 fiindc n acest caz, valorile de intrare sunt
aezate n rnd, iar n aceste situaii, formula se nscrie n stnga, cu un rnd sub
cel al valorilor. Dup aceasta s copiem formula n domeniul G16:G20.

Selectm domeniul G14:L20, deschidem DATA WHAT-IF ANALYSIS Data Table, i pentru cvalorile de intrare sunt ntr-un rnd, n celula de intrare
a valorilor aezate n rnd nscriem G14.

Putem face mai plastic analiza datelor prin reprezentarea grafic a irurilor de
date.

159

Dou ri, un scop, succes comun!

Cu ajutorul tabelului de date cu dou variabile studiem modul n care diferitele


valori ale celor dou variabile influeneaz rezultatele unei formule. Formula
trebuie s se refere la dou celule de intrare diferite.

Tabelul de date cu dou variabile se ntocmete astfel:

ntr-o celul a foii de lucru nscriem formula referitoare la valorile de


nlocuire ale celor dou celule de intrare.

Dedesubtul formulei, n aceeai coloan nscriem unul dintre irurile de


valori de intrare.

Completm cealalt list, n dreapta formulei, pe acelai rnd cu aceasta.

Selectm domeniul de celule care conine formula, ct i coloana i rndul


valorilor.

n grupul DATA DATA TOOLS facem clic pe butonul What If


Analysis, apoi pe comanda Data Table.

n cmpul celula de intrare a valorilor de rnd (row input cell)


nscriem adresa celulei n care dorim s nlocuim irul valorilor.

n cmpul celula de intrare a valorilor de coloan (Column input cell)


nscriem adresa acelei celule de intrare n care dorim s nlocuim coloana
valorilor. Apoi facem clic pe butonul OK.

Exemple 46.: Firma Btorkszt Kft analizeaz, cu ajutorul unui tabel de date
cu dou variabile, modul n care variaia cererii influeneaz totalul cheltuielor
pe anul n curs (an 0). Cererea actual este nscris n celulele B10 i C10 (fig.
131.).

160

Dou ri, un scop, succes comun!

Fig.131. tabel de date cu dou variabile

Mai nti scriem formula de calcul a cheltuielilor totale n celula G14


(=G6+H6). Formula nu conine explicit, adresele/ referinele celulelor variabile,
dar acest lucru nici nu este necesar. n cazul ntocmirii tabelului de date cu dou
variabile, referina indirect este suficient (vezi cele dou bule de text din fig.
131.).

Lng i sub formul scriem valorile celor dou variabile pentru care dorim s
efectum calculele (domeniile H14:L14 i G15:G20) Selectm domeniul
G14:L20. n grupul DATA DATA TOOLS facem clic pe butonul What If
Analysis apoi pe comanda Data Table. n cmpul celula de intrare a valorilor
de rnd nscriem referina C10, iar n cmpul celula de intrare a valorilor de
161

Dou ri, un scop, succes comun!

coloan nscriem referina B10. i n cazul acesta putem plasticiza prezentarea


prin reprezentarea grafic a irurilor de date.

3.2. Cutarea valorii int cu Solver

Cu ajutorul analizelor de tip Ce-ar fi dac.. (What-If...), analiza de senzitivitate


poate fi simplificat i accelerat, adic determinm rezultatele pentru valori
diferite ale variabilei de intrare. Cutarea valorii int i Solver acioneaz
tocmai invers: cunoscnd rezultatul unei formule, determin datele de pornire.
De exemplu se d o formul cu ajutorul creia, cunoscnd suma creditului,
dobnda i perioada de rambursare, se poate calcula rata. De exemplu, dac
socotim c, la o dobnd anual de 10 % pe o perioad de 10 ani putem s ne
asumm o rat de 40.000 de forini pe lun, dup rescrieri ndelungi ale sumei
creditului putem gsi soluia. Prin cutarea valorii int, aceast munc se
simplific.

Cu Solver se poate rezolva i problema anterioar dar i probleme mult mai


complicate. Pe lng problemele simple de cutare a valorii int l putem utiliza
la rezolvarea problemelor lineare i nelineare cu restricii.

162

Dou ri, un scop, succes comun!

3.2.1. Cutarea valorii int

Este indicat s apelm la cutarea valorii int cnd cunoatem rezultatul final,
dar nu cunoatem datele de pornire care au dus la acesta. Dup introducerea
datelor necesare cutrii valorii int, programul modific n mod repetat
valoarea celulei pn cnd formula influenat de valoarea celulei d un rezultat
destul de apropiat de valoarea dorit.

Calea de acces este: banda de meniu DATA WHAT-IF ANALYSIS Goal


Seek (fig. 132.).

Cmpul Celula int (Set Cell) conine formula dat, prin rezolvarea
creia obinem rezultatul final.

Cmpul Valoare int (To value) conine o variabil la care ne referim


prin adres de celul sau denumire.

Cmpul Celula care se modific (By changing cell) conine o variabil, la


care ne putem referi prin adres de celul sau denumire. n cmpul Prin
modificarea celulei poate fi numai valoare, nu formul.

Fig. 132.: Fereastra Cutarea valorii int

163

Dou ri, un scop, succes comun!

Exemplu 47.: La Btorkszt Kft se caut s se determine numrul de produse


de culoarea cireului n cazul n care costurile totale anuale nu pot depi
800.000 Forini (fig. 133.).

Fig. 133. Cutarea valorii int pentru costurile totale

n fereastra de cutare a valorii int, celula int va fi I6, fiindc n aceasta se


calculeaz costurile totale. Valoarea acesteia vrem s o stabilim la 800.000 Ft.
De aceea, valoarea int se stabilete la 800.000 Ft.

Celula care se modific va fi C10. Dup tastarea OK, Excel calculeaz


valoarea celulei C10, care va fi 74,8 buci.

164

Dou ri, un scop, succes comun!

3.3. Solver

n acest subcapitol vom prezenta parametrii Solver, posibilitile sale de


configurare i, fr pretenia de a fi exhaustivi, cteva domenii posibile de
utilizare. Aa cum s-a artat i anterior, Solver nu este doar un instrument de
cutare a valorii int, ci ofer rezolvarea unor modele matematice lineare i
nelineare cu restricii. Se disting n mod special aplicaiile de programare
linear, fiindc foarte multe probleme legate de afaceri pot fi exprimate i
rezolvate sub aceast form.

3.3.1. Configuraiile de baz ale Solver

n cele ce urmeaz vom trece n revist pe scurt, configuraiile de baz ale


Solver, urmnd s ne ocupm de ele mai amnunit la descrierea problemelor
individuale.

Instrumentul Microsoft Excel Solver utilizeaz procedeul de optimizare


nelinear Generalized Reduced Gradient (GRG2), dezvoltat de Leon Lasdon
(University of Texas at Austin) i Allan Waren (Cleveland State University).
Pentru problemele lineare i cu valori ntregi utilizeaz metoda simplex cu
limitarea variabilelor, respectiv metoda branch-and-bound (ramificare i
restrngere); aceasta din urm a fost pus la punct de ctre John Watson i Dan
Fylstra (Frontline Systems, Inc.).

165

Dou ri, un scop, succes comun!

Cu ajutorul Solver putem cuta pe foaia de lucru, valoarea maxim, minim sau
determinat de noi, a unei formule aflate ntr-o celul dat, numit celul int.
Pentru aceasta, Solver utilizeaz acel grup de celule care se refer direct sau
indirect la formula aflat n celula int. Solver determin modificarea valorii
celulelor variabile date n aa fel nct rezultatul final s fie valoarea determinat
cu ajutorul formulei din celula int. Cu ajutorul restriciilor putem delimita
valorile pe care Solver le va utiliza n model. Condiiile restrictive se pot referi
i la acele celule care influeneaz formula din celula int. Cu ajutorul Solver
putem determina valoarea maxim sau minim dintr-o celul cnd alte celule se
modific; de exemplu putem calcula influena cheltuielilor planificate pentru
publicitate asupra profitului planificat.

Solver poate fi pornit din cmpul ANALYSIS al benzii de meniu DATA. Dac
nu gsim iconia de pornire Solver, acesta trebuie ncrcat conform celor
descrise n capitolul Analiza scenariilor.

Dup selectarea iconiei Solver apare fereastra Parametrii Solver (Solver


Parameters) (fig. 134.), n care gsim posibilitile de configurare.

Celula int (Set target cell): n programarea matematic celula int este
funcia int de la care ne ateptm s ia o anumit valoare sau s aib
valoarea maxim sau minim. Celula int trebuie s conin o formul.

S fie... (Equal to): aici trebuie s precizm dac valoarea celulei s fie
maxim, minim sau de o anumit valoare. O valoare o putem preciza
nscriind-o n cmp.

166

Dou ri, un scop, succes comun!

Fig. 134.: Parametrii Solver

Celule care se modific (By changing cells): acele celule a cror valoare
se poate modifica pn la ndeplinirea condiiilor restrictive ale problemei
i pn cnd n celula int valoarea atinge valoarea int. Celulele care se
modific trebuie s se refere direct sau indirect la celula int. Celulele
care se modific sunt variabilele modelului.

Propunere (Guess): caut toate celulele care nu conin formule la care se


refer formula din celula int i plaseaz adresele lor n cmpul Celule
care se modific.

Condiii restrictive (Subject to the Constraints): enumer restriciile


actuale ale problemei.

Adugare (Add): deschide fereastra de dialog pentru adugarea unei


restricii.

Editare (Change): deschide fereastra de dialog pentru editarea restriciei.

tergere (Delete): terge restricia selectat.

167

Dou ri, un scop, succes comun!

Rezolvare (Solve): pornete rezolvarea problemei.

nchidere (Close): nchide fereastra de dialog fr a rezolva problema.


Memoreaz modificrile introduse cu butoanele Opiuni, Adugare,
Editare sau tergere.

Opiuni (Options): deschide fereastra de dialog Solver Options cu


ajutorul creia putem introduce sau salva modele de probleme, respectiv
putem face reglajul fin al amnuntelor rezolvrii.

Revenire la starea iniial(Reset All): terge setrile problemei actuale i


toate butoanele le aeaz pe poziia de baz.

Cu ajutorul opiunilor Solver putem seta amnuntele fine ale procedurii de


rezolvare, se pot introduce i salva descrierile problemelor, se pot da parametrii
problemelor lineare i nelineare. Fiecrei setri i corespund nite valori de baz
care corespund n cazul majoritii problemelor (fig. 135.)

Timp max. (Max. Time): restrnge durata cutrii soluiei. Dei cea mai
mare valoare posibil este 32 767, durata de 100 de secunde este suficient
pentru rezolvarea majoritii problemelor de mic anvergur.

Iteraii (Iterations): Limiteaz timpul de rezolvare prin restrngerea


numrului de iteraii. Dei valoarea maxim poate fi 32 767, numrul de
100 de iteraii, ca valoare de baz, corespunde pentru rezolvarea
majoritii problemelor de mic anvergur.

Precizia (Precision): regleaz precizia rezolvrii; numrul nscris


stabilete dac valoarea unei celule-condiie este egal cu valoarea int,
respectiv dac se ncadreaz n limita inferioar i cea superioar. Precizia

168

Dou ri, un scop, succes comun!

este un numr fracionar ntre 0 i 1. Cu ct numrul de zecimale este mai


mic, cu att precizia este mai mic, ex. 0,0001 nseamn o precizie mai
mare dect 0,01. Cu ct prevedem o precizie mai mare (cu ct numrul
introdus este mai mic), cu att rezolvarea dureaz mai mult.

Fig. 135.: Setri Solver

Tolerana (Tolerance): stabilete procentul admis de eroare fa de


rezultatul optim, dac partea restrictiv a problemei este un numr ntreg.
O toleran mai ridicat accelereaz de obicei, procesul de rezolvare.

Convergena (convergence): dac pe parcursul ultimelor cinci iteraii,


variaia relativ a valorii celulei int este mai mic dect valoarea nscris
n cmpul Toleran, Solver se oprete. Convergena se poate utiliza
numai n cazul problemelor nelineare, iar valoarea ei va fi dat cu un
numr fracionar ntre 0 i 1.
169

Dou ri, un scop, succes comun!

Presupunere model linear (Assume linear model): dac toare corelaiile


din model sunt lineare, deci avem o problem de optimizare linear,
rezolvarea este mai rapid.

Presupunere valori nonnegative (Assume non-negative): dac se


activeaz, Solver seteaz la zero valoarea limit inferioar a acelor celule
pentru care nu am setat limit inferioar n cmpul Restricie din fereastra
de dialog care introduce restriciile.

Recunoatere ordine de mrime (Use Automatic Scaling): conecteaz


modificarea automat a ordinii de mrime dac valorile de intrare i de
ieire difer prin ordine de mrime, ex. cnd profitul (%) depinde de
valoarea investiiilor (milioane Ft).

Arat rezultatele iteraiilor (Show Iteration Results): ntrerupe


funcionarea Solver pentru a arta rezultatul fiecrei iteraii.

Estimri (Estimates): stabilete metoda (tangent sau ptrartic) utilizat


n procedeele de cutare unidimensional pentru estimarea valorii iniiale
a variabilelor de baz.
o

Tangent: extrapoleaz linear, pornind dintr-un vector tangent.

Ptratic:utilizeaz extrapolarea ptratic. Metoda este deosebit de


eficace n cazul problemelor puternic nelineare.

Derivate (Derrivatives): stabilete dac pentru estimarea derivatelor


pariale ale funciei int i a funciilor-condiii, programul utilizeaz
procedeul diferenierii nainte (Forward) sau Centrale (Central).
o

nainte (Forward): se utilizeaz pentru funcii netede i cu aspect


grafic continuu.

170

Dou ri, un scop, succes comun!

Central (Central): pentru acele funcii al cror aspect grafic nu este


neted i continuu. Dei aceast metod necesit mai multe calcule,
poate ajuta n situaiile cnd Solver anun c nu poate mbunti
rezolvarea.

Cutare (Search): specific dac la stabilirea direciei de cutare pentru


iterarii, programul s utilizeze algoritmul Newton sau algoritmul
conjugat.
o

Newton: este o metod quasi-newtonian, care utilizeaz n general


mai mult memorie, dar mai puine iteraii dect metoda conjugat.

Conjugat: utilizeaz mai puin memorie dect metoda Newton,


dar n general are nevoie de mai multe iteraii pentru atingerea
nivelului de precizie stabilit. Merit s ncercm aceast metod
cnd problema este de dimensiuni mari, iar memoria este limitat,
sau dac pe parcursul iteraiilor, rezultatele se schimb prea ncet.

ncrcarea modelului (Load Model): vizualizeaz fereastra de dialog


pentru ncrcarea modelului, unde putem stabili ce model dorim s
introducem.

Salvarea modelului (Save Model): vizualizeaz fereastra de dialog


Salvare Modeln care putem stabili locul unde va fi salvat modelul. Numai
atunci s deschidem aceast fereastr, dac dorim s salvm mai mult de
un model mpreun cu foaia de lucru, fiindc salvarea primului model este
automat.

171

Dou ri, un scop, succes comun!

3.3.2. Programarea linear n rezumat

Exemplu 48.: Csilla ador dulciurile, mai ales napolitanele cu ciocolat i


ngheata. Dei, ntr-un clasament de zece puncte, napolitanele ar primi 6 puncte
pe lng cele 9 puncte pentru ngheat. Totui, ea decide ca pe viitor s-i
limiteze consumul de dulciuri. A nceput s studieze compoziiile de pe
ambalaje i a constatat c o napolitan cu ciocolat are 25 de grame i conine
120 de calorii i 5 grame de grsime. O ngheat are 60 de grame, conine 180
de calorii i 10 grame de grsimi. Csilla i permite zilnic 600 de calorii i 25 de
grame de grsimi, dar vrea s mnnce zilnic cel puin 120 de grame de dulciuri,
astfel nct meniul s conin minimum o napolitan i o ngheat. Acum se
gndete cte napolitane cu ciocolat i cte ngheate s mnnce zilnic pentru
a respecta regulile pe care i le-a impus, dar combinaia s fie ct mai mult pe
gustul ei?

Orict de simpl ni se pare problema de mai sus, dac o analizm mai atent, nu
este att de uor de rezolvat. Csilla i-a impus dou limite superioare, adic a
maximizat consumul zilnic de calorii i de grsimi. n plus i-a stabilit i o limit
inferioar n privina consumului de dulciuri cnd a decis s mnnce minimum
120 de grame pe zi. Este clar c exist multe combinaii posibile, mai ales dac
lum n considerare i rezultatele care nu au neaprat valori ntregi (ex. se poate
consuma i un sfert de napolitan). Dar dintre multele rezolvri, pe Csilla o
intereseaz una singur, adic aceea care i se pare cea mai gustoas, adic atinge
punctajul maxim n aprecierea ei.

172

Dou ri, un scop, succes comun!

Problema de mai sus poate fi formulat ca o problem de programare linear.


Adic, innd seama de limitrile date se caut o soluie cu rezultat maxim.
Funcia care definete rezultatul se numete funcie int.

Problema Csillei: x1:napolitane cu ciocolat, x2: ngheat


x1 0; x2 0
120x1 + 180x2 600
5x1 + 10x2 25
25x1 + 60x2 120
x1 1
x2 1
6x1 + 9x2MAX!
Modelele de programare linear se pot utiliza n toate acele cazuri unde
variabilele pot fi considerate mai mult sau mai puin determinante, iar
coeficienii, constani. Doar cteva dintre aplicaiile posibile sunt: optimizarea
sortimentaiei de produse, modele de amestecare (compoziia cu costurile
minime), modelare financiar pe termen scurt, optimizarea transportului i
distribuirii, optimizarea planificrii muncii etc. Foarte multe probleme tip reea
se pot rezolva, de asemenea, prin programare linear.

n Excel, problemele de sus pot fi modelate relativ simplu i pot fi rezolvate fr


cunotine deosebite de algebr linear.

173

Dou ri, un scop, succes comun!

3.3.3. Prezentarea aplicaiilor Solver

3.3.3.1. Schema elaborrii unui model de programare linear n Excel

Fig. 136. prezint schema general a unui model de programare linear. n capul
de tabel inserm denumirile variabilelor (produse, servicii, componeni etc.). Ne
intereseaz o anumit combinaie a variabilelor. Numeric, variabilele vor aprea
n rndul rezultatelor. n bara lateral, resursele au fost marcate cu u1, u2 La
intersecia resurselor cu variabilele vor aprea consumurile specifice (a11, a12).
De exemplu, a11 nseamn c, din resursa u1, pentru obinerea produsului x1 este
nevoie de cantitatea a11. Indexul 11 nseamn c este vorba despre elementul
aflat la intersecia dintre prima resurs i primul produs.

Fig. 136.: Schema general a unui model de programare linear n


programul de gestionare a tabelelor

174

Dou ri, un scop, succes comun!

Rndul de sub resurse (-z) conine coeficienii funciei int, iar ultimul rnd
este deja amintitul rnd al rezultatelor. n cazul coloanelor, dup coloana
variabilelor urmeaz coloana Consum, aici calculm cu ajutorul funciei
SUMPRODUCT(), cantitile realmente utilizate. Urmeaz coloana relaiilor.
Semnul <= nseamn limita de sus, >= nseamn limita de jos, iar = nseamn,
natural, egalitate. Ultima coloan, a capacitilor conine restriciile. Deci, dac,
de exemplu, se introduce o limit superioar, atunci valoarea de facto a
consumului cuprins n rndul respectiv este mai mic sau egal cu cantitatea
aflat la dispoziie.

Exemplu 48. (continuare): S vedem acum, prin exemplul prezentat n


introducere, cum trebuie s construim un model de programare linear n Excel.
Dorim s tim cte napolitane cu ciocolat i cte ngheate poate mnca Csilla
n fiecare zi, astfel nct s-i convin cel mai mult.

Modelul adaptat n Excel este prezentat n fig. 137. Variabilele sunt napolitana
(x1) i ngheata (x2), restriciile se refer la calorii, grsimi, cantitate total i la
numrul minim zilnic de napolitane i de ngheat (u1 u5). Coeficienii
funciei int sunt valorile pentru napolitan i pentru ngheat, date de Csilla.

Dup ntocmirea tabelului de pornire urmeaz setarea parametrilor Solver (fig.


138.):

Celula int va fi E9, aici calculm nota obinut de compoziia actual,


cu ajutorul funciei
=SUMPRODUCT(C9:D9; $C$10:$D$10)

175

Dou ri, un scop, succes comun!

Fig. 137.: Tabelul de pornire al problemei Csillei

Cutm valoarea maxim a celulei int, de aceea n rndul S fie...


(Equal to) activm butonul Max.

Celulele care se modific vor fi C10:D10, acesta este rndul combinaiilor.


Aici vom obine, dup rezolvarea cu Solver, numrul de napolitane cu
ciocolat i numrul de ngheate pe care le poate consuma Csilla.

Condiiile restrictive pot fi date n dou blocuri. Putem vorbi despre


blocuri fiindc relaiile consecutive de acelai tip pot fi fixate ca blocuri,
ceea ce, mai ales n cazul modelelor de mari dimensiuni, poate reduce
sensibil timpul pentru introducerea condiillor restrictive. Putem aduga
modelului o nou condiie restrictiv cu ajutorul butonului Add. n
fereastra care apare (fig. 139.), n cmpul referinei/ adresei s selectm

176

Dou ri, un scop, succes comun!

partea stng a condiiei 1 , care n exemplul nostru este coloana


Consumuri. Condiia restrictiv este coloana Limite (Korlt)2, n fereastra
din mijloc alegem, bineneles, operatorul de care avem nevoie.

Fig. 138.: Setrile Solver n cazul exemplului cu dulciuri

Fig. 139.: Introducerea unei noi condiii restrictive

Domeniul referin la celul conine ntotdeauna formul, aceasta va fi partea stng a


inegalitii lineare. n versiunea Excel n limba englez, acest lucru apare i n denumire,
pentru evitarea confuziilor (Left-hand-side (LHS) of constraints).
n Excel-ul n limba englez este Right-hand-side (RHS) of constraints. Partea dreapt a
condiiei restrictive este ntotdeauna o constant.

177

Dou ri, un scop, succes comun!

Primul bloc se refer la limita pentru calorii i grsimi, iar cel de al doilea, la
cantitatea minim consumat zilnic, respectiv la numrul minim de napolitane i
de ngheate consumate zilnic.
ntr-un model de programare linear ntotdeauna punem condiia de
nonnegativitate a variabilelor i trebuie s precizm, de asemenea, c este vorba
despre un model de programare linear. Pentru aceasta facem clic pe butonul
Options i apare fereastra Solver Options (fig. 135.). Bifm dreptunghiurile de
selectare Assume linear model i Assume Non-Negative. Apoi facem clic pe
butonul OK i pe butonul Solve.

Dup acionarea butonului Solve apare fereastra Rezultate Solver (fig. 140.) n
care, dac am procedat corect, iar pe baza condiiilor modelului exist soluie,
gsim inscripia: Solver a gsit soluie. Au fost ndeplinite toate premizele i
condiiile de optimizare.

Fig. 140. Fereastra rezultatelor Solver

n cele ce urmeaz putem alege ntre dou posibiliti. Dac selectm butonul
Cu valoarea calculat, atunci obinem rezultatele obinute ca urmare a

178

Dou ri, un scop, succes comun!

calculelor efectuate de Solver. Aceasta este setarea de baz i dac exist


soluie, o vom alege n mod firesc. De obicei selectm butonul Cu valoarea
iniial numai dac primim un mesaj de eroare. n dreapta ferestrei putem alege
dintre trei rapoarte:

Rezultat,

Senzitivitate,

Limite.

Dac selectm toate cele trei rapoarte, atunci Solver, pe lng rezolvarea
modelului de baz va crea alte trei foi de lucru, cte una pentru fiecare raport.

n cele ce urmeaz examinm rezolvarea modelului, apoi cele trei rapoarte.

Csilla trebuie s consume zilnic 3 napolitane cu ciocolat i o ngheat


(acest lucru l citim din rndul rezolvare combinaii).

Pentru combinaia de dulciuri de mai sus obinem punctajul maxim pentru


gust, respectiv 27 (3* 6 + 1* 9).

Prin aceast combinaie nu utilizeaz toate caloriile permise: 540 n loc de


600 de calorii (celulele G4, respectiv E4).

Consum cantitatea total permis de grsimi, adic 25 de grame (E5 egal


cu G5).

Combinaia corespunde cerinelor, fiindc poate consuma zilnic cel puin


o bucat din fiecare produs (fig. 141.).

Analiza Raportului privind rezultatul (fig. 142.).


179

Dou ri, un scop, succes comun!

La toate cele trei rapoarte, pentru o nelegere mai bun vom utiliza denumirile
generate de Excel pentru coloane, dei acestea sunt adesea strine de limba
maghiar, ba mai mult, denumirile nu exprim ntotdeauna, nelesul real.
Bineneles c aici ne vom ocupa n amnunt cu nelesul real.

Fig. 141.: Planul de consum de dulciuri al Csillei

Raportul privind rezultatul se compune din trei pri: evalum separat celula
int, celulele care se modific i condiiile restrictive.

La analiza celulei int, n paranteze figureaz valoarea limit a acesteia


sau, pur i simplu, valoarea pe care i-am atribuit-o noi. Valoarea iniial
este valoarea dinaintea rulrii Solver, iar valoarea final este cea de dup
rularea Solver.

180

Dou ri, un scop, succes comun!

n partea urmtoare a raportului analizm celulele care se modific, adic


variabilele. i aici, n coloana valorilor iniiale sunt valorile dinaintea
rulrii programului, iar n coloana valorilor finale sunt valorile de dup
rezolvare i acestea vor fi comparate.

Fig. 142.: Raportul despre rezultate n Solver

Ultima parte a raportului ofer informaii despre condiiile restrictive.


Coloana valoarea celulei red valoarea prii stngi a funciei. Acesta este
tocmai valoarea calculat cu ajutorul funciei SUMPRODUCT() din
coloana consum. n coloana formula pot fi vzute relaiile introduse la
181

Dou ri, un scop, succes comun!

condiiile restrictive. Din coloana status reiese dac valoarea real


(calculat prin funcia SUMPRODUCT() i aflat n partea stng a
inegalitii) difer sau nu de condiia restrictiv dat de noi. n caz de
diferen vedem inscripia abundent (sau echivalent), iar n caz de
egalitate, inscripia exact (sau echivalent). Ultima coloan este diferena,
aici putem vedea cu ct difer valoarea real de valoarea restrictiv dat de
noi. De exemplu, n cazul numrului de calorii consumate, 540 este
consumul real, dar limita maxim admis este 600, deci ne aflm
confortabil (bven) n interiorul limitei, rezerva fiind de 60 de grame.

Analiza raportului de senzitivitate (fig. 143).

Fig. 143.: Raportul de senzitivitate Solver


182

Dou ri, un scop, succes comun!

Raportul de senzitivitate este mult mai informativ pentru noi dect Raportul
privind rezultatul. n acest raport obinem informaii despre senzitivitatea
rezultatului optim la variaia diferiilor coeficieni ai modelului.

i aici vom analiza separat celulele care se modific i condiiile restrictive.

n partea referitoare la celulele care se modific vom studia msura n care


variaiile de diferite amplitudini ale coeficienilor funciei int influeneaz
valoarea funciei int. S ne raportm la exemplul Csillei: dac notele acordate
de Csilla pentru napolitan i pentru ngheat se modific, cum se schimb
cantitatea de napolitane i de ngheat n compoziia zilnic i cum se schimb
numrul total de puncte? Pentru a putea interpreta cele de mai sus, s studiem
tabelul.

n coloana Ultima valoare final gsim rezolvarea modelului, n coloana


Celula, referinele arat exact, despre ce fel de valori este vorba.

Din coloana Cheltuiala redus aflm de ce, eventual, o variabil n-a fost inclus
n rezolvarea optim i n ce condiii ar putea fi inclus astfel nct valoarea
funciei int s rmn neschimbat. Din punct de vedere matematic aceasta
nseamn c la valoarea obinut prin scderea valorii corespunztoare din

183

Dou ri, un scop, succes comun!

coloana coeficient int, a valorii corespunztoare aflat n coloana Cheltuiala


redus, variabila poate fi inclus n rezolvarea optim3.
n cazul Csillei ambele variabile apar n rezolvare, astfel cheltuiala redus este
0. n coloana Coeficient int figureaz coeficienii de funcie int ai
variabilelor respective. n cazul nostru acestea sunt notele acordate de Csilla,
fiindc pe scara ei de gusturi, napolitana cu ciocolat merit 6 puncte, iar
ngheata, 9 puncte.

Mai ntlnim dou coloane: Creterea admisibili Scderea admisibil.


Semnificaia ambelor coloane are legtur cu coloana Coeficientul funciei
int. La evaluare, adunm Creterea admisibil i scdem Scderea admisibil
din coeficienii funciei int. Astfel obinem un interval al coeficientului
funciei int pentru fiecare variabil (fig. 144.).

Am aplicat scderea fiindc Excel vizualizeaz cheltuiala redus cu semnul corect. Aceasta
nseamn c la aplicaia de maxim, aceasta va fi negativ, iar la aplicaia de minim va fi
pozitiv.

184

Dou ri, un scop, succes comun!

Fig. 144.: Calculul intervalelor coeficienilor funciei int

De ce e bine s tim aceste lucruri?


Cnd coeficientul funciei int variaz n interiorul acestui interval, atunci
programul optim rmne neschimbat, adic ncompoziia zilnic trebuie s fie
mai departe 3 napolitane cu ciocolat i o ngheat, fiindc valoarea funciei
int (punctajul total) rmne n continuare cea mai ridicat.

Conform fig. 144., coeficientul funciei int pentru napolitan poate lua valori
ntre 4,5 i plus infinit, n timp ce coeficientul pentru ngheat poate fi cuprins
ntre minus infinit i 12.

S vedem ce s-ar ntmpla dac Csillaar acorda napolitanei doar 5 puncte.

185

Dou ri, un scop, succes comun!

Pn la 4,5 puncte, compoziia de 3 napolitane i o ngheat ar fi cea optim,


deci Csilla ar consuma aceleai dulciuri. Dar fiecare napolitan a obinut doar 5
puncte, cu un punct mai puin dect valoarea din model, astfel gradul de
satisfacie al Csillei va scdea pentru cele 3 napolitane cu cte 1 punct, respectiv
cu 3 puncte; cu att va scdea valoarea funciei-int (tabelul 24.).

Tabelul 24.: Analiza variaiei coeficienilor funciei int


Valoare
final

Punctaj
prezent

Punctaj
ulterior

Limita
inferioar

Napolitan

4,5

ngheat

-1E+30

Partea a doua a raportului de senzitivitate servete la analiza condiiilor


restrictive (fig. 143.). Ultima valoare final red cantitile efectiv utilizate,
valorile adreselor de celule din model care apar ncoloana Celule. La
introducerea condiiilor restrictive aceasta a fost partea stng a condiiilor (fig.
139.). Urmeaz Shadow (preurile din umbr), apoi coloana Partea dreapt a
condiiilor. Vom gsi predin umbr n acele rnduri unde valoarea final i
partea dreapt a condiiilor coincid, adic acolo unde, n raportul despre
rezultate, apare valoarea de starentocmai. Preul din umbr ctig importan
atunci cnd vrem s modificm partea dreapt a condiiilor, adic vrem s
modificm limitele. Preul din umbr exprim modificarea valorii funciei
int pentru cazul n care modificm limita cu o unitate4.
4

Aici ne ocupm numai de interpretarea preului din umbr. Dac cititorul este interesat de
cunoaterea mai aprofundat a programrii lineare, i recomandm crile de cercetare
operaional din bibliografia de la sfritul crii.

186

Dou ri, un scop, succes comun!

Gsim preuri din umbr n dou locuri:

la consumul de grsimi (1,2) i la

minimul pentru ngheat (-3).

S interpretm mai nti preul din umbr al grsimilor. Cantitatea de grsimi


constituie o limit superioar. Aceasta nseamn c dac atingem acest nivel
maxim, valoarea funciei int nu mai poate crete datorit faptului c nu putem
consuma o cantitate mai mare de grsimi. Dac am putea consuma cu 1 gram
mai multe grsimi, am putea mri cu 1,2 valoarea punctajului total.

n cazul ngheatei, situaia este tocmai invers. Csilla a spus c dorete s


mnnce minimum o ngheat pe zi. Pe aceast baz, aceasta a i fost inclus n
compoziia optim, dar preul este c punctajul maxim actual a sczut cu 3
puncte fa de situaia n care Csilla nu ar fi cerut ngheat. i de aici se vede c
n cazul n care problema de programare linear este una de maximizare, atunci,
n cazul limitei superioare, putem crete valoarea funciei int prin creterea
cantitativ a factorului respectiv, iar n cazul limitei inferioare, prin scderea
acestuia. n problemele de minim, n mod logic situaia este invers, dar atunci
scopul nostru este scderea valorii funciei int.

i aici gsim cretere admisibil i scdere admisibil, la fel ca n tabelul


celulelor care se modific. Ambele pot fi corelate cu coloana Partea dreapt a
condiiilor. n mod logic, aici putem calcula un interval referitor la limite. Dac

187

Dou ri, un scop, succes comun!

modificm cantitile din factorii respectivi n interiorul acestui interval, atunci


preul din umbr rmne valabil.

Pentru cele de mai sus s vedem un caz din problema Csillei. Limita superioar
stabilit pentru grsimi este de 25 g. Creterea admisibil este de 2,5 g, iar
scderea admisibil este de 3 g. Deci preul din umbr de 1,2 grame este valabil
ntre valorile limit pentru grsime: 22-27,5 grame (tabelul 25.).

Tabelul 25.: Evaluarea referitoare la grsimi


Final
Valoare

Redus
Cost

25

1,2

Grsime

Obiectiv Activabil Activabil


Coeficient Mrire Micorare
25

2,5

I. modificare
S scdem limita superioar pentru grsimi i s urmrim ce se ntmpl.
ntruct n cazul grsimilor am stabilit o limit superioar, scderea aduce dup
sine, scderea prevzut a valorii funciei int. Am redus cantitatea de grsimi
cu 2 grame i punctajul total a sczut la 24,6, care este 21,2 grame, adic 2,4
grame. Scderea admisibil a sczut la unu, creterea admisibil a crescut cu 2
i preul din umbr a rmas neschimbat. De fapt ne puteam atepta la aceste
rezultate, fiindc am efectuat modificarea n interiorul intervalului valorilor
limit permise.

A II- a modificare
S ridicm limita superioar pentru grsimi cu 3 grame. Dup cretere,
punctajul total a crescut de la 27 la 30 fa de modelul iniial, ceea ce se explic
188

Dou ri, un scop, succes comun!

prin produsul 2,51,2. Consumul real de grsimi a devenit 27,5, adic cu 0,5
grame mai puin dect limita dat de noi. Preul din umbr pentru c nu mai
utilizm 100% cantitatea admis de grsimi a devenit zero. Scderea admis
este 0,5 grame, ceea ce este normal fiindc intervalul valabil s-a extins pn
acolo.

Fig. 146. ofer un rsuns i la ntrebarea: de ce preul din umbr este valabil
numai pn la creterea admisibil. Dup ce n cazul grsimilor am atins limita
superioar de 27,5, o alt limit, numrul de calorii, a fost utilizat n procent de
100%, deci a intervenit un nou factor de limitare a creterii valorii funciei int.

189

Dou ri, un scop, succes comun!

Fig. 145. Rezultatul modelului i preurile din umbr dup prima modificare

190

Dou ri, un scop, succes comun!

Fig. 146. Rezultatul modelului i preurile din umbr dup cea de a doua
modificare

Analiza raportului despre Limite (fig. 147.):

Pe de o parte, raportul despre limite arat programul optim, cu valoarea aferent


a funciei int, pe de alt parte arat intervalul n care se pot mica valorile

191

Dou ri, un scop, succes comun!

finale ale variabilelor, lund n considerare condiiile restrictive i consumurile


specifice.

Fig. 147.: Raportul Limite

Compoziia optim a consumului zilnic de dulciuri al Csillei este de 1 ngheat


i 3 napolitane cu ciocolat, ceea ce putem citi din coloana Valoare final din
cea de a doua parte a raportului. Punctajul maxim corespunztor este 27, valoare
artat n coloana Valoare final din prima parte a raportului. Coloanele din
partea a doua sunt Limita inferioar cu Rezultatul int corespunztor,
respectiv Limita superioar, cu Rezultatul int aferent.

n cazul napolitanei, limita inferioar este de 2,4 buci, creia i corespunde o


valoare maxim realizabil a funciei int de23,4, pe cnd n cazul ngheatei
este 1, iar aici valoarea funciei int este 27. Aceasta nseamn c, dac

192

Dou ri, un scop, succes comun!

urmrim valoarea maxim a funciei int, numrul de napolitane nu poate fi


mai mic de 2,4 buci fiindc trebuie satisfcut limita minim referitoare la
cantitatea minim zilnic (120 g) i trebuie s avem minimum o ngheat.
Bineneles, cel mai bine ar fi s fie trei buci de ngheat n combinaie,
fiindc astfel valoarea funciei int ar fi cea mai mare.

n cazul ngheatei corespund limita inferioar i limita superioar, ct i


valoarea aferent a funciei int, fiindc, aa cum s-a vzut din raportul de
senzitivitate, nu este indicat s se includ mai multe n combinaie, ntruct ar
duce la scderea drastic a valorii funciei int.

Am vzut toate cele trei rapoarte. Este evident c ncrctura informaional


maxim o are raportul de senzitivitate, pe cnd raportul privind rezultatele i cel
privind limitele ofer doar o rapid trecere n revist a rezultatului.

3.3.3.2. Aplicaii Solver

Aplicaiile economice, comerciale i financiare ale Solver sunt extrem de


variate. Cu ajutorul exemplelor urmtoare dorim s ilustrm acest lucru.

Exemplu 49.: Optimizarea concomitent a structurii de

producie i a

aprovizionrii cu materii prime O ntreprindere produce 3 produse (T) din 2


materii prime (A) cu ajutorul a 2 maini (G). Consumurile specifice pentru

193

Dou ri, un scop, succes comun!

fabricarea produselor i consumurile specifice de ore-main sunt redate n


tabelul 26.

Preul de achiziie (A1) al materiei prime 1 este 30 Ft/unitate, iar al celei de a


doua (A2) este 50 Ft/unitate.

Capacitatea disponibil a mainii nr. 1 este de 1500 h/an, iar a celei de a doua:
1100 h/an; n ambele cazuri, costul orei-main este de 100 Ft.

Tabelul 26. Consumuri specifice de materie prim i de ore-main


UM: buc., h
A1

A2

G1

G2

T1

0,5

0,3

T2

0,9

0,4

T3

1,2

Prin utilizarea produselor 2 i 3 (consumnd 1 bucat din produsul 2 i 2 buci


din produsul 3) poate fi realizat un produs de lux, pentru care consumul specific
de ore-main este de 0,9 de la prima main i 1 de la maina 2. i n acest caz,
preul orei-main este de 100 Ft. S presupunem c restul cheltuielilor sunt
cheltuieli fixe.

Preurile de vnzare:

194

Dou ri, un scop, succes comun!

Produsul 1.

450 Ft/buc

Produsul 2.

560 Ft/buc

Produsul 3.

390 Ft/buc

Produsul 4. 1400 Ft/buc


S se elaboreze un model de programare linear prin care s se stabileasc
pentru fiecare materie prim, ce cantitate trebuie cumprat i ce structur de
producie trebuie configurat pentru ca marja brut (Gross Margin) s fie
maxim.

Ca prim pas trebuie s stabilim variabilele modelului. Variabilele le vom


despri n trei grupe:

Variabile de valorificare, acele produse pe care vrem s le vindem. Aici


vom avea trei produse de baz i un produs de lux.

Semifabricate acea parte din produsele 2 i 3 care nu vor fi valorificate


direct, ci vor fi integrate n produsul 4.

Materii prime.

Pe aceast baz, variabilele noastre vor fi:


x1

cantitatea din produsul 1., fabricat ntr-un an pentru valorificare

x2

cantitatea din produsul 2., fabricat ntr-un an pentru valorificare

x21

cantitatea din produsul 2., fabricat ntr-un an pentru prelucrare


ulterioar

x3

cantitatea din produsul 3., fabricat ntr-un an pentru valorificare

x31

cantitatea din produsul 3., fabricat ntr-un an pentru prelucrare


ulterioar
195

Dou ri, un scop, succes comun!

x4

cantitatea fabricat anual din produsul 4. (produs de lux)

A1

cantitatea din materia prim A1 pe care intenionm s o achiziion

A2

cantitatea din materia prim A2 pe care intenionm s o achiziionm

Primul pas n

elaborarea modelului (fig. 148.) este stabilirea consumurilor

specifice de materii prime i stabilirea consumului specific de ore-main pe


produse. n domeniul B5:G8 nscriem necesarul de materie prim i consumul
specific de ore-main ale produselor. Se poate vedea c materiile prime (A1,
A2) sunt considerate i resurse, i n celulele H5 i I6 a aprut -1.

Pentru a nelege acestea, s vedem ecuaia de bilan a materiei prime A1:


2x1 + x2 + x21 + 4 x3 + 4x31 - A1 0
Deci prima dat lum necesarul pentru producie, pe care l comparm cu
cantitatea de materie prim (-A1); rezultatul trebuie s fie mai puin sau egal cu
zero. Prin aceasta vom reui s nu consumm mai mult materie prim dect ne
st la dispoziie, dar acum optimizm cantitatea de materie prim mpreun cu
structura de producie.

n rndurile 9. i 10. dm consumul din x2i x3 pentru fabricarea x4. ntr-un


produs x4 vor fi incluse 1 produs x2 i dou produse x3. Ecuaiile de bilan:
x21 = x4
x31 = 2x4

Rearanjndu-le, vom obine forma din model.

196

Dou ri, un scop, succes comun!

n pasul urmtor trebuie s stabilim obiectivul optimizrii, adic trebuie s tim


care este coninutul economic al funciei int. Cunoatem costurile variabile
specifice (ore main i costurile cu materia prim) i preul de vnzare al
produselor. Pornind de aici este indicat ca diferitele produse s fie comparate
sub aspectul marjei brute. Aceasta nu nseamn ca pentru fiecare coeficient al
funciei int s calculm marja brut, ci nseamn ca valoarea din celula J14 s
fie marja brut total a ntreprinderii.

Mai nti calculm costurile variabile n rndul 13. Acestea vor fi seriile orelormain specifice i ale consumurilor specifice de materii prime n cazul
variabilelor de valorificare, iar n cazul materiilor prime vor fi costurile de
achiziie ale materiilor prime. Coeficientul funciei int va fi diferena dintre
preul de vnzare i costurile variabile astfel calculate. Deci coeficientul de
funcie-int al variabilelor de valorificare va fi marginea brut fr materii
prime;respectiv n cazul semifabricatelor aceasta nseamn costurile variabile de
fabricaie fr materie prim cu semn negativ, iar n cazul materiilor prime,
costul de achiziie al materiilor prime cu semn negativ. Dac nsumm toate
acestea n celula J14, se poate vedea cu uurin c urmrim valoarea maxim a
marjei brute, adic o strategie optim de achiziie i de fabricaie pentru care
marja brut a ntreprinderii este maxim.

Datele propriu-zise de consum le calculm n celula J5 cu ajutorul funciei


=SUMPRODUCT(B5:I5; $B$15:$I$15)
apoi calculm aceasta n domeniul J6:J10 i mai departe n celula J14.

197

Dou ri, un scop, succes comun!

Fig. 148.: Modelul de producie n Excel

Dup aceasta setm parametrii Solver (fig. 149.), selectm nonnegativitatea i


presupunerea modelului linear i rezolvm modelul.

Fig. 149. Setarea parametrilor Solver n problema de producie


198

Dou ri, un scop, succes comun!

Dup optimizare vom fabrica pentru vnzare produsele x1, i

x4, iar

semifabricatele x21 s x31, pentru a fi incluse n x4. Pentru a putea realiza planul
de producie, din prima materie prim trebuie s cumprm6.132 de buci, iar
din a doua, 2.956. Marja brut va fi de 815.588 Ft, iar orele-main ale ambelor
maini le vom utiliza n totalitate.

Capacitile mainilor, utilizate n ntregime, le putem studia mai departe n


raportul de senzitivitate (fig. 151.). Preul din umbr aferent utilajului G1 este de
73,5 Ft, iar pentru G2, 177,9 Ft. Dac examinm creterea admisibil, se poate
vedea c n cazul ambelor maini exist posibiliti reale

de cretere a

capacitii.

Fig. 150.: Rezolvarea problemei de producie

199

Dou ri, un scop, succes comun!

Problem de logistic

n foarte multe cazuri, o problem practic poate fi analizat cel mai uor cu
ajutorul reprezentrilor grafice sau sub form de reea. i acest fel de probleme
poate fi abordat prin modele de programare linear, de aceea ele pot fi rezolvate
eficient cu Solver. n aplicaia noastr prezentm o problem complex de
transport.

Fig. 151.: Raportul de senzitivitate al modelului de producie

Exemplu 50.: O ntreprindere de fabricare pieselor de schimb pentru a maini


agricole i desfoar activitatea productiv n dou sedii: la Budapesta i la
200

Dou ri, un scop, succes comun!

Gyr. Desfacerea este asigurat printr-o firm de comer care deine 8 depozite.
n reeaua de mai jos sunt reprezentate traseele de transport, cheltuielile de
transport i cererea lunar (fig. 152).

S se elaboreze un plan de rute de transport care s satisfac necesitile cu


cheltuieli minime.

Cum s interpretm reeaua? n imagine,cercurile reprezint noduri (centre), iar


sgeile reprezint rutele (inclusiv sensul). Lng centre am nscris stocul/
necesarul corespunztor. Pe sgei sunt nscrise cheltuielile de transport
corespunztoare unitii de produs pe relaia respectiv. Astfel de exemplu, la
nodul nr. 4, Szolnok, cererea este de 400 de uniti, marfa vine dinspre
Budapesta cu cheltuieli de transport de 38 Ft/unitate i de aici poate pleca mai
departe la Debrecen, cu 34 Ft/Unitate i la Miskolc, cu 50 Ft/unitate.

Aa cum am procedat i n aplicaia anterioar, prima dat trebuie definite


variabilele modelului. Pentru aceasta trebuie s clarificm ce nelegem exact
prin problema de rezolvat: Scopul modelului tip reea este s determinm ce
cantiti s comandm/s transportm pe anumite rute pentru a avea cheltuieli
totale ct mai mici.

Din enun reiese clar c variabilele vor fi sgeile, respectiv cantitile de


transportat pe sgei.

201

Dou ri, un scop, succes comun!

Fig. 152.: Traseele de transport ale ntreprinderii productoare de piese de


schimb.

Fie xij cantitatea transportat pe sgeata de la nodul i la nodul j, iar cij, costul
unitar aferent sgeii respective, atunci costul total de transport pe ntreaga reea
i, concomitent, funcia int a modelului va fi:
ijcijxijMIN!
ntrebarea care rmne este: cum putem asigura necesarul pentru toate nodurile.
Pentru aceasta aplicm regulile echilibrului de flux, conform crora:

Dac n reea

Condiie aplicabil de bilan

Stocul total>necesarul total

atunci

intrri ieiri>= stoc sau necesar

Stocul total<necesarul total

atunci

intrri ieiri <= stoc sau necesar

atunci

intrri ieiri = stoc sau necesar

Stocul total = necesarul total

202

Dou ri, un scop, succes comun!

Intrrile n i ieirile din noduri se mai numesc i flux net. Pe parcursul


calculelor vom avea n vedere cantitile totale care se deplaseaz pe sgeile
ndreptate cu vrful ctre un anumit nod, acestea vor fi intrrile totale; respectiv
cantitile totale care se deplaseaz pe sgeile cu vrful ndreptat n afar,
acestea vor fi ieirile totale. n nodurile unde exist stoc net, de exemplu la
Budapesta i la Gyr, cantitatea din dreptul nodului este negativ. Astfel, stocul
total din sistem se obine prin nsumarea valorilor negative, iar necesarul total se
obine prin nsumarea valorilor pozitive.

De acum ntrebarea este doar: cum s reprezentm modelul de reea astfel nct
s fie rezolvabil i cu Solver?

Pentru reprezentare, prima dat vom specifica nodurile. (Tabelul 27.) Fiecrui
nod i atribuim numrul curent i denumirea, dar trebuie s-i mai alocm fluxul
net, relaia i stocul/necesarul, fiindc aceste elemente vor fi necesare n Solver
pentru determinarea condiiilor restrictive. Datele stoc/necesar din reea sunt
deja stabilite. Am putut stabili i relaia, fiindc stocul total din reea este de
4500 de uniti, necesarul total este de 3000 de uniti, astfel, aplicnd regulile
echilibrului de flux:
Fluxul net >= stoc / necesar

Fluxurile nete vor putea fi calculate dup terminarea reprezentrii sgeilor.

203

Dou ri, un scop, succes comun!

Tabelul 27.: Nodurile reelei

1
2
3
4
5
6
7
8
9
10

Noduri
Budapest
Gyr
Szkesfehrvr
Szolnok
Dombvr
Miskolc
Debrecen
Szeged
Nyregyhza
Bkscsaba

Flux net Relaia Stoc/Necesar


>=
-1000
>=
-3500
>=
350
>=
400
>=
300
>=
600
>=
300
>=
500
>=
300
>=
250

Pentru reprezentarea sgeilor, pe lng tabelul care conine nodurile vom


elabora nc un tabel (nr.28.), n care, n ordinea cresctoare a numrului
nodului de pornire, nscriem toate relaiile n coloanele De unde i Unde. Nu
este nevoie s se nscrie numele oraelor, fiindc acestea pot fi introduse din
tabelul cu nodurile, utiliznd funcia VLOOKUP(). i acest tabel l-am ntocmit
astfel nct s aib loc i construcia modelului, de aceea prima coloan va fi
Expediere, unde se nscriu cantitile transportate pe sgei, iar ultima coloan
conine cheltuielile unitare de transport ale relaiilor/rutelor de transport.
Costurile totale se determin cu funcia SUMPRODUCT() pentru coloanele
Expediere i Cheltuiala:
=SUMPRODUCT(L2:L20; G2:G20)

Dup aceasta mai trebuie calculate fluxurile nete, iar dup introducerea
parametrilor Solver trebuie rezolvat modelul.
204

Dou ri, un scop, succes comun!

Tabelul 28.: Reprezentarea sgeilor reelei

Calculul fluxurilor nete se poate efectua astfel (fig. 152.). Valoarea celulei
A2: = SUMIF($J$2:$J$20; A2; $G$2:$G$20) - SUMIF($H$2:$H$20;
A2; $G$2:$G$20)
Aceast formul o calculm n domeniul A3:A11.

Se observ c pentru calculul fluxurilor de intrare i de ieire putem utiliza


funcia de sum condiionat SUMIF().

Vrful sgeilor care duc ntr-un anumit nod este ntotdeauna numrul de ordine
al nodului spre care duc sgeile. Deci, dac de exemplu ne intereseaz ce sgei
duc n nodul 3, acestea vor fi x13 i x23. Urmnd aceeai logic, pentru calculul

205

Dou ri, un scop, succes comun!

fluxului de intrare, domeniul criterial este J2:J20, criteriul este codul nodului, iar
domeniul de totalizare este G2:G20.

Fig. 152.: Modelul problemei de transport.

Punctul de pornire al sgeilor care ies din nod este ntotdeauna numrul de
ordine al nodului. Astfel, sgeile x46, i x47 ies din nodul 4. Deci n formul,
domeniul criterial este H2:H20, criteriul este codul nodului.

Dup calcularea fluxului net rezolvm modelul cu Solver. Parametrii sunt artai
n fig. 152. i, cu toate c aici nu figureaz pe ilustraie, i aici trebuie s setm
opiunile de nonnegativitate i de presupunere a modelului linear.
206

Dou ri, un scop, succes comun!

Dup rezolvare n domeniul G2:G20 gsim planul optim de transport, pe care l


putem realiza cu 280.750 Ft.

207

Dou ri, un scop, succes comun!

4. Automatizarea operaiilor
n multe privine, Excel ne face viaa mult mai uoar. n capitolele anterioare
am trecut n revist, posibilitile prin utilizarea crora putem face tabele mai
comprehensibile, ntr-un mod mult mai simplu.

n acest capitol vom vedea ce posibiliti exist pentru automatizarea diferitelor


procedee de editare, destul de laborioase altfel i care se repet pe parcursul
soluionrii problemelor, adic s facem ca pentru utilizatorii mai puin
experimentai, un proiect mai complicat n Excel s fie mai uor i mai plcut de
dus la bun sfrit. Pentru atingerea acestor deziderate, trebuie s facem
cunotin cu crearea macrourilor. Macroul este o mulime de comenzi Excel
adunate laolalt, de fapt un program de calculator mai mic, sau list de comenzi
sau de funcii, care se stocheaz n modulul Visual Basic. Macrourile se
stochez legate de fiier, devin pri ale acestuia (de aceea n caz de virui pot
constitui un pericol).

Instrumentele cele mai importante ale creerii macrourilor sunt cunoaterea


limbajului de programare Visual Basic for Application i a obiectelor Excel.
Acest lucru poate suna nspimnttor pentru acei care nu au cunotine de
programare, dar macrouri mai uoare pot crea i utilizatori Excel relativ
neexperimentai. Bineneles, de cele mai multe ori pofta vine mncnd, de
aceea macrourile o dat create merit analizate n editorul de macrouri i,
ulterior, merit chiar dezvoltate.

208

Dou ri, un scop, succes comun!

n setarea de baz, Excel 2007 nu vizualizeaz banda de meniu necesar creerii


macrourilor. Acest lucru l putem obine deschiznd fereastra de dialog EXCEL
OPTIONS (cu butonul Excel din stnga sus al ecranului). Aici vom gsi
categoria Popular, n care bifm Show Developer tab in the ribbon (fig. 153.)

Fig. 153. Activarea benzii de meniu instrumente de dezvoltare (Developer)

4.1. Automatizarea cu ajutorul macrourilor

Pentru automatizarea operaiunilor repetitive, cu ajutorul Microsoft Office Excel


putem crea macrouri n urmtoarele moduri:

Cel mai simplu mod dea crea un macro este ca un ir de operaii s fie
nregistrat cu Record Macro.

n plus putem nfiina propriul nostru program de macrouri cu ajutorul


Visual Basic Editor, n limbajul Microsoft Visual Basic,
209

Dou ri, un scop, succes comun!

Sau putem copia ntr-un nou macro, un macro existent sau o parte a
acestuia.

Dup crearea cte unui macro putem s-i atam un obiect (de exemplu buton de
instrumentar, element de comand), astfel, fcnd clic pe obiectul respectiv,
putem rula macroul. Dac macroul nu ne mai este necesar, l putem terge.

4.1.1. Inregistrarea unui macro

S facem clic pe banda de meniu DEVELOPER, n cmpul CODE, pe butonul


Record Macro (fig. 154.), sau din banda de meniu VIEW, pe comanda
MACROS (fig. 155.).

Fig. 154.: Comanda Record Macro

n fereastra Record Macro, care se deschide, n cmpul Macro Name nscriem


denumirea macroului (fig. 156.). Primul caracter al numelui unui macro trebuie
s fie o liter. Restul caracterelor pot fi litere, cifre sau sublinieri. Numele
macroului nu poate s conin spaii goale; semnul de subliniere poate funciona
i ca cratim (liniu despritoare). Dac numele dat este o adres de celul,
programul returneaz un mesaj de eroare conform cruia numele macroului nu
este valabil.
210

Dou ri, un scop, succes comun!

Fig. 155.: Inregistrarea unui macro n banda de meniu VIEW

Fig. 156. Fereastra de pornire a nregistrrii unui macro

Dup aceasta avem posibilitatea s atam macroului creat, o combinaie de


taste utilizabil cu tasta CTRL. Pentru aceasta, n cmpul Shortcut key trebuie
s inserm litera majuscul sau minuscul dorit.

Att timp ct fiierul care conine macroul este deschis, comanda rapid de pe
tastatur suprascrie toate comenzile rapide echivalente, intrinseci pentru Excel.
211

Dou ri, un scop, succes comun!

n cmpul Store Macro in desemnm fiierul n care dorim s stocm macroul:

Dac vrem s utilizm macroul numai pentru automatizarea operaiilor din


fiierul actual, selectm opiunea This Workbook.

Dac dorim ca n timpul utilizrii Excel s avem acces permanent la


macro, selectm opiunea Personal macro workbook5.

Dac vrem s introducem i descrierea macroului, facem aceasta n cmpul


Description. Dup aceea apsm tasta Ok i astfel pornim nregistrarea
macroului.

S efectum operaiile pe care vrem s le nregistrm. nainte de a ncepe


nregisrtrarea, s ne gndim foarte bine ce dorim s facem, fiindc din momentul
nceperii nregistrrii, Excel va memora totul.

Dup ncheierea nregistrrii macroului, n banda de meniu Developer acionm


butonul End Record

, sau n banda de meniu View acionm acelai buton

Examplu 51.: Se ntmpl adesea c pe o foaie de lucru vrem s selectm un


tabel n ntregime. Avem dou posibiliti: ori selectm prin tragerea mouse-ului
treab care poate fi destul de greoaie n cazul tabelelor mari, mai ales dac
trebuie s repetm operaia de mai multe ori ori utilizm cealalt posibilitate,
pus la dispoziie de ctre Excel 2007. Cu ajutorul funciunii de selecie dirijat

Dac alegem valoarea Personal Macro Workbook, Excel creeaz un fiier individual ascuns
sub numele Personal.xlsb (dac nc nu a fost creat), iar macroul nou creat l va salva aici.

212

Dou ri, un scop, succes comun!

putem realiza aceasta, iar cu un macro o putem automatiza. Deci s creem un


macro care s selecteze domeniul de date din jurul celulei actuale:

S deschidem un fiier n care sunt tabele.

S selectm o celul n care se gsesc date.

S facem clic de DEVELOPER CODE Record Macro.

n fereastra Record Macro s efectum setrile iniiale. S dm macroului


denumirea Selector, comanda rapid s fie CTRL+a. S-l poziionm n
fiierul n carene aflm i s descriem pe scurt ce face macroul, apoi s
facem clic pe butonul OK (fig. 157.).

Fig. 157.: Setrile iniiale ale nregistrrii unui macro

Jos, n bara de stare apare butonul de ncheiere a nregistrrii

n cele ce urmeaz, nregistrm operaia pe care dorim s o automatizm.

S fim ateni ca n timpul nregistrrii s nu facem clicuri pe foaia de


lucru, fiindc se nregistreaz!
213

Dou ri, un scop, succes comun!

Facem clic n banda de meniu HOME, n grupul EDITING pe butonul


Find&Select (fig. 158).

Fig. 158.: Butonul Find&Select

n meniul care se deschide, alegem butonul Go to Special (Irnytott


kijells). (fig. 159.)

Fig. 159.: Fereastra seleciei dirijate

n fereastra care se deschide, facem clic pe butonul Current Region, apoi


pe OK. (fig. 160.)

214

Dou ri, un scop, succes comun!

Fig. 160.: Operaii cu macrouri

Facem clic pe butonul ncheierea nregistrrii

, n grupul CODE al

benzii DEVELOPER sau n partea stng a barei de stare.

4.1.2. Rularea unui macro

Exist mai multe posibiliti de a rula un macro. Acesta poate fi pornit cu


ajutorul comenzii de meniu. n funcie de setri, poate fi pornit din tastatur cu
o combinaie CTRL, cu un buton din meniul de instrumente sau fcnd clic pe
un obiect, o imagine sau un element de comand. De asemenea putem seta ca
macroul s se deruleze automat la deschiderea fiierului.

215

Dou ri, un scop, succes comun!

1.

Rularea macroului din fereastra MACRO

Deschidem fiierul care conine macroul.

Facem clic de DEVELOPER CODE Record Macro (fig. 154.)

n cmpul fereastra Macros, n cmpul Macro Name facem clic pe


numele macroului pe care vrem s-l rulm, apoi pe butonul Run6.

Dac am introdus o comand rapid (din taste), o putem folosi i pe


aceasta pentru pornirea rulrii macroului.
2.

Rularea unui macro din instrumentarul de acces rapid (Quick Access


Toolbar)
Putem include macroul nou creat i n instrumentarul de acces rapid,
astfel:
Pe foaia EXCEL OPTIONS facem clic pe comanda Customize, apoi din
lista Choose commandsfrom selectm elementul Macros. Cutm
macroul dorit n list i l includem n

instrumentar (Quick Access

Toolbar) (fig. 161).


Dup aceasta, iconia macroului apare n instrumentarul de acces rapid.
Iconia macroului poate fi modificat dup plac, dac dup includerea n
instrumentar facem clic pe comanda de modificare(Modify) (fig. 163).
3.

Rularea unui macro cu ajutorul unui obiect grafic


Putem conecta pornirea macrourilor cu vreun obiect grafic, de exemplu o
imagine, un element WordArt, o figur sau un buton de comand.

Ca prim pas s facem clic pe obiectul respectiv cu butonul din


dreapta al mouse-ului, apoi, din meniul local care apare, facem clic
pe comanda Asign Macro (fig. 164).

Putem ntrerupe rularea macroului prin acionarea tastei ESC.

216

Dou ri, un scop, succes comun!

n fereastra care apare avem dou opiuni:


o

Acceptnd sau suprascriind numele de macro aprut, asociem


obiectului un nou macro. Fcnd clic pe comanda Record
putem nregistra noul macro.

Selectm dintre macrourile existente, pe acela care s fie


atribuit la obiect.

Fig. 161.: Includerea unui macro n instrumentarul de acces rapid

n aceeai fereastr este posibil editarea macroului prin clic pe butonul Edit.
Dup clic apare fereastra Visual Basic Editor, iar codul macroului devine
editabil (fig. 165.).
217

Dou ri, un scop, succes comun!

Fig. 162.: Macro inclus n instrumentarul de acces rapid

Fig. 163.: Modificarea iconiei macroului

218

Dou ri, un scop, succes comun!

Fig. 164.: Ataarea la un macro (Asign macro) n meniul local

Fig. 165.: Atribuirea unul macro


219

Dou ri, un scop, succes comun!

4.1.3. Editarea macrourilor

naintea editrii macrourilor trebuie s facem cunotin cu programul Visual


Basic Editor, cu ajutorul cruia pot fi scrise i editate macrourile ataate la
fiierele Microsoft Office Excel.

n aceast carte nu ne ocupm de limbajul Visual Basic, ci doar cu acele


cunotine strict necesare pentru editarei rulare.

Putem accesa editarea macrourilor din mai multe puncte. S facem clic pe
Record Macro din cmpul CODE al benzii de meniu DEVELOPER, sau n
banda de meniu VIEW, pe comanda Macros, s selectm macroul pe care vrem
s-l editm i s facem clic pe comanda Edit.

Apare fereastra Visual Basic (fig. 166.).

Editorul Visual Basic se deschide ntr-o fereastr nou cu meniu i instrumentar


propriu. n meniul View putem conecta ferestrele pe care le vedem i n
imaginea de mai sus:
o

Project Explorer: n aceast fereastr vedem elementele tuturor fiierelor


deschise ntr-o structur arborescent. Dac avem deschis un singur fiier
i nc nu am scris macro, avem doar un trunchi: VBAProject (denumirea
fiierului). Din acest trunchi se deschide biblioteca Microsoft Excel
Objects, care conine, cte una,i ntre paranteze, foile de lucru ale
fiierului cu denumirile date de noi i un obiect numit This Workbook,

220

Dou ri, un scop, succes comun!

care nseamn ntregul fiier mpreun. Din meniul Insert sau din
instrumentar putem insera i alte elemente n fiier, care de asemenea se
vor aranja n biblioteci:

Fig. 166.: Fereastra de editare i instrumentarul Visual Basic

Modules: dac inserm un modul, se creeaz instantaneu biblioteca


denumit Modules i de aici ncolo fiecare model inserat va intra
aici.

Forms: dac inserm un UserForm, apare instantaneu biblioteca


Forms i de aici ncolo fiecare form inserat de noi va intra aici.

Cele trei iconie din partea de sus a ferestrei sunt:

View Code: afieaz codul elementului ales din list n


fereastra din dreapta

View Object: arat obiectul ales din list

221

Dou ri, un scop, succes comun!

Toggle Folders: ascunde structura de mape prezentat mai sus


i ca urmare, obiectele vor aprea n vrac.

Properties Window: arat ntotdeauna proprietile obiectului selectat,


asemntor cu fereastra Prpoerties cunoscut n capitolul precedent.

Putem scrie macrouri pentru fiecare element listat n fereastra Project Explorer.
Dac facem dublu clic pe elementul ales din fereastr, atunci n partea dreapt,
pe suprafaa cenuie apare o nou fereastr n care se pot vedea macrourile
aferente elementului dat,respectiv aici pot fi scrise altele.

Trebuie s dm nume fiecrui macro. Numele trebuie s conste ntr-un singur


cuvnt, nu poate ncepe cu o cifr i nu poate conine majoritatea semnelor de
punctuaie. Datorit compatibilitii cu celelalte versiuni Windows, utilizarea
literelor cu diacritice nu este recomandat.Ca nume, nu se pot utiliza cuvinte
deja ocupateca i cuvinte-cheie din Visual Basic, fiindc pot produce
ncurcturi. Macrourile se salveaz mpreun cu fiierul.

4.1.4. Crearea macrourilor cu ajutorul Microsoft Visual Basic

n grupul CODE din banda de meniu DEVELOPER s facem clic pe butonul


Visual Basic. Dac este necesar, s utilizm comanda Module din meniul
Insert. Pentru fiecare foaie a fiierului se creeaz automat un modul. S
nscriem sau s copiem codul pe care vrem s-l utilizm n fereastra de cod a
modulului.
222

Dou ri, un scop, succes comun!

Dac dorim s rulm macroul din fereastra modulului, acionm tasta F5.

Dup ncheierea scrierii macroului, pentru rentoarcerea n aplicaia Microsoft


Excel, alegem comanda Close and Return to Microsoft Excel din meniul File.

4.1.5. tergerea unui macro

Pentru tergerea macrourilor, n grupul CODE din banda de meniu


DEVELOPER s facem clic pe butonul Record Macro, sau pe comanda
Macros din banda de meniu VIEW. Selectm macroul pe care dorim s-l
tergem i facem clic pe comanda Delete (tergere).

4.2. Protecie n cazul macrourilor

n Microsoft Office Excel, cu ajutorul setrilor de protecie putem stabili ce s


se ntmple dac deschidem un fiier care conine macrouri. De exemplu putem
stabili s fie rulate numai acele macrouri care au fost validate prin semntura
digital a unui dezvoltator de macrouri care figureaz pe lista surselor n care
avem ncredere.

n cele ce urmeaz vom trece n revist posibilitile de setare de protecie n


cazul macrourilor i artm efectele acestora. Indiferent de setri, dac avem un
astfel de program de cutare a viruilor instalat pe calculator, nainte de a

223

Dou ri, un scop, succes comun!

deschide programul, acesta verific fiierul care conine macrouri, cutnd


virui cunoscui.

Setrile de protecie legat de macrouri pot fi modificate din mai multe locuri:
Din centrul de protecie a datelor (butonul Microsoft Office

butonul

EXCEL OPTIONS, categoria Trust Center, butonul Trust Center


Settings, categoria Macro Settings.

Setare macrouri

Scop

Blocarea tuturor

Aceast setare se utilizeaz cnd nu avem ncredere

macrourilor fr

n macrouri. n acest caz, aplicaia blocheaz

avertizare

macrourile incluse n documente i alarmele de


protecie legate de ele. Dac avem documente care
conin macrouri de ncredere, dar nesemnate, le
putem transfera ntr-un loc sigur. Documentele
stocate n locuri sigure pot fi utilizate fr a fi
verificate de sistemul de siguran al centrului de
protecie a datelor.

Blocarea tuturor

Aceasta este setarea de baz. Se utilizeaz cnd

macrourilor cu

dorim s blocm rularea macrourilor dar, n acelai

avertizare

timp, dorim s primim i alert de siguran despre


existena macrourilor. Astfel putem decide de la caz
la caz dac autorizm macrourile respective.

224

Dou ri, un scop, succes comun!

Setare macrouri

Scop

Blocarea tuturor

Aceasta este o setare asemntoare cu Blocarea

macrourilor

cu

tuturor macrourilor cu avertizare, dardac un

excepia celor cu

macro a fost semnat de o surs de ncredere, acel

semntur

macro poate fi rulat. Dac nu am desemnat sursa, nu

digital

primim avertizare. Astfel putem permite macrourile


semnate sau putem avea ncredere n surs. Aplicaia
blocheaz macrourile fr semntur.

Autorizarea

Aceast setare se utilizeaz pentru autorizarea

tuturor

temporar a rulrii macrourilor. Datorit faptului c

macrourilor

vulnerabilizeaz calculatorul fa de codurile

(nerecomandat,

periculoase, nu recomandm utilizarea de durat a

fiindc poate

acestei setri.

permite i rularea
unor coduri
periculoase)
Accesul la

Aceast setare este pentru programatori.

modelul VBAprojekt object este


de ncredere

Banda de meniu DEVELOPER, grupulCODE, butonulMacro Security.

225

Dou ri, un scop, succes comun!

4.3. ntocmirea formularelor

Elementele de comand pentru ntocmirea formularelor pot fi vizualizate prin


clic pe butonul Insert din cmpul CONTROLS al benzii de meniu
DEVELOPER (fig. 167.).

n instrumentar vom gsi comenzile deja cunoscute din ferestrele de dialog


Windows, pe care le putem plasa pe foaia de lucru.

Fig. 167.: Elementele de comand pentru formulare i ActiveX

Comenzile care pot fi plasate pe foaie:

CheckBox ( Dreptunghiul de activare): este un mic dreptunghi cu o


inscripie. Poate fi n stare selectat sau neselectat. n stare selectat, n
dreptunghi este o bif. Despre fiecare CheckBox se poate decide
individual dac este selectat sau nu, deci pot fi selectate mai multe
concomitent.

TextBox (Cmp pentru inscripii): este un cmp n care utilizatorul poate


scrie dup deconectarea modului de lucru proiectare.

226

Dou ri, un scop, succes comun!

CommandButton (Buton de comand): o comand care poate fi apsat


virtual. Ca efect, pornete un proces.

OptionButton (Buton de selecie): este un mic cerc cu inscripie. Poate fi


n stare selectat sau neselectat. Starea selectat este semnalizat printrun punct n cerc. Comenzile sunt interconectate. Din mai multe
OptionButton doar unul poate fi selectat. Dac selectm un altul, seleciile
anterioare se anuleaz.

ListBox: este un cmp care conine o list, din care utilizatorul poate alege
dup deconectarea modului proiectare.

ComboBox: Ca i n cazul ListBox, i aici putem alege dintre mai multe


posibiliti. n starea de baz se prezint ca un cmp gol, cu o sgear cu
vrful n jos. Fcnd clic pe sgeat putem vedea elementele listei i
putem alege dintre ele. Dup alegere, lista dispare i rmne vizibil numai
elementul ales. Contrar cazului ListBox, aici i utilizatorul poate scrie n
cmp, alegnd astfel o valoare pe care lista n-a oferit-o.

SpinButton: dou sgei care arat n sens contrar. Cu ajutorul lor putem
numra pai egali ntre limitele date.

ScrollBar: este nrudit cu SpinButton, cu diferena c ntre cele dou


sgei exist i o fie cu ajutorul creia putem face pai mai mari. Pe fie
exist un glisor pe care utilizatorul l poate deplasa liber ntre cele dou
puncte extreme.

Label (Etichet): cu ajutorul acestei comenzi putem plasa inscripii pe


foaia de lucru, pe care, dup decuplarea modului proiectare, utilizatorul nu
le poate modifica.

227

Dou ri, un scop, succes comun!

Cteva nsuiri utile pe care le putem vedea i seta n fereastra Properties n


ordine alfabetic (Alphabetic) sau pe categorii (Categorized):

Name: denumirea comenzii, care const n denumirea generic, ex. Label


i un numr de ordine. Comenzile pot fi redenumite, dar pentru utilizatori
nceptori acest lucru nu este recomandat.

LinkedCell: aceast proprietate are o importan deosebit, fiindc prin ea


putem conecta comanda la celul. Dac se modific valoarea comenzii, se
modific i valoarea celulei i invers. Valoarea comenzii apare n celul
ntotdeauna sub form de text, chiar i atunci cnd conine numr. Dac n
formul vrem s ne referim la celula respectiv ca la un numr, atunci
trebuie s facem conversia n numr cu ajutorul funciei VALUE. Celula
conectat o putem identifica n modul obinuit n Excel, adic prin litera
coloanei i numrul rndului.

Caption: aici dm legenda comenzii care conine legend.

Text: cmpul de intrare nu are legend, ci text. Acest lucru se seteaz prin
introducerea comenzii Text.

Font: Putem stabili tipul de litere pentru control-urile care au legend sau
text.

ForeColor: setm culoarea inscripiei comenzilor care au legend sau text.

BackColor: setm culoarea de fundal a comenzii.

Enabled: se poate seta accesibilitatea comenzii. Este o proprietate cu dou


valori: dac valoarea este True, atunci comanda poate fi utilizat (de
exemplu se poate apsa butonul, se poate scrie n cmpul de introducere
etc.), dac valoarea este False, atunci comanda nu poate fi utilizat.

228

Dou ri, un scop, succes comun!

Visible: seteaz vizibilitatea comenzii. i aceasta este o proprietate cu


dou valori: dac are valoarea True, comanda este vizibil, iar dac este
False, comanda este invizibil. Bineneles, n modul proiectare totul este
vizibil, dar dac ieim din proiectare cu iconia prezentat mai sus, atunci
comenzile setate pe invizibil dispar.

Value: este o proprietate aCheckBox, CommandButtoni OptionButton.


Are dou valori: dac comanda este selectat, este True, dac nu, este
False.

Picture: este o proprietate a comenzii imagine. Aici putem da calea de


acces la imaginea pe care vrem s-o inserm.

ListFillRange: aici se poate stabili domeniul de celule care conine valorile


care pot fi alese, n cazul comenzilor care conin liste. Domeniul de celule
se introduce n modul obinuit n Excel, desprind adresele celor dou
celule de capt prin dou puncte.

Dup conectarea modului proiectareputem alege liber poziia i mrimea


comenzilor, cu ajutorul mouse-ului, de la ptratele de redimensionare aflate la
colurile comenzilor, respectiv prin clic pe mijlocul comenzii i tragere cu
mouse-ul. Dac vrem dimensiuni sau poziii exacte, putem da nlimea
(Height) i limea (Width) n pixeli.

Cu ajutorul comenzilor putem elabora formulare n al cror fundal, Excel


efectueaz calcule, dar valorile de pornire le poate introduce utilizatorul n
condiii stabilite de noi.

229

Dou ri, un scop, succes comun!

Exemplu 52.: Pornind de la datele din tabelul 28., s ntocmim un formular de


schimb valutar. Pentru utilizare s lucrm cu ListBox.

Tabelul 28.: Cursuri valutare

S facem clic pe butonul Insert din cmpul CONTROLS al benzii de meniu


DEVELOPER i s alegem elementul de comand ListBox.

230

Dou ri, un scop, succes comun!

Elementul de comand s-l introducem n celula G1. S selectm elmentul de


comand i s-l copiem n celula G2. Astfel se plaseaz una sub cealalt, dou
ferestre care se deschid n jos. (fig. 168.)

Fig. 168.: Elementul de comand ListBox

S completm domeniul E1:G5 pe baza fig.169.)

Dup aceasta s facem clic dreapta cu mouse-ul n celula G1 pe elementul


de comand ListBox i dup apariia meniului local s alegem comanda
Format Control.
n aceast list vrem s alegem valuta pe care dorim s o schimbm, de
aceea, drept domeniu de intrare (Input Range) selectm domeniul A2:A22.
Cnd alegem un element din list, acesta este returnat mpreun cu
numrul su de ordine din domeniu. n cmpul Cell Link introducem
celula n care vrem s nscriem acest numr de ordine. n cele ce urmeaz,
aceast valoare o vom utiliza pentru calcule ulterioare. Cu ajutorul
rndurilor care se deruleaz, setm cte date dorim s vedem concomitent
(fig. 170.).
231

Dou ri, un scop, succes comun!

Fig. 169.: Formularul de schimb valutar

Utiliznd valoarea celulei J1 s cerem nscrierea n celula J2, cursul


valutei selectate. Pentru aceasta vom utiliza funcia INDEX() .
=INDEX(C2:C22;J1;1)/INDEX(B2:B22;J1;1)
n domeniul C2:C22 (acestea sunt cursurile) s cutm elementul al crui
numr de ordine este stocat n celula J1 i o mprim cu unitatea
cantitativ pe care o cutm n acelai fel. Trebuie s efectum mprirea
pentru ca la calculul cursului s apar deja unitile de valut.

232

Dou ri, un scop, succes comun!

Fig. 170.: Formatarea controlului ListBox

Dup aceasta nscriem n celulele O1 i O2 o formul care s nscrie la


direcia schimbului, denumirea valutei selectate n acel moment. De
exemplu, dac valuta selectat este CHF, atunci s nscrie n celul
valoarea HUF CHF, respectiv CHF HUF.
O1: =INDEX(A2:A22;J1)& - &HUF
O2: =HUF& - &INDEX(A2:A22;J1)

Acum putem seta i controlul din celula G2. S facem din nou clic dreapta
pe elementul de comand i n meniul local care apare s alegem comanda
Format Control. Input Range va fi domeniul O1:O2, fiindc aici apare

233

Dou ri, un scop, succes comun!

direcia n care dorim s schimbm valuta. Cell link va fi celula L1 i aici


sunt suficiente dou rnduri care se deruleaz.

Fig. 171.: Setrile celui de al doilea control

Mai avem un singur lucru de fcut: s calculm cantitatea de valut sau de


forini n celula G5.
=IF(L1=1;G3*K1;G3/K1)
n acest caz, lund n considerare valoarea stocat n celula L1, putem
calcula suma primit prin nmulire sau mprire.

Dorim s vedem exact i n celula E1, n funcie de valuta selectat i de


schimbul valutar, ce valut primim. i acest lucru l stabilim cu ajutorul
unei funcii IF(), astfel:

234

Dou ri, un scop, succes comun!

=IF(L1=1;Primit HUF:;Primit&&INDEX(A2:A22;J1)&:)

Bineneles, dup ncheierea operaiilor ascundem celulele care conin


informaii ajuttoare i utilizatorului i artm doar rezultatul final (fig.
172.).

Fig. 172.: Aplicaia de schimb valutar

235

Dou ri, un scop, succes comun!

BIBLIOGRAFIE
1.

ll G. (2002): Tblzatkezels felsfokon, Mszaki Knyvkiad,


Budapest

2.

B. Jelen (2002): Guerilla Data analysis Using Microsoft Excel, Holy


Macro! Books, Uniontown, Ohio, USA

3.

Brtfai B. (2007): Excel 2007 zsebknyv, BBS-INFO Kft, Budapest

4.

C. T. Ragsdale (2007): Spreadsheet Modeling and Decision Analysis 5e,


Thomson South Western, USA

5.

G. S. Linoff(2008):Data Analysis Using SQL and Excel, Wiley Publishing,


Inc., Indianapolis, Indiana

6.

J. Green S. Bullen R. Bovey M. Alexander (2007): Excel 2007 VBA


Programmers Reference, Wiley Publishing, Inc., Indianapolis, Indiana

7.

J. Walkenbach (2007): Excel 2007 Bible, Wiley Publishing, Inc.,


Indianapolis, Indiana

8.

Kovalcsik G. (2005): Az Excel programozsa, ComputerBooks, Budapest

9.

P. Cornell (2007): Excel As Your Database, Springer-Verlag, New York

10. R. Mansfield (2008):Mastering VBA for Microsoft Office 2007, Wiley


Publishing, Inc., Indianapolis, Indiana
11. S. C. Albright W. L. Winston (2005): Spreadsheet Modeling and
Applications Essentials of Practical Management Science, Thomson
South Western, Mason, USA

236

Dou ri, un scop, succes comun!

12.

Tarnczi

Tibor

(2007):

Kzgazdasgi

pnzgyi

szmtsok

tblzatkezel programokkal, Bessenyei Gyrgy Tanknyvkiad


13.

Tarnczi Tibor (2007): Statisztikai adatfeldolgozs szmtstechnikai


lehetsgei, Bessenyei Gyrgy Tanknyvkiad

14. W. L. Winston (2003): Opercikutats Mdszerek s alkalmazsok,


Aula, Budapest

237

Dou ri, un scop, succes comun!

ANEXA
1.

Funcii de baze de date

Funcie
Funcia DAVERAGE
Funcia DCOUNT
Funcia DCOUNTA
Funcia DMAX
Funcia DGET
Funcia DMIN
Funcia DSTDEV

Funcia DSTDEVP

Funcia DPRODUCT

Funcia DSUM
Funcia DVAR
Funcia DVARP

238

Descriere
Returneaz media intrrilor de baz de date
selectate.
Numr celulele care conin numere ntr-o baz
de date.
Numr celulele care nu sunt necompletate ntro baz de date.
Returneaz valoarea maxim dintre intrrile de
baz de date selectate.
Extrage dintr-o baz de date o singur
nregistrare care satisface criteriile specificate.
Returneaz valoarea minim dintre intrrile de
baz de date selectate.
Estimeaz abaterea standard pe baza unui
eantion de intrri selectate dintr-o baz de
date.
Calculeaz abaterea standard pe baza ntregii
populaii de intrri selectate dintr-o baz de
date.
nmulete valorile dintr-un anumit cmp de
nregistrri care ndeplinesc criteriile ntr-o
baz de date.
Adun numerele dintr-o coloan de cmpuri a
nregistrrilor dintr-o baz de date care satisfac
criteriile specificate.
Estimeaz variana pe baza unui eantion de
intrri selectate dintr-o baz de date.
Calculeaz variana pe baza ntregii populaii a
intrrilor selectate dintr-o baz de date.

Dou ri, un scop, succes comun!

2.

Funcii de dat i or

Funcie
Funcia DATE
Funcia DATEVALUE
Funcia YEAR
Funcia WEEKDAY
Funcia WEEKNUM
Funcia MONTH
Funcia EOMONTH
Funcia TIME
Funcia TIMEVALUE
Funcia EDATA

Funcia WORKDAY

Funcia
WORKDAY.INTL
Funcia TODAY
Funcia NOW

Descriere
Returneaz numrul serial al unei anumite date
calendaristice.
Efectueaz conversia unei date calendaristice
sub form de text ntr-un numr serial.
Efectueaz conversia unui numr serial ntr-un
an.
Efectueaz conversia unui numr serial ntr-o zi
a sptmnii.
Efectueaz conversia unui numr serial ntr-un
numr reprezentnd numrul sptmnii
respective din an.
Efectueaz conversia unui numr serial ntr-o
lun.
Returneaz numrul serial al ultimei zile a lunii
care este nainte sau dup un numr specificat
de luni.
Returneaz numrul serial al unei valori de
timp specificate.
Efectueaz conversia unei ore sub form de text
ntr-un numr serial.
Returneaz numrul serial al datei
calendaristice care este numrul indicat de luni,
nainte sau dup data calendaristic de nceput.
Returneaz numrul serial al datei
calendaristice care este nainte sau dup un
numr specificat de zile lucrtoare.
Returneaz numrul serial al datei dinainte sau
dup un numr specificat de zile de lucru,
utiliznd parametri pentru a indica cte zile i
care anume sunt zile de weekend.
Returneaz numrul serial al datei
calendaristice din ziua curent.
Returneaz numrul serial al datei i orei
curente.
239

Dou ri, un scop, succes comun!

Funcie

Descriere
Efectueaz conversia unui numr serial ntr-o
Funcia SECOND
secund.
Efectueaz conversia unui numr serial ntr-o zi
Funcia DAY
a lunii.
Calculeaz numrul de zile dintre dou date
calendaristice avnd ca baz un an cu 360 de
Funcia DAYS360
zile.
Efectueaz conversia unui numr serial ntr-o
Funcia HOUR
or.
Returneaz numrul de zile lucrtoare ntregi
Funcia NETWORKDAYS
dintre dou date calendaristice.
Returneaz numrul de zile lucrtoare ntregi
dintre
dou date calendaristice, utiliznd
Funcia
parametri pentru a indica cte zile i care
NETWORKDAYS.INTL
anume sunt zile de weekend.
Efectueaz conversia unui numr serial ntr-un
Funcia MINUTE
minut.
Returneaz fraciunea din an pe care o
reprezint numrul de zile ntregi cuprinse ntre
Funcia YEARFRAC
data calendaristic de nceput i cea de sfrit.

3.

Funcii de informaii

Funcie
Funcia CELL
FunciaNA
Funcia ISERR
Funcia ERROR.TYPE
Funcia ISERROR

240

Descriere
Returneaz informaii despre formatarea,
locaia sau coninutul unei celule.
Returneaz valoarea de eroare #N/A
Returneaz TRUE dac valoarea este orice alt
valoare de eroare n afar de #N/A.
Returneaz un numr ce corespunde unui tip de
eroare.
Returneaz TRUE dac valoarea este orice
valoare de eroare.

Dou ri, un scop, succes comun!

Funcie
Funcia ISREF
Funcia INFO
Funcia ISLOGIC
Funcia ISNONTEXT
Funcia ISNA
Funcia ISODD
Funcia ISEVEN
Funcia N
Funcia ISNUMBER
Funcia ISTEXT
Funcia TYPE
Funcia ISBLANK

4.

Descriere
Returneaz TRUE dac valoarea este o
referin.
Returneaz informaii despre mediul de operare
curent.
Returneaz TRUE dac valoarea este o valoare
logic.
Returneaz TRUE dac valoarea nu este text.
Returneaz TRUE dac valoarea reprezint
valoarea de eroare #N/A.
Returneaz TRUE dac numrul este impar
Returneaz TRUE dac numrul este par.
Returneaz o valoare convertit n numr.
Returneaz TRUE dac valoarea este un numr.
Returneaz TRUE dac valoarea este text.
Returneaz un numr indicnd tipul de dat al
unei valori.
Returneaz TRUE dac valoarea este
necompletat.

Funcii de cub

Funcie
Funcia CUBEVALUE

Funcia
CUBEPKIMEMBER

Descriere
Returneaz o valoare agregat din cub.
Returneaz o proprietate a indicatorului cheie
de performan (KPI) i afieaz numele KPI n
celul. KPI este o msurtoare cuantificabil,
cum ar fi profitul brut lunar sau comisionul
trimestrial al angajatului, care se utilizeaz
pentru a monitoriza performanele unei
companii.

241

Dou ri, un scop, succes comun!

Funcie

Descriere
Definete un set calculat de membri sau tupluri
prin trimiterea unei expresii de set la cubul de
Funcia CUBESET
pe server, ceea ce creeaz setul, apoi returneaz
setul n Microsoft Office Excel.
Funcia CUBESETCOUNT Returneaz numrul de elemente dintr-un set..
Returneaz membrul de ordin n dintr-un set. Se
utilizeaz pentru a returna unul sau mai multe
Funcia
elemente dintr-un set, cum ar fi cel mai bun
CUBERANKEDMEMBER
vnztor sau cei mai buni 10 studeni.
Returneaz un membru sau tuplu dintr-un cub.
Se utilizeaz pentru a valida faptul c exist
Funcia CUBEMEMBER
membrul sau tuplul n cub.
Returneaz valoarea unei proprieti membru
dintr-un cub. Utilizat pentru a valida faptul c
Funcia
numele membrului exist n interiorul cubului
CUBEMEMBERPROPERTY
i pentru a returna proprietatea specificat
pentru membrul respectiv.

5.

Funcii logice

Funcie
Funcia AND
Funcia IF
Funcia IFERROR
Funcia FALSE
Funcia TRUE
Funcia NOT
Funcia OR

242

Descriere
Returneaz TRUE dac argumentele sunt toate
adevrate.
Specific un test logic de executat.
Returneaz o valoare specificat de dvs. dac o
formul are ca rezultat o eroare; altfel,
returneaz rezultatul formulei..
Returneaz valoarea logic FALSE.
Returneaz valoarea logic TRUE.
Inverseaz valoarea logic a argumentului.
Returneaz TRUE dac unul dintre argumente
este adevrat.

Dou ri, un scop, succes comun!

6.

Funcii matematice i trigonometrice

Funcie
Funcia
FLOOR.PRECISE

Funcia
CEILING.PRECISE
Funcia ABS
Funcia ACOSH
Funcia ACOS
Funcia ATAN
Funcia ATAN2
Funcia ASIN
Funcia ASINH
Funcia ATANH
Funcia COS
Funcia COSH
Funcia TRUNC
Funcia SIGN
Funcia FACT
Funcia FACTDOUBLE
Funcia DEGREES
Funcia SQRT
Funcia SQRTPI

Descriere
Rotunjete un numr n jos la cel mai apropiat
ntreg sau la cel mai apropiat multiplu
semnificativ. Numrul este rotunjit n jos
indiferent de semnul su..
Rotunjete un numr la cel mai apropiat ntreg
sau la cel mai apropiat multiplu semnificativ.
Numrul este rotunjit n sus indiferent de
semnul su..
Returneaz valoarea absolut a unui numr.
Returneaz inversa cosinusului hiperbolic al
unui numr.
Returneaz valoarea arccosinusului unui numr.
Returneaz valoarea arctangentei unui numr.
Returneaz valoarea arctangentei dup
coordonatele x i y.
Returneaz valoarea arcsinusului unui numr.
Returneaz inversa sinusului hiperbolic al unui
numr.
Returneaz valoarea invers a tangentei
hiperbolice a unui numr.
Returneaz valoarea cosinusului unui numr.
Returneaz valoarea cosinusului hiperbolic al
unui numr.
Trunchiaz un numr la un ntreg.
Returneaz semnul unui numr.
Returneaz factorialul unui numr.
Returneaz factorialul dublu al unui numr.
Convertete radianii n grade.
Returneaz valoarea pozitiv a rdcinii
ptrate.
Returneaz valoarea rdcinii ptrate din
(numr * pi).
243

Dou ri, un scop, succes comun!

Funcie

Funcia MINVERSE

Descriere
Returneaz valoarea unui numr ridicat la o
putere.
Rotunjete un numr la primul ntreg dinaintea
lui.
Returneaz matricea invers a unei matrice.

Funcia ROUNDUP

Rotunjete un numr n sus, dinspre zero.

Funcia ROUNDDOWN

Rotunjete un numr n jos, nspre zero.


Rotunjete un numr la un numr specificat de
cifre.
Returneaz e la puterea unui numr dat.

Funcia POWER
Funcia INT

Funcia ROUND
Funcia EXP
Funcia COMBIN
Funcia QUTIENT
Funcia GCD
Funcia LCM
Funcia LN
Funcia LOG
Funcia LOG10
Funcia MOD
Funcia MDETERM
Funcia MMULT
Funcia SUMSQ
Funcia AGGREGATE
Funcia FLOOR
Funcia ODD
Funcia EVEN
244

Returneaz numrul de combinri pentru un


numr dat de obiecte.
Returneaz ntregul unei mpriri.
Returneaz valoarea celui mai mare divizor
comun.
Returneaz valoarea celui mai mic multiplu
comun.
Returneaz valoarea logaritmului natural al
unui numr.
Returneaz valoarea logaritmului unui numr
ntr-o baz dat.
Returneaz valoarea logaritmului zecimal al
unui numr.
Returneaz restul unei mpriri.
Returneaz determinantul unei matrice.
Returneaz valoarea produsului matricial a
dou matrice.
Returneaz suma ptratelor argumentelor.
Returneaz o medie ntr-o list sau o baz de
date.
Rotunjete un numr prin lips, nspre zero.
Rotunjete un numr la cel mai apropiat numr
ntreg impar urmtor.
Rotunjete un numr n sus la cel mai apropiat
ntreg par.

Dou ri, un scop, succes comun!

Funcie
Funcia PI

Descriere
Returneaz valoarea numrului pi.

Rotunjete un numr la cel mai apropiat ntreg


sau la cel mai apropiat multiplu semnificativ.
Efectueaz conversia gradelor n radiani.
Funcia RADIANS
Returneaz subtotalul unei liste sau baze de
Funcia SUBTOTAL
date.
Efectueaz conversia n forma roman a unui
Funcia ROMAN
numr cu cifre arabe, sub form de text.
Returneaz sinusul unui unghi dat.
Funcia SIN
Returneaz sinusul hiperbolic al unui numr.
Funcia SINH
Returneaz suma unei serii de puteri, pe baza
Funcia SERIESSUM
formulei.
Returneaz valoarea multinomial a unui set de
Funcia MULTINOMIAL
numere.
Funcia PRODUCT
nmulete argumentele funciei.
Returneaz suma produselor componentelor
Funcia SUMPRODUCT
unei matrice corespondente.
Pfuncia CEILING

Funcia SUM
Funcia SUMIF
Funcia SUMIFS
Funcia SUMX2MY2
Funcia SUMX2PY2
FunciaSUMXMY2
Funcia TAN
Funcia TANH
Funcia MROUND

Adun argumentele funciei.


Adun coninutul celulelor specificate, dup un
criteriu dat.
Adaug celulele dintr-o zon care ndeplinesc
mai multe criterii..
Returneaz suma diferenelor ptratelor
valorilor corespondente din dou matrice.
Returneaz suma sumei ptratelor valorilor
corespondente din dou matrice.
Returneaz suma ptratelor diferenelor
valorilor corespondente din dou matrice.
Returneaz valoarea tangentei unui numr.
Returneaz valoarea tangentei hiperbolice a
unui numr.
Returneaz un numr rotunjit la multiplul dorit.
245

Dou ri, un scop, succes comun!

Funcie

Descriere

Funcia RAND

Returneaz un numr aleator ntre 0 i 1.

Funcia
RANDBETWEEN

Returneaz un numr aleator, cuprins ntre


numerele specificate.

7.

Funcii de cautare i de referin

Funcie
Funcia ADDRESS
Funcia OFFSET
Funcia VLOOKUP

Funcia HYPERLINK
Funcia MATCH
Funcia INDEX
Funcia INDIRECT
Funcia LOOKUP
Funcia
GETPIVOTDATA
Funcia COLUMN
Funcia COLUMNS
Funcia ROW
Funcia ROWS
246

Descriere
Returneaz o referin ca text la o singur
celul dintr-o foaie de lucru.
Returneaz poziia relativ, fa de o referin
dat.
Caut n prima coloan a unei matrice i se
deplaseaz pe rnd pentru a returna valoarea
unei celule.
Creeaz o comand de acces rapid sau o
legtur care deschide un document stocat pe
un server de reea, n intranet sau n Internet.
Caut valori ntr-o referin sau ntr-o matrice.
Utilizeaz un index pentru a alege o valoare
dintr-o referin sau dintr-o matrice.
Returneaz o referin indicat printr-o valoare
text.
Caut valori ntr-un vector sau ntr-o matrice.
Returneaz datele stocate ntr-un raport
PivotTable.
Returneaz numrul coloanei unei referine.
Returneaz numrul de coloane dintr-o
referin.
Returneaz numrul de rnd al unei referine.
Returneaz numrul de rnduri dintr-o
referin.

Dou ri, un scop, succes comun!

Funcie
Funcia AREAS

Descriere
Returneaz numrul de zone dintr-o referin.

Funcia TRANSPOSE

Returneaz transpusa unei matrice.

Funcia CHOOSE

Alege o valoare dintr-o list de valori.

Funcia RTD

Regsete date n timp real dintr-un program


care recunoate automatizarea COM.

Funcia HLOOKUP

Caut n rndul de sus al unei matrice i


returneaz valoarea celulei indicate.

8.

Funcii de inginerie

Funcie

Descriere

Funcia BESSELI

Returneaz funcia Bessel modificat In(x).

Funcia BESSELJ

Returneaz funcia Bessel Jn(x).

Funcia BESSELK

Returneaz funcia Bessel modificat Kn(x).

Funcia BESSELY

Returneaz funcia Bessel Yn(x).


Efectueaz conversia unui numr din sistem
binar n sistem zecimal.
Efectueaz conversia unui numr din sistem
binar n sistem hexazecimal.
Efectueaz conversia unui numr din sistem
binar n sistem octal.
Efectueaz conversia unui numr din sistem
zecimal n sistem binar.
Efectueaz conversia unui numr din sistem
zecimal n sistem hexazecimal.
Efectueaz conversia unui numr din sistem
zecimal n sistem octal.
Testeaz egalitatea a dou valori.
Efectueaz conversia unui numr din sistem
hexazecimal n sistem binar.

Funcia BIN2DEC
Funcia BIN2HEX
Funcia BIN2OCT
Funcia DEC2BIN
Funcia DEC2HEX
Funcia DEC2OCT
Funcia DELTA
Funcia HEX2BIN

247

Dou ri, un scop, succes comun!

Funcie
Funcia HEX2DEC
Funcia HEX2OCT
Funcia ERF
Funcia ERFC
Funcia ERF.PRECISE
fggvny

Descriere
Efectueaz conversia unui numr din sistem
hexazecimal n sistem zecimal.
Efectueaz conversia unui numr din sistem
hexazecimal n sistem octal.
Returneaz funcia de eroare.
Returneaz complementara funciei de eroare.
Returneaz funcia de eroare.

Returneaz funcia ERF complementar


integrat de la x la infinit.
Returneaz valoarea absolut a unui numr
Funcia IMABS
complex (modulul).
Returneaz argumentul theta, un unghi exprimat
Funcia IMARGUMENT
n radiani.
Returneaz cosinusul unui numr complex.
Funcia IMCOS
Funcia IMEXP
Returneaz exponeniala unui numr complex.
Returneaz rdcina ptrat a unui numr
Funcia IMSQRT
complex.
Returneaz ctul a dou numere complexe.
Funcia IMDIV
Returneaz un numr complex ridicat la o
Funcia IMPOWER
putere ntreag.
Returneaz conjugata complex a unui numr
Funcia IMCONJUGATE
complex.
Returneaz diferena dintre dou numere
Funcia IMSUB
complexe.
Returneaz logaritmul natural al unui numr
Funcia IMLN
complex.
Returneaz logaritmul zecimal al unui numr
Funcia IMLOG10
complex.
Returneaz logaritmul n baza 2 al unui numr
Funcia IMLOG2
complex.
Returneaz suma numerelor complexe.
Funcia IMSUM
Returneaz sinusul unui numr complex.
Funcia IMSIN
Returneaz produsul a 2 pn la 255 de numere
Funcia IMPRODUCT
complexe.
Funcia ERFC.PRECISE

248

Dou ri, un scop, succes comun!

Funcie
Funcia IMREAL
Funcia IMAGINARY
Funcia COMPLEX
Funcia CONVERT
Funcia GESTEP
Funcia OCT2BIN
Funcia OCT2DEC
Funcia OCT2HEX

9.

Descriere
Returneaz partea real a unui numr complex.
Returneaz partea imaginar a unui numr
complex.
Efectueaz conversia coeficienilor reali i
imaginari ntr-un numr complex.
Efectueaz conversia unui numr dintr-un
sistem de msur n altul.
Testeaz dac un numr este mai mare dect o
valoare de prag.
Efectueaz conversia unui numr din sistem
octal n sistem binar.
Efectueaz conversia unui numr din sistem
octal n sistem zecimal.
Efectueaz conversia unui numr din sistem
octal n sistem hexazecimal.

Funcii statistice

Funcie
Funcia AVEDEV
Funcia AVERAGE

Descriere
Returneaz media aritmetica a abaterilor
absolute ale punctelor de date de la valoarea lor
medie.
Returneaz media aritmetic a argumentelor.

Funcia AVERAGEA

Returneaz media aritmetic a argumentelor,


inclusiv numere, texte i valori logice.

Funcia AVERAGEIF

Returneaz valoarea medie (media aritmetic) a


tuturor celulelor dintr-o zon care ndeplinesc
un anumit criteriu.

Funcia AVERAGEIFS
Funcia BETA.DIST

Returneaz valoarea medie (media aritmetic) a


tuturor celulelor care ndeplinesc mai multe
criterii.
Returneaz funcia de distribuie cumulativ
beta.
249

Dou ri, un scop, succes comun!

Funcie
Funcia BETA.INV
Funcia BINOM.DIST
Funcia BINOM.INV
Funcia KURT

Descriere
Returneaz inversa funciei de distribuie
cumulativ pentru o distribuie beta specificat.
Returneaz probabilitatea unei variabile
discrete de distribuie binomial.
Returneaz cea mai mic valoare pentru care
distribuia binomial cumulativ este mai mare
sau egal cu o valoare criteriu.
Returneaz coeficientul Kurt al unui set de
date.

Funcia COUNT

Contorizeaz numerele din lista de argumente.

Funcia COUNTA

Contorizeaz valorile din lista de argumente.

Funcia COUNTIFS

Contorizeaz numrul de celule dintr-o zon


care ntrunesc mai multe criterii.

Funcia FORECAST

Contorizeaz numrul de celule ale unei zone


care corespund unui criteriu dat.
Contorizeaz numrul de celule goale dintr-o
zon.
Returneaz o valoare dintr-o tendin liniar.

Funcia EXP.DIST

Returneaz distribuia exponenial.

Funcia F.DIST
Funcia F.DIST.RT

Returneaz distribuia de probabilitate F.


Returneaz distribuia de probabilitate F.
Returneaz inversa distribuiei de probabilitate
F.
Returneaz inversa distribuiei de probabilitate
F.
Returneaz rezultatul unui test F.
Returneaz asimetria unei distribuii.
Returneaz transformarea Fisher.
Returneaz distribuia gama.
Returneaz inversa distribuiei cumulative
gama.

Funcia COUNTIF
Funcia COUNTBLANK

Funcia F.INV
Funcia F.INV.RT
Funcia F.TEST
Funcia SKEW
Funcia FISHER
Funcia GAMMA.DIST
Funcia GAMMA.INV

250

Dou ri, un scop, succes comun!

Funcie
Funcia GAMMALN
Funcia
GAMMALN.PRECISE

Descriere
Returneaz logaritmul natural al funciei gama,
(x).
Returneaz logaritmul natural al funciei gama,
(x).

Funcia FREQUENCY

Returneaz o distribuie a frecvenei ca matrice


vertical.

Funcia HARMEAN

Returneaz media armonic.

Funcia
HYPGEOM.DIST

Returneaz distribuia hipergeometric.

Funcia FISCHERINV

Returneaz inversa transformrii Fisher.

Returneaz funcia de densitate a probabilitii


cumulative beta.
Returneaz probabilitatea cu o coad a
Funcia CHISQ.DIST.RT
distribuiei hi-ptrat.
Funcia CHISQ.DIST

Funcia
CHISQ.DIST.INV
Funcia
CHISQ.DIST.INV.RT
Funcia CHISQ.TEST
Funcia SMALL
Funcia CORREL

Returneaz funcia de densitate a probabilitii


cumulative beta.
Returneaz inversa probabilitii cu o coad a
distribuiei hi-ptrat.
Returneaz testul de independen.
Returneaz a k-a valoare minim ntr-un set de
date.
Returneaz coeficientul de corelaie ntre dou
seturi de date.

Returneaz covariana, media produselor


abaterilor pereche.
Returneaz covariana eantion, media
Funcia COVARIANCE.S produselor abaterilor pentru fiecare pereche de
puncte de date din dou seturi de date.
Returneaz cuartila unui set de date, pe baza
Funcia QUARTILE.EXC
valorilor percentile din 0..1, exclusiv.
Funcia QUARTILE.INC Returneaz cuartila unui set de date.
Funcia COVARIANCE.P

251

Dou ri, un scop, succes comun!

Funcie

Descriere

Funcia LINEST

Returneaz parametrii unei tendine liniare.

Funcia LOGEST

Returneaz parametrii unei tendine


exponeniale.

Funcia
LOGNORM.DIST

Returneaz distribuia cumulativ lognormal.

Funcia LOGNORM.INV
Funcia MAX

Returneaz inversa unei distribuii cumulative


lognormale.
Returneaz valoarea maxim ntr-o list de
argumente.

Funcia MAXA

Returneaz valoarea maxim dintr-o list de


argumente, inclusiv numere, text sau valori
logice.

Funcia MEDIAN

Returneaz mediana numerelor date.

Funcia
CONFIDENCE.NORM

Returneaz intervalul de ncredere pentru o


medie a populaiei.

Returneaz intervalul de ncredere pentru o


Funcia CONFIDENCE.T medie a populaie, utiliznd o distribuie t
Student.
Funcia SLOPE

Returneaz panta unei regresii liniare.

Funcia GEOMEAN

Returneaz media geometric.

Funcia INTERCEPT

Returneaz intersecia liniei de regresie liniar.

Funcia MIN

Returneaz valoarea minim dintr-o list de


argumente.

Funcia MINA

Returneaz valoarea minim dintr-o list de


argumente, inclusiv numere, text sau valori
logice.

Funcia MODE.SNGL

Returneaz cea mai frecvent valoare dintr-un


set de date.

Funcia MODE.MULT

Returneaz o matrice vertical a valorilor care


se repet cel mai frecvent sau a valorilor
repetitive dintr-o matrice sau o zon de date.

252

Dou ri, un scop, succes comun!

Funcie
Funcia LARGE
Funcia
NEGBINOMDIST
Funcia NORM.DIST
Funcia NORM.INV
Funcia NORM.S.DIST

Descriere
Returneaz a k-a cea mai mare valoare dintr-un
set de date.
Returneaz distribuia binomial negativ.
Returneaz distribuia normal cumulativ.
Returneaz inversa distribuiei normale
cumulative.
Returneaz distribuia normal cumulativ
standard.

Funcia STANDARDIZE

Returneaz inversa distribuiei normale


cumulative standard.
Returneaz o valoare normalizat.

Funcia GROWTH

Returneaz valori dintr-o tendin exponenial.

Funcia PEARSON

Returneaz coeficientul de corelaie Pearson.

Funcia
PERCENTILE.EXC

Returneaz a k-a percentil a valorilor dintr-un


interval, unde k este n intervalul 0..1, exclusiv.

Funcia
PERCENTILIE.INC

Returneaz a k-a percentil a valorilor dintr-un


interval.

Funcia POISSON.DIST

Returneaz distribuia Poisson.


Returneaz rangul unui numr ntr-o list de
numere.

Funcia NORM.S.INV

Funcia RANK.AVG
Funcia RANK.EQ
Funcia TRIMMEAN
Funcia RSQ

Returneaz rangul unui numr ntr-o list de


numere.
Returneaz media din interiorul unui set de
date.
Returneaz ptratul coeficientului de corelaie
Pearson.

Funcia DEVSQ

Returneaz suma ptratelor abaterilor.

Funcia STEYX

Returneaz eroarea standard a valorii estimate y


pentru fiecare valoare x din regresie.

253

Dou ri, un scop, succes comun!

Funcie

Descriere

Funcia
PERCENTRANK.EXC

Returneaz rangul unei valori dintr-un set de


date ca procentaj (0..1, exclusiv) al setului de
date.

Funcia
PERCENTRANK.INC

Returneaz rangul procentual al unei valori


dintr-un set de date.

Funcia STDEV.S
Funcia STDEV.P

Estimeaz abaterea standard pe baza unui


eantion.
Calculeaz abaterea standard pe baza ntregii
populaii.

Funcia STDEVA

Estimeaz abaterea standard pe baza unui


eantion, incluznd numere, text sau valori
logice.

Funcia STDEVPA

Calculeaz abaterea standard pe baza ntregii


populaii, incluznd numere, text sau valori
logice.

Funcia T.DIST
Funcia T.DIST.2T

Returneaz punctele de procentaj


(probabilitate) pentru distribuia t Student.
Returneaz punctele de procentaj
(probabilitate) pentru distribuia t Student.

Funcia T.DIST.RT

Returneaz distribuia t Student.

Funcia T.INV

Returneaz valoarea t a distribuiei t Student ca


o funcie de probabilitate i de gradele de
libertate.

Funcia T.INV.2T

Returneaz inversul distribuiei t Student.

Funcia VAR.S

Returneaz probabilitatea asociat cu un test t


Student.
Returneaz valori dintr-o tendin liniar.
Returneaz probabilitatea ca valorile dintr-un
interval s fie ntre dou limite.
Estimeaz variana pe baza unui eantion.

Funcia VAR.P

Calculeaz variana pe baza ntregii populaii.

Funcia TTEST
Funcia TREND
Funcia PROB

254

Dou ri, un scop, succes comun!

Funcie

Descriere

Funcia VARA

Estimeaz variana pe baza unui eantion,


incluznd numere, text i valori logice.

Funcia PERMUT

Returneaz numrul de permutri pentru un


numr dat de obiecte.

Funcia VARPA

Calculeaz variana pe baza ntregii populaii,


incluznd numere, text i valori logice.

Funcia WEIBULL.DIST

Returneaz distribuia Weibull.

Funia Z.TEST

Returneaz valoarea de probabilitate cu o coad


a unui test z.

10. Funcii text

Funcie
Funcia ASC
Funcia EXACT
Funcia BAHTTEXT

Descriere
Modific literele englezeti sau katakana ale
unui ir de caractere din lime ntreag (doi
octei) n jumtate lime (un octet).
Verific dac dou valori text sunt identice.
Efectueaz conversia unui numr n text,
utiliznd formatul monetar (baht).

Funcia LEFT, LEFTB

Returneaz cele mai din stnga caractere ale


unei valori text.

Funcia
REPLACE, REPLACEB

nlocuiete caractere dintr-un text.

Funcia VALUE
Funcia FIXED
Funcia PHONETIC

Efectueaz conversia unui argument text n


numr.
Formateaz un numr ca text cu un numr fix de
zecimale.
Extrage caracterele fonetice (furigana) dintr-un
ir text.
255

Dou ri, un scop, succes comun!

Funcie
Funcia DOLLAR
Funcia SUBSTITUTE
Funcia LEN, LENB

Descriere
Efectueaz conversia unui numr n text,
utiliznd formatul monetar $ (dolar).
Enlocuiete un text vechi cu unul nou, ntr-un
ir text.
Returneaz numrul de caractere dintr-un ir
text.

Funcia JIS

Modific literele englezeti sau katakana ale


unui ir de caractere din jumtate lime (un
octet) n lime ntreag (doi octei).

Funcia RIGHT, RIGHTB

Returneaz cele mai din dreapta caractere ale


unei valori text.

Funcia CHAR
Funcia TRIM
Funcia LOWER
Funcia CODE

Returneaz caracterul specificat de codul


numeric.
Elimin spaiile din text.
Efectueaz conversia literelor unui text n litere
mici.
Returneaz un cod numeric pentru primul
caracter dintr-un ir text.

Returneaz un anumit numr de caractere dintrFuncia MID, MIDB


un ir de text ncepnd de la o poziie
specificat.
Efectueaz conversia literelor textului n
Funcia UPPER
majuscule.
Unete mai multe elemente text ntr-unul
Funcia CONCATENATE
singur.
Funcia REPT

Repet textul de un numr dat de ori.

Funcia TEXT

Formateaz un numr i l transform n text.

Funcia SEARCH,
SEARCHB

Gsete o valoare text n interiorul alteia (nu


este sensibil la caractere mari i mici).

Funcia FIND, FINDB


Funcia T
256

Gsete un text n interiorul altuia (sensibil la


caractere mari i mici).
Efectueaz conversia argumentelor n text.

Dou ri, un scop, succes comun!

Funcie

Descriere

Funcia CLEAN

Elimin din text toate caracterele care nu pot fi


imprimate.

Funcia PROPER

Scrie cu liter mare prima liter din fiecare


cuvnt al unei valori text.

11. Funcii financiare

Funcie
Funcia PRICE

Funcia PRICEMAT
Funcia PRICEDISC
Funcia IRR
Funcia VDB
Funcia COUPNCD
Funcia ODDFPRICE
Funcia ODDFYIELD
Funcia ODDLPRICE

Descriere
Returneaz preul la 100 lei valoare nominal
pentru o hrtie de valoare care pltete dobnd
periodic.
Returneaz preul la 100 lei valoare nominal
pentru o hrtie de valoare care pltete dobnd
la maturitate.
Returneaz preul la 100 lei valoare nominal
pentru o hrtie de valoare actualizat.
Returneaz rata intern de rentabilitate pentru o
serie de fluxuri de numerar.
Returneaz amortizarea unui mijloc fix pentru o
perioad specificat sau parial, utiliznd
metoda amortizrii regresive
Returneaz data urmtoare a cuponului de dup
data de decontare.
Returneaz preul la 100 lei valoare nominal
pentru o hrtie de valoare care are prima
perioad anormal.
Returneaz randamentul unei hrtii de valoare
care are prima perioad anormal.
Returneaz preul la 100 lei valoare nominal
pentru o hrtie de valoare care are ultima
perioad anormal

257

Dou ri, un scop, succes comun!

Funcie
Funcia ODDLYIELD
Funcia AMORLINC
Funcia AMORDEGRC
Funcia SYD
Funcia DOLLARDE

Funcia DOLLARFR
Funcia YIELD
Funcia YIELDMAT
Funcia YIELDDISC
Funcia ACCRINT
Funcia FB
Funcia DURATION
Funcia INTRATE
Funcia RECEIVED
Funcia DB

258

Descriere
Returneaz randamentul unei hrtii de valoare
care are ultima perioad anormal.
Returneaz amortizarea pentru fiecare exerciiu
financiar.
Returneaz amortizarea pentru fiecare exerciiu
financiar utiliznd o rat de amortizare.
Returneaz amortizarea prin nsumarea anilor a
unui mijloc fix pentru o perioad specificat.
Efectueaz conversia unei valori n dolari,
exprimat ca fracie, ntr-o valoare n dolari
exprimat ca numr zecimal.
Efectueaz conversia unei valori n dolari,
exprimat ca numr zecimal, ntr-o valoare n
dolari exprimat ca fracie.
Returneaz randamentul unei hrtii de valoare
care pltete dobnd periodic.
Returneaz randamentul anual al unei hrtii de
valoare care pltete dobnd la maturitate.
Returneaz randamentul unei hrtii de valoare
actualizate, de exemplu, un bon de tezaur.
Returneaz dobnda cumulat pentru o hrtie
de valoare care pltete dobnzi periodice.
Returneaz valoarea viitoare a unei investiii.
Returneaz durata n ani a unei hrtii de valoare
cu dobnd periodic.
Returneaz rata dobnzii pentru o hrtie de
valoare complet investit.
Returneaz suma primit la maturitate pentru o
hrtie de valoare integral investit
Returneaz amortizarea unui mijloc fix pentru o
perioad specificat, utiliznd metoda
amortizrii regresive fixe.

Dou ri, un scop, succes comun!

Funcie
Funcia DDB

Funcia FVSCHEDULE
Funcia TBILLPRICE
Funcia TBILLEQ
Funcia TBILLYIELD
Funcia SLN
Funcia ACCRINTM
Funcia DISC
Funcia ISPMT
Funcia PV
Funcia MIRR

Funcia MDURATION
Funcia NOMINAL
Funcia NPV
Funcia CUMIPMT
Funcia CUMPRINC

Descriere
Returneaz amortizarea unui mijloc fix pentru o
perioad specificat, utiliznd metoda
amortizrii dublu-regresive sau alt metod
specificat.
Returneaz valoarea viitoare a unui capital
iniial dup aplicarea unei serii de rate de
dobnzi compuse.
Returneaz preul la 100 lei valoare nominal
pentru un bon de tezaur.
Returneaz rentabilitatea n echivalent-bond
pentru un bon de tezaur.
Returneaz randamentul unui bon de tezaur.
Returneaz amortizarea liniar a unui mijloc fix
pentru o perioad.
Returneaz dobnda cumulat pentru o hrtie
de valoare care pltete dobnd la scaden.
Returneaz rata de scont pentru o hrtie de
valoare.
Calculeaz dobnda pltit pe parcursul unei
perioade specificate a unei investiii.
Returneaz valoarea actual a unei investiii.
Returneaz rata intern de rentabilitate pentru o
serie de fluxuri de numerar pozitive i negative
finanate la diferite rate.
Returneaz durata Macauley modificat pentru
o hrtie de valoare cu valoare nominal
presupus de 100 lei.
Returneaz rata nominal anual a dobnzii.
Returneaz valoarea net actual a unei
investiii bazat pe o serie de fluxuri de
numerar periodice i a unei rate de scont.
Returneaz dobnda acumulat pltit ntre
dou perioade.
Returneaz capitalul cumulativ pltit la un
mprumut, ntre dou perioade.
259

Dou ri, un scop, succes comun!

Funcie
Funcia NPER
Funcia PPMT
Funcia RATE
Funcia PMT
Funcia IPMT
Funcia COUPDAYS
Funcia COUPDAYSBS
Funcia COUPDAYSNC
Funcia COUPNUM
Funcia EFFECT
Funcia COUPPCD
Funcia XIRR

Funcia XNPV

260

Descriere
Returneaz numrul de perioade pentru o
investiie.
Returneaz plata de capital pentru o investiie
pe o perioad dat.
Returneaz rata dobnzii pentru o perioad de
anuitate.
Returneaz plata periodic pentru o anuitate.
Returneaz dobnda de plat pentru o investiie
pentru o perioad dat.
Returneaz numrul de zile ale perioadei
cuponului care conine data de decontare.
Returneaz numrul de zile de la nceputul
perioadei cuponului pn la data de decontare.
Returneaz numrul de zile de la data de
decontare pn la data urmtoare a cuponului.
Returneaz numrul de cupoane de plat ntre
data de decontare i data maturitii.
Returneaz rata efectiv a dobnzii anuale.
Returneaz data anterioar a cuponului, nainte
de data de decontare.
Returneaz rata intern de rentabilitate pentru
un grafic de flux de numerar care nu este
neaprat periodic.
Returneaz valoarea actual net pentru un
grafic de flux de numerar care nu este neaprat
periodic.

Dou ri, un scop, succes comun!

Universitatea din Debrecen


Facultatea de Economie Aplicate i Dezvoltare Rural
HU 4032 Debrecen, Bszrmnyi t 138.
Telefon: +36-52-508304
Fax: +36-52-486298
www.agr.unideb.hu/karok/gvk

Universitatea Cretin Partium


Facultatea de tiine Economice
RO 410209 Oradea, Str. Primriei Nr. 36
Tel./Fax: +40-259-418244
http://www.partium.ro/

Universitatea din Oradea


Facultatea de tiine Economice
RO Oradea, Str. Universitatii Nr. 1
Tel./Fax: +40-259-408111
http://www.uoradea.ro/

Coninutul acestui material nu reprezint n mod necesar poziia oficial a


Uniunii Europene.

www.hungary-romania-cbc.eu
247

S-ar putea să vă placă și