Funcția VLOOKUP

Se aplică la
Excel pentru Microsoft 365 Excel pentru Microsoft 365 pentru Mac Excel 2024 Excel 2024 pentru Mac Excel 2021 Excel 2021 pentru Mac Excel 2019 Excel 2016

Sfat

Încercați să utilizați noua funcție XLOOKUP , o versiune îmbunătățită de VLOOKUP, care funcționează în orice direcție și returnează potriviri exacte în mod implicit, făcând-o mai ușor și mai convenabil de utilizat decât predecesoarea sa.

Utilizați VLOOKUP atunci când trebuie să găsiți ceva într-un tabel sau într-o zonă, pe un rând. De exemplu, căutați prețul unei piese auto după codul produsului sau găsiți numele unui angajat pe baza ID-ului său de angajat.

În forma sa cea mai simplă, funcția VLOOKUP spune:

= VLOOKUP(Ce doriți să căutați, unde doriți să căutați, numărul coloanei din zona care conține valoarea de returnat, returnează o potrivire aproximativă sau exactă - indicată ca 1/TRUE sau 0/FALSE).

Sfat

  • Secretul pentru VLOOKUP este să vă organizați datele astfel încât valoarea pe care o căutați (Fruct) să fie în partea stângă a valorii returnate (Volum) pe care doriți să o găsiți.
  • Dacă sunteți abonat Microsoft Copilot, Copilot poate simplifica inserarea și utilizarea funcțiilor VLookup sau XLookup. Vedeți Copilot facilitează căutările în Excel.

Detalii tehnice

Utilizați funcția VLOOKUP pentru a căuta o valoare într-un tabel.

Sintaxă

VLOOKUP(valoare_căutare, matrice_tabel, num_index_col, [căutare_zonă])

De exemplu:

  • =VLOOKUP(A2,A10:C20,2,TRUE)
  • =VLOOKUP("Munteanu",B2:E7,2,FALSE)
  • =VLOOKUP(A2,'Client Details'! A:F,3,FALSE)
Nume argument Descriere
valoare_căutare (obligatoriu) Valoarea pe care doriți să o căutați. Valoarea pe care doriți să o căutați trebuie să fie în prima coloană a zonei de celule pe care o specificați în argumentul table_array .
De exemplu, dacă matricea de tabel se întinde pe celulele B2:D7, atunci lookup_value trebuie să fie în coloana B.
Lookup_value poate fi o valoare sau o referință la o celulă.
matrice_tabel (obligatorie) Zona de celule în care va căuta VLOOKUP lookup_value și valoarea returnată. Puteți utiliza o zonă denumită sau un tabel și puteți utiliza nume în argumente în locul referințelor la celule.
Prima coloană din zona de celule trebuie să conțină lookup_value. Zona de celule trebuie să includă și valoarea returnată pe care doriți să o găsiți.
Aflați cum să selectați zone într-o foaie de lucru.
num_index_col (obligatoriu) Numărul coloanei (începând cu 1 pentru coloana din extrema stângă a table_array) care conține valoarea returnată.
zonă_căutare(opțional) O valoare logică, care specifică dacă doriți ca VLOOKUP să caute o potrivire exactă sau o potrivire aproximativă:
  • Potrivire aproximativă - 1/TRUE presupune că prima coloană din tabel este sortată numeric sau alfabetic și va căuta valoarea cea mai apropiată. Aceasta este metoda implicită dacă nu specificați alta. De exemplu, =VLOOKUP(90,A1:B100,2,TRUE).
  • Potrivire exactă - 0/FALSE caută valoarea exactă din prima coloană. De exemplu, =VLOOKUP("Smith",A1:B100,2,FALSE).

Cum începeți

