Satura rādītājs
Šajā pamācībā mēs aplūkosim, kā izmantot IFERROR un VLOOKUP funkcijas kopā, lai izķertu un apstrādātu dažādas kļūdas. Turklāt jūs uzzināsiet, kā Excel programmā veikt secīgus vlookups, ievietojot vairākas IFERROR funkcijas vienu uz otras.
Excel VLOOKUP un IFERROR - šīs divas funkcijas var būt diezgan grūti izprast atsevišķi, nemaz nerunājot par to, ja tās ir apvienotas. Šajā rakstā atradīsiet dažus viegli saprotamus piemērus, kas attiecas uz biežākajiem lietojumiem un skaidri ilustrē formulu loģiku.
Ja jums nav lielas pieredzes ar IFERROR un VLOOKUP funkcijām, iespējams, būtu labi vispirms pārskatīt to pamatus, sekojot iepriekš minētajām saitēm.
IFERROR VLOOKUP formula, lai apstrādātu #N/A un citas kļūdas
Ja programmā Excel Vlookup neizdodas atrast meklēšanas vērtību, tiek parādīta #N/A kļūda, piemēram, šāda:
Atkarībā no uzņēmuma vajadzībām kļūdu var būt nepieciešams maskēt ar savu tekstu, nulli vai tukšu šūnu.
Piemērs 1. IFERROR ar VLOOKUP formulu, lai kļūdas aizstātu ar savu tekstu
Ja vēlaties aizstāt standarta kļūdas pierakstu ar pielāgotu tekstu, ietiniet VLOOKUP formulu IFERROR un 2. argumentā ierakstiet jebkuru tekstu ( value_if_error ), piemēram, "Nav atrasts":
IFERROR(VLOOKUP( ... ), "Nav atrasts")Izmantojot meklēšanas vērtību B2 galvenajā tabulā un meklēšanas diapazonu A2:B4 meklēšanas tabulā, formulas forma ir šāda:
=IFERROR(VLOOKUP(B2,'Lookup tabula'!$A$2:$B$5, 2, FALSE), "Nav atrasts")
Tālāk redzamajā ekrānšāviņas attēlā ir parādīta mūsu Excel IFERROR VLOOKUP formula darbībā:
Rezultāts izskatās daudz saprotamāks un daudz mazāk biedējošs, vai ne?
Līdzīgi var izmantot INDEX MATCH kopā ar IFERROR:
=IFERROR(INDEX('Lookup table'!$B$2:$B$5,MATCH(B2,'Lookup table'!$A$2:$A$5,0)), "Nav atrasts")
IFERROR INDEX MATCH formula ir īpaši noderīga, ja vēlaties iegūt vērtības no kolonnas, kas atrodas pa kreisi no meklēšanas kolonnas (kreisā meklēšana), un atgriezt savu tekstu, ja nekas nav atrasts.
Piemērs 2. IFERROR ar VLOOKUP, lai atgrieztu tukšu vai 0, ja nekas nav atrasts
Ja nevēlaties neko parādīt, ja meklēšanas vērtība nav atrasta, palūdziet IFERROR parādīt paziņojumu tukša virkne (""):
IFERROR(VLOOKUP( ... ),"")Mūsu piemērā formula ir šāda:
=IFERROR(VLOOKUP(B2,'Lookup tabula'!$A$2:$B$5, 2, FALSE), "")
Kā redzat, tas neko neatgriež, ja meklēšanas vērtība nav meklēšanas sarakstā.
Ja vēlaties aizstāt kļūdu ar nulles vērtība , pēdējā argumentā ierakstiet 0:
=IFERROR(VLOOKUP(B2,'Lookup tabula'!$A$2:$B$5, 2, FALSE), 0)
Uzmanību! Excel IFERROR funkcija uztver visu veidu kļūdas, ne tikai #N/A. Vai tas ir labi vai slikti? Viss ir atkarīgs no jūsu mērķa. Ja vēlaties maskēt visas iespējamās kļūdas, IFERROR Vlookup ir pareizais risinājums. Taču daudzās situācijās tas var būt nepareizs paņēmiens.
Piemēram, ja esat izveidojis nosaukuma diapazonu tabulas datiem un Vlookup formulā kļūdaini ierakstījis šo nosaukumu, IFERROR fiksēs kļūdu #NAME? un aizstās to ar "Not found" vai jebkuru citu jūsu norādīto tekstu. Rezultātā jūs nekad neuzzināsiet, ka jūsu formula sniedz nepareizus rezultātus, ja vien pats nepamanīsiet pārrakstīšanās kļūdu. Šādā gadījumā saprātīgāka pieeja būtu tikai #N/A kļūdu fiksēšana.Šim nolūkam izmantojiet IFNA Vlookup formulu programmā Excel 2013 un jaunākās versijās, IF ISNA VLOOKUP visās Excel versijās.
Secinājums ir šāds: esiet ļoti uzmanīgi, izvēloties VLOOKUP formulas pavadoni :)
IFERROR ligzda VLOOKUP ietvaros, lai vienmēr kaut ko atrastu
Iedomājieties šādu situāciju: jūs meklējat konkrētu vērtību sarakstā un neatrodat to. Kādas jums ir izvēles iespējas? Vai nu saņemt N/A kļūdu, vai arī parādīt savu ziņojumu. Patiesībā ir arī trešā iespēja - ja jūsu primārais vlookup paklūp, tad meklējiet kaut ko citu, kas tur noteikti ir!
Turpinot mūsu piemēru, izveidosim kādu informācijas paneli lietotājiem, kas viņiem rādīs konkrētā biroja iekšējo numuru. Kaut kas līdzīgs šim:
Tātad, kā, pamatojoties uz biroja numuru D2, no B slejas izvilkt paplašinājumu? Izmantojot šo parasto Vlookup formulu:
=VLOOKUP($D$2,$A$2:$B$7,2,FALSE)
Un tas darbosies labi, ja lietotāji ievadīs derīgu numuru D2. Bet ko darīt, ja lietotājs ievada numuru, kas neeksistē? Šādā gadījumā ļaujiet viņiem piezvanīt uz centrālo biroju! Šim nolūkam iepriekš minēto formulu iestrādājiet programmā vērtība argumentu IFERROR un ielieciet vēl vienu Vlookup in the value_if_error arguments.
Pilna formula ir nedaudz gara, taču tā darbojas perfekti:
=IFERROR(VLOOKUP("birojs"&$D$2,$A$2:$B$7,2,FALSE),VLOOKUP("centrālais birojs",$A$2:$B$7,2,FALSE)))
Ja biroja numurs ir atrasts, lietotājs saņem atbilstošo papildnumuru:
Ja biroja numurs nav atrasts, tiek parādīts centrālā biroja numurs:
Lai padarītu formulu nedaudz kompaktāku, varat izmantot citu pieeju:
Vispirms pārbaudiet, vai skaitlis D2 ir atrodams meklēšanas slejā (lūdzu, ievērojiet, ka mēs iestatījām col_index_num līdz 1, lai formula meklētu un atgrieztu A slejas vērtību): VLOOKUP(D2,$A$2:$B$7,1,FALSE)
Ja norādītais biroja numurs nav atrasts, tad mēs meklējam virkni "central office", kas noteikti ir meklēšanas sarakstā. Šim nolūkam pirmo VLOOKUP ietin IFERROR un visu šo kombināciju ievieto citā VLOOKUP funkcijā:
=VLOOKUP(IFERROR(VLOOKUP(D2,$A$2:$B$7,1,FALSE), "centrālais birojs"),$A$2:$B$7,2)
Nu, nedaudz atšķirīga formula, bet rezultāts tāds pats:
Bet kāds ir iemesls meklēt "centrālais birojs", jūs, iespējams, man jautāsiet. Kāpēc nenorādīt paplašinājuma numuru tieši IFERROR? Tāpēc, ka paplašinājums kādā brīdī nākotnē var mainīties. Ja tā notiks, jums būs jāatjaunina dati tikai vienu reizi avota tabulā, neuztraucoties par katras jūsu VLOOKUP formulas atjaunināšanu.
Kā veikt secīgus VLOOKUP programmā Excel
Situācijās, kad nepieciešams veikt t. s. secīgs vai ķēdes Vlookups programmā Excel atkarībā no tā, vai iepriekšējā meklēšana ir bijusi veiksmīga vai neveiksmīga, ievietojiet divas vai vairākas IFERROR funkcijas, lai palaistu Vlookups pa vienam:
IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), "Nav atrasts")))))Formula darbojas pēc šādas loģikas:
Ja pirmais VLOOKUP neko neatrod, pirmais IFERROR fiksē kļūdu un palaidīs vēl vienu VLOOKUP. Ja otrais VLOOKUP neizdodas, otrais IFERROR fiksē kļūdu un palaidīs trešo VLOOKUP, un tā tālāk. Ja visi VLOOKUP ir neveiksmīgi, pēdējais IFERROR atdod jūsu ziņojumu.
Šī ligzdotā IFERROR formula ir īpaši noderīga, ja ir jāveic Vlookup pāri vairākas lapas kā parādīts tālāk dotajā piemērā.
Pieņemsim, ka jums ir trīs viendabīgu datu saraksti trijās dažādās darblapās (šajā piemērā - biroja numuri) un jūs vēlaties iegūt pagarinājumu noteiktam skaitlim.
Pieņemot, ka meklēšanas vērtība ir šūnā A2 pašreizējā lapā un meklēšanas diapazons ir A2:B5 3 dažādās darblapās (ziemeļu, dienvidu un rietumu), tiek izmantota šāda formula:
=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"))))
Tātad mūsu "ķēžu Vlookups" formula meklē trīs dažādās lapās tādā secībā, kādā mēs tās ievietojām formulā, un ievada pirmo atrasto atbilstību:
Lūk, kā Excel programmā izmantot IFERROR ar VLOOKUP. Paldies, ka izlasījāt, un ceru, ka nākamnedēļ tiksimies mūsu blogā!
Pieejamās lejupielādes
Excel IFERROR VLOOKUP formulas piemēri