Cuprins
Tutorialul arată cum se combină V LOOKUP și funcția IF împreună pentru a v-lookup cu condiția if în Excel. Veți învăța, de asemenea, cum să utilizați formulele IF ISNA VLOOKUP pentru a înlocui erorile #N/A cu propriul text, zero sau celulă goală.
În timp ce funcțiile VLOOKUP și IF sunt utile de sine stătător, împreună oferă experiențe și mai valoroase. Acest tutorial presupune că vă amintiți bine sintaxa celor două funcții, în caz contrar, este posibil să doriți să vă îmbunătățiți cunoștințele urmând link-urile de mai sus.
Vlookup cu instrucțiunea If: returnează True/False, Yes/No, etc.
Unul dintre cele mai frecvente scenarii în care se combină If și Vlookup împreună este compararea valorii returnate de Vlookup cu o valoare de probă și returnarea Da / Nu sau Adevărat / Fals ca rezultat.
În cele mai multe cazuri, următoarea formulă generică ar funcționa foarte bine:
IF(VLOOKUP(...) = valoare , TRUE, FALSE)Tradusă în engleză simplă, formula îi ordonă lui Excel să returneze Adevărat dacă Vlookup este adevărat (adică egal cu valoarea specificată). Dacă Vlookup este fals (nu este egal cu valoarea specificată), formula returnează Fals .
Mai jos veți găsi câteva utilizări reale ale acestei formule IF Vlookup.
Exemplu 1. Căutați o anumită valoare
Să presupunem că aveți o listă de articole în coloana A și cantitatea în coloana B. Creați un tablou de bord pentru utilizatorii dvs. și aveți nevoie de o formulă care să verifice cantitatea pentru un articol din E1 și să informeze utilizatorul dacă articolul este în stoc sau epuizat.
Cantitatea se extrage cu un Vlookup obișnuit cu o formulă de potrivire exactă ca aceasta:
=VLOOKUP(E1,$A$2:$B$10,2,FALSE)
Apoi, scrieți o instrucțiune IF care compară rezultatul Vlookup cu zero și returnează "Nu" dacă este egal cu 0, "Da" în caz contrar:
=IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0, "Nu", "Da")
În loc de Da/Nu , vă puteți întoarce ADEVĂRAT/FALSE sau În stoc / Vândut sau orice alte două opțiuni, de exemplu:
=IF(VLOOKUP(E1,$A$2:$B$10,2)=0, "Sold out", "In stock")
De asemenea, puteți compara valoarea returnată de Vlookup cu eșantionul text În acest caz, asigurați-vă că un șir de text este între ghilimele, astfel:
=IF(VLOOKUP(VLOOKUP(E1,$A$2:$B$10,2)="sample text",TRUE,FALSE)
Exemplul 2. Comparați rezultatul Vlookup cu o altă celulă
Un alt exemplu tipic de Vlookup cu condiția If în Excel este compararea rezultatului Vlookup cu o valoare dintr-o altă celulă. De exemplu, putem verifica dacă este mai mare sau egală cu un număr din celula G2:
=IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2, "Da!", "Nu")
Și iată formula noastră If cu Vlookup în acțiune:
În mod similar, puteți utiliza orice alt operator logic împreună cu o referință de celulă în formula Excel If Vlookup.
Exemplul 3. Valori Vlookup într-o listă mai scurtă
Pentru a compara fiecare celulă din coloana țintă cu o altă listă și a returna Adevărat sau Da în cazul în care se găsește o potrivire, Fals sau Nu în caz contrar, utilizați această formulă generică IF ISNA VLOOKUP:
IF(ISNA( VLOOKUP(...)), "Nu", "Da")Dacă Vlookup are ca rezultat eroarea #N/A, formula returnează "No", ceea ce înseamnă că valoarea de căutare nu se găsește în lista de căutări. Dacă se găsește o potrivire, se returnează "Yes". De exemplu:
=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Nu", "Da")
În cazul în care logica de afaceri necesită rezultate opuse, schimbați pur și simplu "Da" și "Nu" pentru a inversa logica formulei:
=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Da", "Nu")
Excel Dacă formula Vlookup pentru a efectua diferite calcule
Pe lângă afișarea propriilor mesaje text, funcția If cu Vlookup poate efectua diferite calcule pe baza criteriilor pe care le specificați.
Dacă luăm exemplul nostru mai departe, să calculăm comisionul unui anumit vânzător (F1) în funcție de eficiența acestuia: 20% comision pentru cei care au câștigat 200 de dolari și mai mult, 10% pentru toți ceilalți.
Pentru aceasta, verificați dacă valoarea returnată de Vlookup este mai mare sau egală cu 200, iar dacă este, înmulțițiți-o cu 20%, iar în caz contrar cu 10%:
=IF(VLOOKUP(VLOOKUP(F1,$A$2:$C$10,3,FALSE )>=200, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*20%, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*10%)
Unde A2:A10 sunt numele vânzătorului și C2:C10 sunt vânzările.
IF ISNA VLOOKUP pentru a ascunde erorile #N/A
Dacă funcția VLOOKUP nu poate găsi o valoare specificată, se aruncă o eroare #N/A. Pentru a detecta această eroare și a o înlocui cu propriul text, încorporați o formulă Vlookup în testul logic al funcției IF, astfel:
IF(ISNA(VLOOKUP(...)), "Not found", VLOOKUP(...))Firește, puteți introduce orice text doriți în loc de "Not found".
Să presupunem că aveți o listă de nume de vânzători într-o coloană și sume de vânzări într-o altă coloană. Sarcina dvs. este de a extrage un număr care să corespundă numelui pe care utilizatorul îl introduce în F1. Dacă numele nu este găsit, afișați un mesaj care să indice acest lucru.
Cu numele din A2:A10 și sumele C2:C10, sarcina poate fi îndeplinită cu următoarea formulă If Vlookup:
=IF(ISNA(VLOOKUP(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Not found", VLOOKUP(F1,$A$2:$C$10,3,FALSE)))
Dacă se găsește denumirea, se trimite o sumă corespunzătoare vânzărilor:
În cazul în care valoarea de căutare nu este găsită, se va aplica Nu a fost găsit apare în locul erorii #N/A:
Cum funcționează această formulă
Logica formulei este foarte simplă: se utilizează funcția ISNA pentru a verifica dacă Vlookup are erori #N/A. Dacă apare o eroare, ISNA returnează TRUE, altfel FALSE. Valorile de mai sus merg la testul logic al funcției IF, care face una dintre următoarele:
- Dacă testul logic este ADEVĂRAT (eroare #N/A), se afișează mesajul dumneavoastră.
- În cazul în care testul logic este FALSE (valoarea de căutare este găsită), Vlookup returnează în mod normal o potrivire.
IFNA VLOOKUP în versiunile mai noi de Excel
Începând cu Excel 2013, puteți utiliza funcția IFNA în loc de IF ISNA pentru a detecta și gestiona erorile #N/A:
IFNA(VLOOKUP(...), " Nu a fost găsit ")În exemplul nostru, formula ar avea următoarea formă:
=IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Not found")
Sfat. Dacă doriți să prindeți tot felul de erori, nu numai #N/A, utilizați VLOOKUP în combinație cu funcția IFERROR. Mai multe detalii puteți găsi aici: IFERROR VLOOKUP în Excel.
Excel Vlookup: dacă nu se găsește returnează 0
Atunci când lucrați cu valori numerice, este posibil să doriți să returnați un zero atunci când valoarea de căutare nu este găsită. Pentru a face acest lucru, utilizați formula IF ISNA VLOOKUP discutată mai sus cu o mică modificare: în loc de un mesaj text, furnizați 0 în value_if_true argument al funcției IF:
IF(ISNA(VLOOKUP(...)), 0, VLOOKUP(...))În exemplul nostru de tabel, formula ar fi următoarea:
=IF(ISNA(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), 0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))
În versiunile recente ale Excel 2016 și 2013, puteți utiliza din nou combinația IFNA Vlookup:
=IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)
Excel Vlookup: dacă nu se găsește, returnează o celulă goală
Aceasta este încă o variantă a instrucțiunii "Vlookup if then": nu returnează nimic atunci când valoarea de căutare nu este găsită. Pentru a face acest lucru, instruiți formula dvs. să returneze un șir gol ("") în loc de eroarea #N/A:
IF(ISNA(VLOOKUP(...)), "", VLOOKUP(...))Mai jos sunt câteva exemple de formule complete:
Pentru toate versiunile Excel:
=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), "", VLOOKUP(F2,$A$2:$C$10,3,FALSE))
Pentru Excel 2016 și Excel 2013:
=IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE), "")
Dacă cu potrivire index - vlookup stânga cu condiția Dacă
Utilizatorii experimentați de Excel știu că funcția VLOOKUP nu este singura modalitate de a efectua căutări verticale în Excel. Combinația INDEX MATCH poate fi, de asemenea, utilizată în acest scop și este chiar mai puternică și mai versatilă. Vestea bună este că Index Match poate funcționa împreună cu IF exact în același mod ca și Vlookup.
De exemplu, aveți numerele de comandă în coloana A și numele vânzătorului în coloana B. Căutați o formulă care să extragă numărul de comandă pentru un anumit vânzător.
Vlookup nu poate fi utilizat în acest caz, deoarece nu poate căuta de la dreapta la stânga. Index Match va funcționa fără probleme atâta timp cât valoarea de căutare se găsește în coloana de căutare. În caz contrar, va apărea o eroare #N/A. Pentru a înlocui notația de eroare standard cu propriul text, aninați Index Match în interiorul IF ISNA:
=IF(ISNA(INDEX(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0))), "Not found", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0))))
În Excel 2016 și 2016, puteți utiliza IFNA în loc de IF ISNA pentru a face formula mai compactă:
=IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Not found")
În mod similar, puteți utiliza Index Match în alte formule If.
Acesta este modul în care utilizați Vlookup și declarația IF împreună în Excel. Pentru a vedea mai îndeaproape formulele discutate în acest tutorial, vă invităm să descărcați exemplul nostru de registru de lucru de mai jos. Vă mulțumesc pentru lectură și sper să ne vedem pe blogul nostru săptămâna viitoare!
Caietul de practică pentru descărcare
Excel IF Vlookup - exemple de formule (fișier .xlsx)