Există patru informații de care aveți nevoie pentru a construi sintaxa VLOOKUP:

  1. Valoarea pe care doriți să o căutați, numită și valoare de căutare.
  2. Zona în care se află valoarea de căutare. Rețineți că valoarea de căutare trebuie să fie întotdeauna în prima coloană din zonă pentru ca VLOOKUP să funcționeze corect. De exemplu, dacă valoarea de căutare se află în celula C2, zona trebuie să înceapă cu C.
  3. Numărul coloanei din zona care conține valoarea returnată. De exemplu, dacă specificați B2:D11 ca zonă, trebuie să considerați că B este prima coloană, C a doua și așa mai departe.
  4. Opțional, puteți specifica TRUE dacă doriți o potrivire aproximativă sau FALSE dacă doriți o potrivire exactă a valorii returnate. Dacă nu faceți nicio specificare, valoarea implicită va fi întotdeauna TRUE sau potrivire aproximativă.

Acum alăturați toate elementele de mai sus, după cum urmează:

= VLOOKUP(valoarea de căutare, zona care conține valoarea de căutare, numărul coloanei din zona care conține valoarea returnată, potrivire aproximativă (TRUE) sau potrivire exactă (FALSE)).

Exemple

Iată câteva exemple pentru VLOOKUP:

Exemplul 1

=VLOOKUP (B3,B2:E7,2,FALSE) VLOOKUP îl caută pe Munteanu în prima coloană (coloana B) din table_array B2:E7 și îl returnează pe Munteanu din a doua coloană (coloana C) a table_array. False returnează o potrivire exactă.

Exemplul 2

=VLOOKUP(102,A2:C7,2,FALSE) VLOOKUP caută o potrivire exactă (FALSE) a numelui de familie pentru 102 (lookup_value) din a doua coloană (coloana B) din zona A2:C7 și returnează Munteanu.

Exemplul 3

=IF(VLOOKUP(103,A1:E7,2,FALSE)=Souse,Localizat,Negăsit) IF verifică dacă VLOOKUP returnează Sousa ca nume de familie al angajatului, corespunzând cu 103 (lookup_value) în A1:E7 (table_array). Deoarece numele de familie corespunzător pentru 103 este Preda, condiția IF este falsă și se afișează Negăsit.

Exemplul 4

=INT(YEARFRAC(DATE(2014;6;30);VLOOKUP(105;A2:E7;5;FLASE);1)) VLOOKUP caută data nașterii angajatului care corespunde valorii 109 (lookup_value) în intervalul A2:E7 (table_array) și returnează 04.03.1955. Apoi, YEARFRAC scade această dată de naștere din 30.06.2014 și returnează o valoare, care este apoi convertită de INY în întregul 59.

Exemplul 5

IF(ISNA(VLOOKUP(105,A2:E7,2,FLASE))=TRUE,Angajat negăsit,VLOOKUP(105,A2:E7,2,FALSE)) IF verifică dacă VLOOKUP returnează o valoare pentru numele de familie din coloana B pentru 105 (lookup_value). Dacă VLOOKUP găsește un nume de familie, atunci IF va afișa numele de familie, altfel, IF returnează Angajat negăsit. ISNA se asigură că, dacă VLOOKUP returnează #N/A, eroarea este înlocuită de Angajat negăsit, în loc de #N/A. În acest exemplu, valoarea returnată este Burke, care este numele de familie corespunzător pentru 105.

Probleme comune

Problemă Ce nu a funcționat
Valoarea greșită returnată Dacă range_lookup este TRUE sau omisă, prima coloană trebuie sortată în ordine alfabetică sau numerică. Dacă prima coloană nu este sortată, valoarea returnată poate fi una la care nu vă așteptați. Sortați prima coloană sau utilizați FALSE pentru o potrivire exactă.
#N/A în celulă
  • Dacă range_lookup este TRUE, dacă valoarea din lookup_value este mai mică decât cea mai mică valoare din prima coloană a table_array, veți obține valoarea de eroare #N/A.
  • Dacă range_lookup este FALSE, valoarea de eroare #N/A indică faptul că numărul exact nu este găsit.
