Tabl cynnwys
Yn y tiwtorial hwn, byddwn yn edrych ar sut i ddefnyddio swyddogaethau IFERROR a VLOOKUP gyda'i gilydd i faglu a thrin gwallau gwahanol. Yn ogystal, rydych chi'n mynd i ddysgu sut i wneud vlookups dilyniannol yn Excel trwy nythu sawl swyddogaeth IFERROR un ar y llall.
Excel VLOOKUP ac IFERROR - gall y ddwy swyddogaeth hyn fod yn eithaf anodd eu deall ar wahân, heb sôn am eu cyfuno. Yn yr erthygl hon, fe welwch rai enghreifftiau hawdd eu dilyn sy'n mynd i'r afael â defnyddiau cyffredin ac yn dangos rhesymeg y fformiwlâu yn glir.
Os nad oes gennych lawer o brofiad gyda ffwythiannau IFERROR a VLOOKUP, efallai syniad da i adolygu eu hanfodion yn gyntaf drwy ddilyn y dolenni uchod.
Pan fydd Excel Vlookup yn methu â chanfod gwerth chwilio, mae'n taflu gwall #D/A, fel hyn:
Yn dibynnu ar eich anghenion busnes, efallai y byddwch am guddio'r gwall gyda'ch testun eich hun, sero , neu gell wag.
Enghraifft 1. IFERROR gyda fformiwla VLOOKUP i ddisodli gwallau gyda'ch testun eich hun
Os hoffech ddisodli'r nodiant gwall safonol gyda'ch testun addasedig, amlapiwch eich Fformiwla VLOOKUP yn IFERROR, a theipiwch unrhyw destun rydych ei eisiau yn yr 2il arg ( value_if_error ), er enghraifft "Heb ei ganfod":
IFERROR(VLOOKUP( …), "Heb found")Gyda'r gwerth chwilio yn B2 yn y Prif dabl a'r ystod chwilio A2:B4 yn yr Edrychtabl, mae'r fformiwla yn cymryd y siâp a ganlyn:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "Not found")
Mae'r sgrinlun isod yn dangos ein fformiwla Excel IFERROR VLOOKUP ar waith:
The canlyniad yn edrych yn llawer mwy dealladwy a llawer llai brawychus, onid yw?
Mewn modd tebyg, gallwch ddefnyddio MATCH MYNEGAI ynghyd ag IFERROR:
=IFERROR(INDEX('Lookup table'!$B$2:$B$5,MATCH(B2,'Lookup table'!$A$2:$A$5,0)), "Not found")
Y IFERROR Mae fformiwla INDEX MATCH yn arbennig o ddefnyddiol pan fyddwch am dynnu gwerthoedd o golofn sy'n gorwedd i'r chwith o'r golofn chwilio (edrych ar y chwith), a dychwelyd eich testun eich hun pan na chanfyddir dim.
Enghraifft 2. IFERROR gyda VLOOKUP i ddychwelyd yn wag neu 0 os na chanfyddir dim
Os nad ydych am ddangos unrhyw beth pan na chanfyddir y gwerth chwilio, trefnwch i IFERROR arddangos llinyn gwag (""):
IFERROR(VLOOKUP( …),"")Yn ein hesiampl, mae'r fformiwla yn mynd fel a ganlyn:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "")
Fel y gwelwch, nid yw'n dychwelyd dim pan nad yw'r gwerth am-edrych yn y rhestr chwilio.
Os hoffech ddisodli'r gwall gyda'r gwerth sero , rhowch 0 yn yr olaf a rgument:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), 0)
Gair o rybudd! Mae ffwythiant Excel IFERROR yn dal pob math o wallau, nid yn unig #D/A. A yw'n dda neu'n ddrwg? Mae'r cyfan yn dibynnu ar eich nod. Os ydych chi am guddio pob gwall posibl, IFERROR Vlookup yw'r ffordd i fynd. Ond gall fod yn dechneg annoeth mewn llawer o sefyllfaoedd.
Er enghraifft, os ydych chi wedi creu ystod a enwir ar gyfer eich data tabl, ac wedi camsillafu'r enw hwnnw yn eichFformiwla vlookup, bydd IFERROR yn dal #NAME? gwall a rhoi "Heb ei ddarganfod" neu unrhyw destun arall rydych chi'n ei gyflenwi yn ei le. O ganlyniad, efallai na fyddwch byth yn gwybod bod eich fformiwla yn sicrhau canlyniadau anghywir oni bai eich bod chi'n gweld y teipio eich hun. Mewn achos o'r fath, dull mwy rhesymol fyddai trapio #N/A gwallau yn unig. Ar gyfer hyn, defnyddiwch fformiwla IFNA Vlookup yn Excel 2013 ac uwch, OS ISNA VLOOKUP ym mhob fersiwn Excel.
Y llinell waelod yw: byddwch yn ofalus iawn wrth ddewis cydymaith ar gyfer eich fformiwla VLOOKUP :)
Nythwch IFERROR o fewn VLOOKUP i ddod o hyd i rywbeth bob amser
Dychmygwch y sefyllfa ganlynol: rydych chi'n edrych am werth penodol mewn rhestr ac nid ydych chi'n dod o hyd iddo. Pa ddewisiadau sydd gennych chi? Naill ai mynnwch wall D/A neu dangoswch eich neges eich hun. A dweud y gwir, mae trydydd opsiwn - os bydd eich vlookup cynradd yn baglu, yna chwiliwch am rywbeth arall sydd yn bendant yno!
A chymryd ein hesiampl ymhellach, gadewch i ni greu rhyw fath o ddangosfwrdd ar gyfer ein defnyddwyr a fydd yn dangos estyniad iddynt nifer o swyddfa benodol. Rhywbeth fel hyn:
Felly, sut mae tynnu’r estyniad o golofn B yn seiliedig ar rif y swyddfa yn D2? Gyda'r fformiwla Vlookup reolaidd hon:
=VLOOKUP($D$2,$A$2:$B$7,2,FALSE)
A bydd yn gweithio'n braf cyn belled â bod eich defnyddwyr yn nodi rhif dilys yn D2. Ond beth os yw defnyddiwr yn mewnbynnu rhif nad yw'n bodoli? Yn yr achos hwn, gadewch iddynt ffonio'r swyddfa ganolog! Ar gyfer hyn, rydych chi'n ymgorffori'r fformiwla uchod yn y gwerth arg IFERROR, a rhowch Vlookup arall yn y ddadl value_if_error .
Mae'r fformiwla gyflawn ychydig yn hir, ond mae'n gweithio'n berffaith:
> =IFERROR(VLOOKUP("office "&$D$2,$A$2:$B$7,2,FALSE),VLOOKUP("central office",$A$2:$B$7,2,FALSE))
Os canfyddir rhif y swyddfa, bydd y defnyddiwr yn cael y rhif estyniad cyfatebol:
Os na chanfyddir rhif y swyddfa, estyniad y swyddfa ganolog yn cael ei arddangos:
I wneud y fformiwla ychydig yn fwy cryno, gallwch ddefnyddio dull gwahanol:
Yn gyntaf, gwiriwch a yw'r rhif yn D2 yn bresennol yn y golofn chwilio (sylwch ein bod wedi gosod col_index_num i 1 ar gyfer y fformiwla i chwilio i fyny a dychwelyd gwerth o golofn A): VLOOKUP(D2,$A$2:$B$7,1,FALSE)
Os na ddarganfyddir y rhif swyddfa penodedig, yna chwiliwn am y llinyn "central office", sydd yn bendant yn y rhestr chwilio. Ar gyfer hyn, rydych chi'n lapio'r VLOOKUP cyntaf yn IFERROR ac yn nythu'r cyfuniad cyfan hwn y tu mewn i swyddogaeth VLOOKUP arall:
=VLOOKUP(IFERROR(VLOOKUP(D2,$A$2:$B$7,1,FALSE),"central office"),$A$2:$B$7,2)
Wel, fformiwla ychydig yn wahanol, yr un canlyniad:
Ond beth yw'r rheswm i chwilio am "swyddfa ganolog", gallwch ofyn i mi. Beth am roi rhif yr estyniad yn uniongyrchol yn IFERROR? Oherwydd gall yr estyniad newid rywbryd yn y dyfodol. Os bydd hyn yn digwydd, bydd yn rhaid i chi ddiweddaru eich data unwaith yn unig yn y tabl ffynhonnell, heb boeni am ddiweddaru pob un o'ch fformiwlâu VLOOKUP.
Sut i wneud VLOOKUPs dilyniannol yn Excel
Mewn sefyllfaoedd pan mae angen i chicyflawni'r hyn a elwir yn dilyniannol neu gadwynog Vlookups yn Excel yn dibynnu a yw chwiliad blaenorol wedi llwyddo neu wedi methu, nythu dwy neu fwy o swyddogaethau IFERROR i redeg eich Vlookups fesul un:
IFERROR(VLOOKUP( …), IFERROR(VLOOKUP( …), IFERROR(VLOOKUP( …),,"Heb ganfod"))The mae fformiwla yn gweithio gyda'r rhesymeg ganlynol:
Os nad yw'r VLOOKUP cyntaf yn dod o hyd i unrhyw beth, mae'r IFERROR cyntaf yn dal gwall ac yn rhedeg VLOOKUP arall. Os bydd yr ail VLOOKUP yn methu, mae'r ail IFERROR yn dal gwall ac yn rhedeg y trydydd VLOOKUP, ac ati. Os bydd pob Vlookups yn baglu, mae'r IFERROR olaf yn dychwelyd eich neges.
Mae'r fformiwla IFERROR nythu hon yn arbennig o ddefnyddiol pan mae'n rhaid i chi Vlookup ar draws daflenni lluosog fel y dangosir yn yr enghraifft isod.
Gadewch i ni ddweud, mae gennych chi dair rhestr o ddata homogenaidd mewn tair taflen waith wahanol (rhifau swyddfa yn yr enghraifft hon), ac rydych chi am gael estyniad ar gyfer nifer penodol.
A chymryd bod y gwerth chwilio yng nghell A2 yn y daflen gyfredol, a'r amrediad chwilio yw A2:B5 mewn 3 taflen waith wahanol (Gogledd, De a Gorllewin), mae'r fformiwla ganlynol yn gweithio'n dda:
=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")))
Felly, mae ein "chained Mae fformiwla Vlookups" yn chwilio mewn tair tudalen wahanol yn y drefn y gwnaethom eu nythu yn y fformiwla, ac yn dod â'r cyfatebiad cyntaf mae'n ei ddarganfod:
Dyma sut rydych yn defnyddio IFERROR gyda VLOOKUP yn Excel. Rwy'n diolch ichi am ddarllen ac yn gobeithio eich gweldar ein blog wythnos nesaf!
Ar gael i'w lawrlwytho
Enghreifftiau fformiwla Excel IFERROR VLOOKUP