Excel IFERROR & VLOOKUP - trampa #N/A i altres errors

  • Comparteix Això
Michael Brown

En aquest tutorial, veurem com utilitzar les funcions IFERROR i VLOOKUP juntes per atrapar i gestionar diferents errors. A més, aprendràs a fer consultes virtuals seqüencials a Excel nidant diverses funcions IFERROR una a l'altra.

Excel VLOOKUP i IFERROR: aquestes dues funcions poden ser bastant difícils d'entendre per separat, i molt menys quan es combinen. En aquest article, trobareu uns quants exemples fàcils de seguir que aborden els usos habituals i il·lustren clarament la lògica de les fórmules.

Si no teniu molta experiència amb les funcions IFERROR i VLOOKUP, pot ser que sigui una bona idea revisar els conceptes bàsics primer seguint els enllaços anteriors.

    IFERROR VLOOKUP fórmula per gestionar #N/A i altres errors

    Quan Excel Vlookup no pot trobar un valor de cerca, genera un error #N/A, com aquest:

    Depenent de les necessitats del vostre negoci, és possible que vulgueu dissimular l'error amb el vostre propi text, zero , o una cel·la en blanc.

    Exemple 1. IFERROR amb la fórmula BUSCARV per substituir els errors amb el vostre propi text

    Si voleu substituir la notació d'error estàndard pel vostre text personalitzat, embolcalleu el vostre Fórmula BUSCARV a IFERROR i escriviu qualsevol text que vulgueu al segon argument ( valor_si_error ), per exemple "No trobat":

    IFERROR(BUSCARV(),"Not trobat")

    Amb el valor de cerca a B2 a la taula principal i l'interval de cerca A2:B4 a la cercataula, la fórmula pren la forma següent:

    =IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "Not found")

    La captura de pantalla següent mostra la nostra fórmula d'Excel IFERROR VLOOKUP en acció:

    El el resultat sembla molt més entenedor i molt menys intimidatori, oi?

    De manera similar, podeu utilitzar INDEX MATCH juntament amb IFERROR:

    =IFERROR(INDEX('Lookup table'!$B$2:$B$5,MATCH(B2,'Lookup table'!$A$2:$A$5,0)), "Not found")

    El IFERROR La fórmula INDEX MATCH és especialment útil quan voleu extreure valors d'una columna que es troba a l'esquerra de la columna de cerca (cerca esquerra) i retornar el vostre propi text quan no es trobi res.

    Exemple 2. IFERROR amb VLOOKUP per tornar en blanc o 0 si no es troba res

    Si no voleu mostrar res quan no es trobi el valor de cerca, feu que IFERROR mostri una cadena buida (""):

    IFERROR(VLOOKUP(),"")

    Al nostre exemple, la fórmula és la següent:

    =IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "")

    Com podeu veure, no retorna res quan el valor de cerca no es troba a la llista de cerca.

    Si voleu substituir l'error pel valor zero , poseu 0 a l'última a rgument:

    =IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), 0)

    Paraula de precaució! La funció IFERROR d'Excel detecta tot tipus d'errors, no només #N/A. És bo o dolent? Tot depèn del teu objectiu. Si voleu emmascarar tots els errors possibles, IFERROR Vlookup és el camí a seguir. Però pot ser una tècnica poc encertada en moltes situacions.

    Per exemple, si heu creat un interval amb nom per a les dades de la taula i heu escrit malament aquest nom a la vostra taula.Fórmula de cerca V, IFERROR capturarà un #NAME? error i substituïu-lo per "No trobat" o qualsevol altre text que proporcioneu. Com a resultat, és possible que mai no sapigueu que la vostra fórmula està donant resultats equivocats tret que detecteu l'error d'ortografia. En aquest cas, un enfocament més raonable seria atrapar només errors #N/A. Per a això, utilitzeu la fórmula IFNA Vlookup a Excel 2013 i superior, SI ÉSNA VLOOKUP en totes les versions d'Excel.

    La conclusió és: tingueu molta cura en triar un acompanyant per a la vostra fórmula VLOOKUP :)

    Anuleu IFERROR dins de VLOOKUP per trobar sempre alguna cosa

    Imagineu la situació següent: cerqueu un valor específic en una llista i no el trobeu. Quines opcions tens? Obteniu un error N/A o mostreu el vostre propi missatge. De fet, hi ha una tercera opció: si la vostra cerca de vós principal ensopega, cerqueu alguna cosa més que hi hagi definitivament!

    Avant el nostre exemple, creem una mena de tauler per als nostres usuaris que els mostri una extensió. número d'una oficina concreta. Alguna cosa com això:

    Llavors, com extreu l'extensió de la columna B en funció del número d'oficina a D2? Amb aquesta fórmula normal de Vlookup:

    =VLOOKUP($D$2,$A$2:$B$7,2,FALSE)

    I funcionarà molt bé sempre que els usuaris introdueixin un número vàlid a D2. Però, què passa si un usuari introdueix un número que no existeix? En aquest cas, que truquin a l'oficina central! Per a això, incrusteu la fórmula anterior al fitxer valor de l'argument IFERROR i poseu una altra Vlookup a l'argument value_if_error .

    La fórmula completa és una mica llarga, però funciona perfectament:

    =IFERROR(VLOOKUP("office "&$D$2,$A$2:$B$7,2,FALSE),VLOOKUP("central office",$A$2:$B$7,2,FALSE))

    Si es troba el número d'oficina, l'usuari obté el número d'extensió corresponent:

    Si no es troba el número d'oficina, l'extensió de l'oficina central es mostra:

    Per fer que la fórmula sigui una mica més compacta, podeu utilitzar un enfocament diferent:

    Primer, comproveu si hi ha el número a D2. a la columna de cerca (si us plau, tingueu en compte que establim col_index_num a 1 perquè la fórmula cerqui i torni el valor de la columna A): VLOOKUP(D2,$A$2:$B$7,1,FALSE)

    Si no es troba el número d'oficina especificat, busquem la cadena "oficina central", que definitivament es troba a la llista de cerca. Per a això, emboliqueu la primera BUSCAR V a IFERROR i aniu tota aquesta combinació dins d'una altra funció BUSCAR V:

    =VLOOKUP(IFERROR(VLOOKUP(D2,$A$2:$B$7,1,FALSE),"central office"),$A$2:$B$7,2)

    Bé, una fórmula lleugerament diferent, el mateix resultat:

    Però quin és el motiu per buscar "oficina central", em preguntaràs. Per què no proporcioneu el número d'extensió directament a IFERROR? Perquè l'extensió pot canviar en algun moment en el futur. Si això passa, haureu d'actualitzar les vostres dades només una vegada a la taula d'origen, sense preocupar-vos d'actualitzar cadascuna de les vostres fórmules VLOOKUP.

    Com fer VLOOKUP seqüencials a Excel

    En situacions en què tu necessitesrealitzeu les anomenades seqüencials o encadenades Vlookups a Excel, depenent de si una cerca anterior ha estat correcta o ha fallat, anideu dues o més funcions IFERROR per executar les vostres Vlookups una per una:

    SI ERROR(CERCAV(), SI ERROR(CERCAV(), SI ERROR(CERCAV(),"No trobat")))

    El La fórmula funciona amb la lògica següent:

    Si la primera BUSCAR V no troba res, el primer IFERROR atrapa un error i executa una altra VLOOKUP. Si la segona VLOOKUP falla, la segona IFERROR detecta un error i executa la tercera VLOOKUP, i així successivament. Si totes les cerques V ensopeguen, l'últim IFERROR retorna el vostre missatge.

    Aquesta fórmula IFERROR imbricada és especialment útil quan heu de cercar en diversos fulls com es mostra a l'exemple següent.

    Diguem que teniu tres llistes de dades homogènies en tres fulls de treball diferents (números d'oficina en aquest exemple) i voleu obtenir una extensió per a un nombre determinat.

    Suposant que el valor de cerca es troba a la cel·la A2 al full actual, i l'interval de cerca és A2:B5 en 3 fulls de treball diferents (nord, sud i oest), la fórmula següent funciona molt bé:

    =IFERROR(VLOOKUP(A2,North!$A$2:$B$5,2,FALSE), IFERROR(VLOOKUP(A2,South!$A$2:$B$5,2,FALSE), IFERROR(VLOOKUP(A2,West!$A$2:$B$5,2,FALSE),"Not found")))

    Així, el nostre "encadenat La fórmula "Vlookups" cerca en tres fulls diferents en l'ordre que els hem imbricat a la fórmula i aporta la primera coincidència que troba:

    Així és com s'utilitza IFERROR amb VLOOKUP a Sobresortir. Us agraeixo la lectura i espero veure-usal nostre blog la setmana vinent!

    Descàrregues disponibles

    Excel IFERROR VLOOKUP exemples de fórmules

    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.