Pentru mai multe informații despre rezolvarea erorilor #N/A în VLOOKUP, consultați Cum să remediați o eroare #N/A în funcția VLOOKUP.
#REF! în celulă Dacă col_index_num este mai mare decât numărul de coloane din matrice-tabel, veți obține #REF! .
Pentru mai multe informații despre rezolvarea #REF! în VLOOKUP, consultați Cum să remediați o eroare #REF!.
#VALUE! în celulă Dacă table_array este mai mic decât 1, veți primi #VALUE! .
Pentru mai multe informații despre rezolvarea erorilor #VALUE! în VLOOKUP, consultați Cum să remediați o eroare #VALUE! în funcția VLOOKUP.
#NAME? în celulă #NAME? înseamnă, de obicei, că lipsesc ghilimelele din formulă. Pentru a căuta numele unei persoane, aveți grijă ca în formulă să încadrați numele între ghilimele. De exemplu, introduceți numele ca "Munteanu" în = VLOOKUP("Munteanu",B2:E7,2,FALSE).
Pentru informații suplimentare, consultați Cum să remediați o eroare #NAME!.
#VĂRSARE! în celulă Această eroare #SPILL! înseamnă, de obicei, că formula se bazează pe intersecția implicită pentru valoarea de căutare și utilizează o coloană întreagă ca referință. De exemplu, = VLOOKUP( A:A,A:C,2,FALSE). Puteți rezolva problema ancorând referința de căutare cu operatorul @ astfel: =VLOOKUP(@A:A,A:C,2,FALSE). Alternativ, puteți să utilizați metoda tradițională VLOOKUP și să faceți referire la o singură celulă în loc de o coloană întreagă: =VLOOKUP(A2,A:C,2,FALSE).

Exemple de bună practică

Procedați astfel De ce?
Utilizați referințe absolute pentru range_lookup Utilizarea de referințe absolute vă permite să completați în jos o formulă, astfel încât să caute întotdeauna în exact aceeași zonă de căutare.
Aflați cum să utilizați referințe absolute la celule.
Nu stocați valori număr sau dată calendaristică sub formă de text. Atunci când se caută valori numerice sau date, asigurați-vă că datele din prima coloană a table_array nu sunt stocate ca valori text. Altfel, VLOOKUP poate returna o valoare incorectă sau neașteptată.
Sortați prima coloană Sortați prima coloană a table_array înainte să utilizați VLOOKUP atunci când range_lookup este TRUE.
Utilizați caractere wildcard Dacă range_lookup este FALSE și lookup_value este text, puteți utiliza metacaractere în lookup_value, cum ar fi semnul de întrebare (?) și asteriscul (*). Un semn de întrebare se potrivește cu orice caracter unic. Asteriscul se potrivește cu orice secvență de caractere. Dacă doriți să găsiți un semn de întrebare sau un asterisc, tastați tilda (~) în fața caracterului.
De exemplu, =VLOOKUP("Fontan?",B2:E7,2,FALSE) va căuta toate instanțele numelui Munteanu cu o ultimă literă care poate varia.
Asigurați-vă că datele dvs. nu conțin caractere greșite. Când se caută valori text în prima coloană, asigurați-vă că datele din prima coloană nu conțin spații la început, spații la sfârșit, utilizări neuniforme ale apostrofului sau ghilimelelor drepte ( ' sau " ), ori ghilimele curbate ( ' sau " ) sau caractere neimprimabile. În aceste cazuri, VLOOKUP poate returna o valoare neașteptată.
Pentru a obține rezultate corecte, încercați să utilizați funcția CLEAN sau funcția TRIM pentru a elimina spațiile aflate după valorile din celulele tabelului.

Aveți nevoie de ajutor suplimentar?

Puteți oricând să întrebați un expert de la Excel Tech Community sau să obțineți asistență de la Comunități.