Exemplu de utilizare a functiei VLOOKUP
Se da o baza de date ce contine informatii primare referitoare la angajatii unei companii. Informatiile trebuie utilizate pentru completarea automata a unei Fise periodice de evaluare, in functie de Nume si prenume salariat. Grila de evaluare este disponibila in foaia de lucru grila evaluare.
Numele si prenumele salariatului pentru care trebuie completata Fisa de evaluare este ales dintr-o lista, construita cu ajutorul unei validari simple (Vezi si articolul Cum se valideaza in Excel datele dupa o lista predefinita (2)).
Pentru completarea formularului, vom utiliza functia VLOOKUP, cu urmatoarea sintaxa:
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
Argumentele functiei VLOOKUP:
- lookup_value este valoarea catre trebuie cautata in baza de date de angajati (din worksheet-ul BD angajati)
- lookup_value poate fi referinta la o celula, o valoare (numerica, text – in cel din urma caz textul trebuie marcat intre ghilimele) sau rezultatul altei functii
- table_array este tabelul (baza de date) unde este cautata valoarea reprezentata de lookup_value
- cautarea se face prin definitie in prima coloana a bazei de date identificate de table_array ca grup de celule
- de exemplu, daca table_array este intervalul de celule A2:B6 si lookup_value este 2, functia VLOOKUP va cauta valoarea 2 in intervalul de celule A2:A6
- col_index_num este indicativul coloanei de pe care functia VLOOKUP intoarce rezultatul si se identifica printr-un numar (1, 2, etc.)
- valoarea lui col_index_num trebuie sa fie mai mica sau egala cu numarul de coloane al bazei de date identificate prin table_array
- range_lookup este un argument optional si poate lua valoarea TRUE (1) sau FALSE (0), astfel:
- TRUE – cauta cea mai apropiata valoare de lookup_value dar mai mica decat aceasta
- FALSE – cauta exact valoarea identificata prin lookup_value
- in cazul in care argumentul range_lookup este omis, acesta este automat considerat ca fiind TRUE
- functia VLOOKUP cu argumentul TRUE intoarce rezultate corecte doar daca baza de date in care se cauta (table_array) este sortata (crescator/descrescator, in functie de necesitati) dupa prima coloana (cea in care este cautata lookup_value)
In cazul in care valoarea cautata nu este gasita in prima coloana din baza de date, functia VLOOKUP intoarce rezultatul #N/A.
Remember! Pentru versiunea localizata in limba romana, argumentele functiei sunt despartite de punct si virgula (;).
PASUL 1
In worksheet-ul Fisa evaluare, alegeti din lista numele si prenumele angajatului.
Utilizati functia VLOOKUP pentru completarea celulei B7:
=VLOOKUP(B$6,’BD angajati’!$A$1:$O$25,2,FALSE)
care se citeste astfel:
Se cauta valoarea din B6 pe prima coloana din tabelul A1:M25 din worksheet-ul BD angajati si, acolo unde este gasita (prima ocurenta!), intoarce valoarea de pe acelasi rand dar din a doua coloana a tabelului. Cautarea se face exact (argumentul range_lookup este FALSE).
Tips:
– cand trebuie sa introduceti table_array in functie, dati pur si simplu click pe worksheet-ul BD angajati si selectati tabelul; scrieti apoi separatorul de argument (,) si apoi completati in continuare functia
– se observa ca referinta la tabel este “inghetata” (semnul dolar pus in fata indicativelor de rand, respectiv coloana), la fel si indicativul de rand al valorii de cautat – puteti copia astfel formula mai jos fara a modifica referinta la celule; pentru completarea celorlalte campuri din FISA DE EVALUARE, va trebui sa modificati apoi doar col_index_num
PASUL 2
Copiati formula si in celulele B8, B9, B10, B12 si B13 si modificati in fiecare din ele valoarea col_index_num.
PASUL 3
Pentru completarea celulei B14:
- analizati mai intai grila de evaluare (din worksheet-ul grila evaluare)
- rezultat nesatisfacator – orice punctaj mai mic de 45
- rezultat satisfacator – punctaj mai mare sau egal cu 45 si mai mic de 70
- rezultat bun – punctaj mai mare sau egal cu 70 si mai mic de 85
- rezultat foarte bun – orice punctaj mai mare sau egal cu 85
Utilizati functia VLOOKUP cu range_lookup = TRUE pentru a completa calificativul (celula B14 din worksheetul Fisa evaluare).
=VLOOKUP(B13,’grila evaluare’!A3:B7,2,TRUE)
care se citeste astfel:
Cauta pe prima coloana din tabelul A3:B7 din worksheet-ul grila evaluare cea mai apropiata valoare de rezultatul inscris in B13, DAR mai mica decat B13, si intoarce valoarea de pe acelasi rand, dar de pe coloana 2 din tabelul respectiv
Va invit sa refaceti exercitiul, utilizand fisierul de lucru de mai jos. Spor la treaba!