Sunteți pe pagina 1din 3

REZOLVARE SEMINAR 3

1) Campurile Tip avion si Nr locuri avion vor fi recuperate prin consultare


orizontala in functie de Indicativ avion, asupra caruia tb sa opereze toate
categoriile de teste
Etape de rezolvare:
a. sortarea tabelului AVIOANE
selectie I19:L21(fara prima coloana)
data-sort-options-sort left to right
b. denumire table
insert-name-define- AVIOANE
c. aplicare fct HLOOKUP
1. simpla (fara teste) =HLOOKUP(C2;AVIOANE;2)
Unde: avioane este $I$10:$L$21
2. compusa (cu teste)
=IF (OR(ISBLANK($C$2); ISNUMBER($C$2)); EROARE;
Test de vid test numeric
IF($C$2=HLOOKUP($C$2;AVIOANE;1);
Test de existenta
HLOOKUP($C$2;AVIOANE;2);Indicativ avion inexistent))
Pentru C8 se copiaza formula de la C3 si se inlocuieste 2 cu 3
2) Destinatia, Ora programata plecare si Ora programata sosire vor fi
recuperate prin consultare verticala, in functie de Indicativ cursa
Etape de rezolvare:
a. sortare de sus in jos
- selectii A19:F23
- Data Sort Options - Sort top to bottom
b. denumire Insert Name Define CURSE
c. pentru DESTINATIA celula C4
= IF (OR(ISBLANK($C$1); ISNUMBER ($C$1)); Eroare; IF ($C$1<>
VLOOKUP($C$1;CURSE;1);Cursa inexistenta;
VLOOKUP($C$1;CURSE;2)))
3) Varsta se calculeaza in ani, prin aplicarea unei functii de rotunjire
= (TODAY ( ) E11)/360

4) Pretul biletelor se recupereaza in functie de categoria biletelor si de


Indicativul cursei
= IF (D11=A; VLOOKUP($C$1;CURSE;5); VLOOKUP($C$1;CURSE;6))
Categ bilet conditie de adevar cond. de fals
5) Sa se calculeze reducerea acordata stiind ca aceasta se determina
diferentiat, in functie de varsta, astfel:
* daca varsta este <= 10 ani si >= 60 ani -> reducerea este de 20%
din pretul biletelor
* daca varsta este <= 25ani -> reducerea este de 15% din pretul
biletelor
* daca varsta este > 25ani si < 60 -> reducerea este de 10% din
pretul biletelor
Obs: Pt cetatenii romani se acorda o reducere suplimentara de 2 %
DEFINIREA FUNCTIEI PROPRII

TOOLS MACRO VB EDITOR


INSERT MODULE
Codificam varsta=v; pret=p; cetatenia=c
Function reducere (v,p,c)
If c=romana then
If v<=10 then
Reducere = p*20/100 +p*2/100
Elseif v<=25 then
Reducere= p*15/100+p*2/100
Elseif v<=60 then
Reducere= p*10/100+p*2/100
Else
Reducere= p*20/100+p*2/100
Endif
If v<=10 then
Reducere=p*20/100
Elseif v<=25 then
Reducere= p*15/100
Elseif v<=60 then

Reducere= p*10/100
Else
Reducere= p*20/100
Endif
Endif
End function.
Aplicarea functiei proprii
- revenire (alt+q) sau file close and return to msexcel
- cursorul pe h11
- insert function sau fx
- user defined reducere
- v=F11
- p=G11
- c=C11

S-ar putea să vă placă și