sâmbătă, 24 septembrie 2011

VLOOKUP - si cautarile nu vor mai fi la fel...

Daca ar fi trebui sa pastrez o singura formula in Excel, atunci VLOOKUP() ar fi aceea.
Odata stapanita aceasta formula lucrul cu mai multe tabele se va simplifica iar productivitatea va creste simtitor.

Fara prea multa teorie, voi incerca sa prezint utilitatea acestei formule pe baza unui exemplu (fictiv).


Date de intrare

Sa presupunem ca am o baza de date cu 500 de clienti de forma:
Denumire client Judet Domeniu de activitate








In acelasi timp am o lista cu vanzarile realizate spre cei 500 de clienti in ultimii 5 ani. In total peste 60 000 de inregistrari sub forma:
Denumire client Data tranzactiei Valoarea tranzactiei







Cerinta

“Care este situatia vanzarilor in fiecare judet, cu detaliu pe domenii de activitate ?”

Termen
Pana maine dimineata, daca se poate!

Rezolvare
Evident aceasta cerinta impune combinarea informatiilor din cele doua tabele astfel incat sa ajungem la o lista de tipul:
Denumire client Data tranzactiei Valoarea tranzactiei Judet Domeniu de activitate










Cu o astfel de lista, datele pot fi regrupate pentru obtinerea rezultatelor cerute.

Insa cum sa combinam cele doua tabele?

In era pre-excel
Inainte sa cunosc Excelul as fi facut ochii cat cepele in prima faza.
Apoi mi-as fi “suflecat manecile” si as fi inceput foarte constiincios sa adaug celor peste 60000 de inregistrari detaliile legate de judet si domeniu de activitate pentru cei 500 de clienti.
Probabil ca dupa vreo saptamana m-as fi apropiat de final... insa termenul de “pana maine dimineata” ar fi fost depasit iar raportul n-ar mai fi avut nici o valoare.

Acum ca avem Excelul, avem VLOOKUP
Vestea foarte buna este ca in astfel de situatii nu e nevoie sa ne “suflecam manecile”: Excelul (sau orice alt program de calcul tabelar) ne pune la dispozitie functia VLOOKUP pentru a ne ajuta in astfel de situatii extreme.

Cu VLOOKUP ii pot spune Excelului :

“Pentru fiecare inregistrare din lista de tranzactii cauta-mi denumirea clientului in baza de date cu clienti si adu-mi de acolo judetul si domeniul de activitate al clientului”

Foarte constiincios, Excelul se va ocupa de acesta cerinta in mai putin de 30 de secunde pentru toate cele peste 60000 de inregistrari. 
Apoi imi va ramane doar sa regrupez datele in functie de cerinta si sa trimit raportul : maxim 1 ora de lucru. Pentru detalii, vezi fisierul atasat acestui articol.


Cum functioneaza VLOOKUP?
Sintaxa acestei functii este urmatoarea (denumirea argumentelor poate varia in functie de programul utilizat, insa ordinea e aceeasi):

VLOOKUP(lookup value, array, index column, aproximative match)

adica:
  • lookup value = valoare dupa care se realizeaza cautarea
  • array = tabelul in care vrei sa faci cautarea
  • index column = pe ce coloana din tabel (array) se afla valoarea cautata
  • aproximative match = se accepta doar potriviri exacte sau si asemanari (pt Excel “Client 11” poate fi asemanator cu “Client 10”). Aici se poate trece 0 sau 1

Pas cu pas in exempul nostru:
  • lookup value = Denumirea clientului, din lista de tranzactii
  • array = Baza de date clienti unde am judetul si domeniul de activitate
  • index column = in exemplul dat cautam doua informatii legate de un client : judetul, care se afla pe coloana 3 si domeniul de activitate care se afla pe coloana 4 din baza de date clienti
  • aproximative match = nu, vrem sa gaseasca clientii in mod corect.

Cateva note legate de VLOOKUP:
  1. Valoarea dupa care se realizeaza cautarea trebuie sa fie pe prima coloana din tabelul in care se face cautarea. In caz contrar nu va functiona
  2. Numarul coloanei pe care se afla rezultatul cautat (judetul, in exemplul nostru) este relativ la tabelul selectat. Adica daca selectez tabelul “B1:D3000” si informatia pe care o caut se afla pe coloana D, atunci index column va fi 3. De ce ? Pai coloana B = prima coloana din tabelul selectat, C= a doua si D = a treia coloana.
  3. Pentru ultimul argument “aproximative match” , eu am folosit 0 in 99% din cazuri.
Aici puteti descarca fisierul care simuleaza exemplul pe care l-am prezentat mai sus , inclusiv aplicarea formulei VLOOKUP.


Pentru intrebari/ sugestii ma puteti contacta pe Facebook sau lasand comentarii pe acest blog.

Niciun comentariu:

Trimiteți un comentariu