IF VLOOKUP a Excel: fórmula de Vlookup amb la condició If

  • Comparteix Això
Michael Brown

El tutorial mostra com combinar la funció V LOOKUP i IF junts per a la cerca v amb la condició if a Excel. També aprendràs a utilitzar les fórmules BUSCAR V IF ISNA per substituir els errors #N/A amb el teu propi text, cel·la zero o en blanc.

Tot i que les funcions BUSCAR V i SI són útils per si soles, juntes. ofereixen experiències encara més valuoses. Aquest tutorial implica que recordeu bé la sintaxi de les dues funcions, en cas contrari és possible que vulgueu millorar els vostres coneixements seguint els enllaços anteriors.

    Vlookup with If statement: return True/ Fals, Sí/No, etc.

    Un dels escenaris més habituals quan combineu If i Vlookup junts és comparar el valor retornat per Vlookup amb un valor de mostra i retornar Sí / No o Vertader/Fals com a resultat.

    En la majoria dels casos, la fórmula genèrica següent funcionaria bé:

    SI(BUSCARV(…) = valor, TRUE, FALSE)

    Traduït en anglès senzill, la fórmula indica a Excel que torni True si Vlookup és cert (és a dir, igual al valor especificat). Si Vlookup és fals (no és igual al valor especificat), la fórmula retorna False .

    A continuació trobareu alguns usos reals d'aquesta fórmula IF Vlookup.

    Exemple 1. Busqueu un valor específic

    Diguem que teniu una llista d'articles a la columna A i una quantitat a la columna B. Esteu creant un tauler per als vostres usuaris i necessiteu una fórmulaque comprovaria la quantitat d'un article a E1 i informaria a l'usuari si l'article està en estoc o esgotat.

    Treu la quantitat amb una Vlookup normal amb una fórmula de concordança exacta com aquesta:

    =VLOOKUP(E1,$A$2:$B$10,2,FALSE)

    A continuació, escriviu una instrucció SI que compare el resultat de Vlookup amb zero i retorna "No" si és igual a 0, "Sí" en cas contrari:

    =IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0,"No","Yes")

    En lloc de Sí/No , podeu tornar VERTADER/FALS o En existència/Esgotat o qualsevol altre dos opcions. Per exemple:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)=0,"Sold out","In stock")

    També podeu comparar el valor retornat per Vlookup amb el text de mostra . En aquest cas, assegureu-vos d'incloure una cadena de text entre cometes, com aquesta:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)="sample text",TRUE,FALSE)

    Exemple 2. Compareu el resultat de Vlookup amb una altra cel·la

    Un altre exemple típic de Vlookup amb la condició If a Excel és comparar la sortida de Vlookup amb un valor d'una altra cel·la. Per exemple, podem comprovar si és més gran o igual que un nombre de la cel·la G2:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2,"Yes!","No")

    I aquí teniu la nostra fórmula If amb Vlookup en acció:

    De manera similar, podeu utilitzar qualsevol altre operador lògic juntament amb una referència de cel·la a la vostra fórmula Excel If Vlookup.

    Exemple 3. Valors Vlookup en una llista més curta

    Per comparar cada cel·la de la columna objectiu amb una altra llista i retornar Vertader o si es troba una coincidència, Fals o No en cas contrari, utilitzeu aquesta fórmula genèrica IF ISNA VLOOKUP:

    IF(ISNA(BUSCARV(…)),"No","Sí")

    Si la cercaV dóna lloc a l'error #N/A, la fórmula retorna "No", és a dir, el valor de cerca no es troba a la llista de cerca. Si es troba la coincidència, es retorna "Sí". Per exemple:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)),"No","Yes")

    Si la vostra lògica empresarial requereix els resultats oposats, simplement intercanvieu "Sí" i "No" per invertir la lògica de la fórmula:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)),"Yes","No")

    Fórmula d'Excel If Vlookup per realitzar diferents càlculs

    A més de mostrar els vostres propis missatges de text, la funció If amb Vlookup pot realitzar diferents càlculs basant-se en els criteris que especifiqueu.

    Avant el nostre exemple, calculem la comissió d'un venedor específic (F1) en funció de la seva eficàcia: 20% de comissió per als que van guanyar 200 $ i més, 10% per a tots els altres. .

    Per a això, comproveu si el valor retornat per Vlookup és superior o igual a 200, i si ho és, multipliqueu-lo per un 20%, en cas contrari per un 10%:

    =IF(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%)

    On A2:A10 són noms de venedors i C2:C10 són vendes.

    SI ÉSNA BUSCAR V per amagar els errors #N/A

    Si la funció BUSCARV no pot trobar un valor especificat, genera un error #N/A. Per detectar aquest error i substituir-lo pel vostre propi text, incrusteu una fórmula Vlookup a la prova lògica de la funció IF, com aquesta:

    IF(ISNA(VLOOKUP(…)), "Not found", VLOOKUP(…) )

    Per descomptat, podeu escriure qualsevol text que vulgueu en comptes de "No trobat".

    Suposem que teniu una llista de venedorsnoms en una columna i imports de vendes en una altra columna. La vostra tasca és treure un número corresponent al nom que introdueix l'usuari a F1. Si no es troba el nom, mostra un missatge que ho indiqui.

    Amb els noms a A2:A10 i les quantitats C2:C10, la tasca es pot complir amb la següent fórmula If Vlookup:

    =IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Not found", VLOOKUP(F1,$A$2:$C$10,3,FALSE))

    Si es troba el nom, es retorna un import de vendes corresponent:

    Si no es troba el valor de cerca, el No s'ha trobat apareix el missatge en lloc de l'error #N/A:

    Com funciona aquesta fórmula

    La lògica de la fórmula és molt senzilla: utilitzeu la funció ISNA per comprovar Vlookup si hi ha #N/A errors. Si es produeix un error, ISNA retorna TRUE, en cas contrari, FALSE. Els valors anteriors van a la prova lògica de la funció SI, que fa una de les accions següents:

    • Si la prova lògica és TRUE (error #N/A), es mostra el vostre missatge.
    • Si la prova lògica és FALSA (es troba el valor de cerca), Vlookup retorna una coincidència normalment.

    IFNA VLOOKUP a les versions més noves d'Excel

    A partir d'Excel 2013, pot utilitzar la funció IFNA en lloc de IF ISNA per detectar i gestionar errors #N/A:

    IFNA(VLOOKUP(…), " Not found")

    En el nostre exemple, la fórmula seria pren la forma següent:

    =IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Not found")

    Consell. Si voleu atrapar tot tipus d'errors, no només #N/A, utilitzeu BUSCARV en combinació amb la funció IFERROR. Podeu trobar més detalls aquí: IFERRORVLOOKUP a Excel.

    Excel Vlookup: si no es troba, retorna 0

    Quan treballeu amb valors numèrics, és possible que vulgueu tornar un zero quan no es trobi el valor de cerca. Per fer-ho, utilitzeu la fórmula IF ISNA VLOOKUP comentada anteriorment amb una petita modificació: en lloc d'un missatge de text, introduïu 0 a l'argument value_if_true de la funció IF:

    IF(ISNA(VLOOKUP( …)), 0, CERCA V(…))

    A la nostra taula d'exemple, la fórmula seria el següent:

    =IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), 0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))

    En el versions recents d'Excel 2016 i 2013, podeu tornar a utilitzar la combinació IFNA Vlookup:

    =IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)

    Excel Vlookup: si no es troba, torneu la cel·la en blanc

    Aquesta és una variació més de la instrucció "Vlookup if then": no retorna res quan no es trobi el valor de cerca. Per fer-ho, indiqueu a la vostra fórmula que retorni una cadena buida ("") en lloc de l'error #N/A:

    IF(ISNA(VLOOKUP(…)), "", VLOOKUP(…))

    A continuació Hi ha un parell d'exemples de fórmules completes:

    Per a totes les versions d'Excel:

    =IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), "", VLOOKUP(F2,$A$2:$C$10,3,FALSE))

    Per a Excel 2016 i Excel 2013:

    =IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE), "")

    Si amb concordança d'índex: cerca de v a l'esquerra amb condició If

    Els usuaris experimentats d'Excel saben que la funció BUSCAR V no és l'única manera de fer una cerca vertical a Excel. La combinació INDEX MATCH també es pot utilitzar per a aquest propòsit i és encara més potent i versàtil. La bona notícia és que Index Match pot treballar juntament amb IF exactament de la mateixa manera queConsulta virtual.

    Per exemple, teniu números de comanda a la columna A i noms de venedor a la columna B. Esteu buscant una fórmula per extreure el número de comanda d'un venedor concret.

    La cerca virtual no es pot fer. s'utilitza en aquest cas perquè no pot cercar de dreta a esquerra. La concordança d'índex funcionarà sense cap problema sempre que el valor de cerca es trobi a la columna de cerca. Si no, apareixerà un error #N/A. Per substituir la notació d'error estàndard pel vostre propi text, niu Coincidència d'índex dins IF ISNA:

    =IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0))), "Not found", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)))

    A Excel 2016 i 2016, podeu utilitzar IFNA en comptes de IF ISNA per fer que la fórmula sigui més compacte:

    =IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Not found")

    De manera semblant, podeu utilitzar la concordança d'índex en altres fórmules If.

    Així és com feu servir Vlookup i declaració IF junts a Excel. Per veure amb més detall les fórmules que es discuteixen en aquest tutorial, us convidem a descarregar el nostre quadern de treball de mostra a continuació. Us agraeixo la lectura i espero veure-us al nostre bloc la setmana vinent!

    Quader de pràctiques per descarregar

    Excel IF Vlookup - exemples de fórmules (fitxer .xlsx)

    Michael Brown és un entusiasta de la tecnologia dedicat amb una passió per simplificar processos complexos mitjançant eines de programari. Amb més d'una dècada d'experiència en la indústria tecnològica, ha perfeccionat les seves habilitats en Microsoft Excel i Outlook, així com en Google Sheets i Docs. El bloc de Michael es dedica a compartir els seus coneixements i experiència amb altres persones, oferint consells i tutorials fàcils de seguir per millorar la productivitat i l'eficiència. Tant si sou un professional experimentat com si sou un principiant, el bloc de Michael ofereix valuoses idees i consells pràctics per treure el màxim profit d'aquestes eines de programari essencials.