Am ramas datoare cu o ultima postare pentru interogarea tabelelor de date. Asa cum v-am promis voi prezenta functia INDEX care este favorita mea pe parte de functii Lookup. Este preferata mea pentru ca pot cauta cum vreau eu si in plus pot cauta avand mai multe conditii :D.
- Functia INDEX – se foloseste pentru a returna o valoare dintr-un tabel in functie de coloana si randul la care se gaseste acea valoare. Sintaxa acestei functii este urmatoarea: INDEX(array,row_num,column_num)
- Array – reprezinta tabelul din care dorim ca functia sa ne returneze rezultatul. Un mic sfat ar fi sa faceti referinta regiunea de celule daca doriti sa copiati formula si in alte celule.
- Row_num – reprezinta numarul randului din care dorim sa fie adusa valoarea. Daca row_num este omis atunci column_num este obligatoriu. Tot in acest caz, functia index nu va returna doar o valoare ci va returna toate valorile din coloana respectiva.
- Column_num – reprezinta numarul coloanei din care se va aduce valoarea dorita. La fel ca la mai sus, daca column_num este omis, row_num este obligatoriu.
Cea mai usoara utilizarea a functiei INDEX este atunci cand cunoastem numarul randului si coloanei, dar de cele mai multe ori interogarile se fac in tabele care sunt destul de mari. In acest caz, numarul randului sau al coloanei nu se cunoaste. La fel ca in postarea anterioara, pentru a afla aceste necunoscute folosim functia MATCH.
Pentru a intelege mai bine cum putem folosi INDEX, am creat un tabel in care avem urmatoarele coloane: Cod produs, Denumire produs si stocul existent in Depozit si Magazin:
In primul exemplu folosim INDEX si MATCH pentru a afla stocul din Depozit pentru un produs care este variabil. Sintaxa formulei folosite este urmatoarea: =INDEX($A$2:$D$6,MATCH(G3,$B$2:$B$6,0),3).
- Selectam celula in care dorim sa aflam stocul existent in Depozit pentru produsul Pix negru;
- Scriem =Index(
- Alegem tabelul care contine valoarea pe care dorim sa o aflam. In cazul nostru, acest tabel este reprezentat de zona A2:D6 pe care am facut-o referinta.
- Acum ar trebui sa scriem numarul randului unde se afla produsul pentru care dorim sa stim stocul. Pentru a afla randul unde se afla produsul Pix negru folosim functia MATCH. Scriem match(.
- Alegem celula in care scriem produsul pentru care dorim sa aflam stocul. In cazul nostru aceasta este celula G3.
- Alegem coloana Denumire Produs din tabelul initial. Atentie daca tabelul nu incepe de la primul rand al sheet-ului nu trebuie sa selectati toata coloana ci selectati doar de unde incepe tabelul si cum am mai spus apasati F4 pentru a face selectia referinta. In exemplul nostru, coloana selectata este $B$2:$B$6.
- Urmeaza argumentul logic al functiei match si scriem 0 deoarece dorim o cautare exacta. Si cu acest argument am incheiat functia match.
- Am ajuns la ultimul argument al functiei index si scriem numarul coloanei in care sunt trecute stocurile care sunt in Depozit in tabelul nostru.
- Apasam ENTER.
Daca dorim sa fie variabila si locatia pentru care dorim sa aflam stocul, putem sa inlocuiem ultimul argument al functiei INDEX (numarul coloanei) tot cu functia match. Formula noua va avea urmatoarea sintaxa: =INDEX($A$2:$D$6,MATCH(G6,$B$2:$B$6,0),MATCH(F6,$A$2:$D$2,0))
La inceputul postarii v-am spus ca imi place cel mai mult index pentru ca o pot folosi sa gasesc o valoare intr-un tabel in functie de doua sau mai multe conditii. Pentru a va putea arata cum se construieste aceasta formula am prelucrat un pic tabelul initial. Asa arata noul tabel:
In acest exemplu dorim sa aflam stocul pentru Textmarker rosu aflat in Depozit. Sitnaxa pentru aceasta formuala este urmatoarea: =INDEX($D$2:$D$10,MATCH(1,(F3=$C$2:$C$10)*(G3=B2:B10),0))
- Selectam celula in care dorim sa aflam stocul;
- Scriem =index(
- Acum ar fi trebui sa alegem tot tabelul de unde vroiam sa fie adusa valoarea dorita. In aceasta varianta a formulei trebuie sa selectam doar coloana de unde dorim sa fie adusa valoarea. In cazul nostru aceasta este zona de celule D2:D10.
- Pentru a cauta dupa mai multe criterii folosim o alta varianta a functiei match. Scriem match(1.
- In acest argument al functiei match introducem cele doua conditii. Intre doua paranteze introducem prima conditie. Alegem celula unde vom scrie locatia pentru care dorim sa alegem stocul, scriem = si apoi alegem coloana Locatia din tabelul de date. Scriem * si intre alte doua paranteze completam a doua conditie dupa acelasi model ca la prima conditie. Daca avem mai mult de doua conditii continuam cu insiruirea lor dupa acelasi model.
- Acum trecem argumentul logic al functiei match si scriem 0 pentru ca dorim o cautare exacta.
- Acum ar trebui sa apasam ENTER dar aceasta functie este de tip array si pentru finalizarea formulei apasam CTRL + SHIFT + ENTER.
Daca doriti sa intelegeti mai bine acest exemplu puteti sa downloadati fisierul cu aceste exemple la urmatorul link: Lookup_Index.xls.
3 thoughts on “Utilizarea functiilor LOOKUP pentru interogarea tabelelor de date – INDEX”