INHOUDSOPGAWE
Die tutoriaal verduidelik die basiese beginsels van Opsoek in Excel, wys die sterk- en swakpunte van elke Excel Opsoek-funksie en verskaf 'n aantal voorbeelde om jou te help besluit watter opsoekformule die beste is om in 'n spesifieke situasie te gebruik.
Om 'n spesifieke waarde binne 'n datastel op te soek is een van die mees algemene take in Excel. En tog bestaan daar geen "universele" opsoekformule wat geskik is vir alle situasies nie. Die rede hiervoor is dat die term "opsoek" 'n verskeidenheid verskillende dinge kan aandui: jy kan vertikaal in 'n kolom kyk, horisontaal in 'n ry of by die kruising van 'n ry en kolom, soek met een of meer kriteria, gee die eerste gevind pas of veelvuldige passings, doen 'n hoofletter- of hoofletteronsensitiewe soektog, ensovoorts.
Op hierdie bladsy sal jy 'n lys van die mees noodsaaklike Excel-opsoekfunksies vind met formulevoorbeelde en in-diepte tutoriale gekoppel vir jou verwysing.
Excel Lookup - die basiese beginsels
Voordat ons in die geheimsinnige kinkels van Excel Lookup formules duik, kom ons definieer die sleutelterme om te verseker dat ons altyd op dieselfde bladsy.
Opsoek - soek na 'n gespesifiseerde waarde in 'n datatabel.
Opsoekwaarde - 'n waarde om te soek vir.
Terugwaarde (paswaarde of pasmaat) - 'n waarde op dieselfde posisie as die opsoekwaarde maar in 'n ander kolom of ry (afhangende van of jy vertikaal of horisontaal doenin Excel.
Driedimensionele opsoek
Driedimensionele opsoek beteken om volgens 3 verskillende opsoekwaardes te soek. In 'n datastel hieronder, veronderstel dat jy vir 'n spesifieke jaar (H2) wil soek, dan vir 'n spesifieke naam binne daardie jaardata (H3), en dan 'n waarde vir 'n spesifieke maand (H4) terugstuur.
Die taak kan met die volgende skikkingsformule uitgevoer word (onthou asseblief om Ctrl + Shift + Enter te druk om dit korrek te voltooi):
=INDEX($A$1:$E$12,MIN(IF((ROW($A$1:$A$12)>MATCH(H2,$A$1:$A$12,0))*($A$1:$A$12=H3),ROW($A$1:$A$12),"")),MATCH(H4,$A$1:$E$1,0))
Opsoek met veelvuldige kriteria
Om veelvuldige kriteria te kan evalueer, sal ons die klassieke Index Match-formule moet verander sodat dit in 'n skikkingsformule verander:
INDEX( lookup_table, MATCH (1, ( opsoek_waarde1= opsoek_kolom1) * ( opsoek_waarde2= opsoek_kolom2)*…, 0), terugkolomnommer)Met die opsoektabel in A1:C11, kom ons vind 'n passing volgens 2 kriteria: soek kolom A vir 'n waarde in sel F1, en kolom B vir 'n waarde in sel F2:
=INDEX($A$1:$C$11, MATCH(1, (F1=$A$1:$A$11) * (F2=$B$1:$B$11),0), 3)
Soos gewoonlik, druk jy Ctrl + Shift + Enter vir die formule om as 'n skikkingsformule geëvalueer te word.
Vir die gedetailleerde verduideliking van die vir mula se logika, sien asseblief INDEX MATCH om met veelvuldige kriteria op te soek.
Opsoek om veelvuldige waardes terug te gee
Watter Excel-opsoekfunksie jy ook al gebruik (SOEK, OPSOEK of OPSOEK), dit kan net terugkeer 'n enkele wedstryd. Om alle gevind pasmaats te kry, sal jy 6 moet gebruikverskillende funksies gekombineer in 'n skikkingsformule:
IFERROR(INDEX( return-reik, SMALL(IF( lookup_value= lookup_reik, ROW( return_reik)- m,""), ROW() - n)),"")Waar:
- m is die rynommer van die eerste sel in die terugkeerreeks minus 1.
- n is die rynommer van die eerste formulesel minus 1.
Met die opsoekwaarde in sel E2, soekreeks in A2:A11, terugkeerreeks in B2:B11, en die eerste formulesel in ry 2, neem jou opsoekformule die volgende vorm aan:
=IFERROR(INDEX($B$2:$B$11, SMALL(IF($E$2 =$A$2:$A$11, ROW($B$2:$B$11 )- 1,""), ROW() - 1 )),"")
Vir die formule om veelvuldige passings terug te gee, voer jy dit in die eerste sel in (F2), druk Ctrl + Shift + Enter en kopieer dan die formule na ander selle onder in die kolom.
Vir die gedetailleerde verduideliking van die formule hierbo en ander maniere om veelvuldige waardes terug te gee, sien asseblief Hoe om te Vlookup om veelvuldige resultate terug te gee.
Genste opsoek (van 2 opsoektabelle)
In situasies wanneer jou hooftabel en die opsoektabel van wh as jy data wil trek nie 'n gemeenskaplike kolom het nie, kan jy 'n bykomende opsoektabel gebruik om passings te vestig, soos hierdie:
Om die waardes van die <1 te haal>Bedrag kolom in Opsoektabel2 , jy gebruik die volgende formule:
=VLOOKUP(VLOOKUP(A2, Lookup_table1!$A$1:$B$6, 2, FALSE), Lookup_table2!$A$1:$B$6, 2, FALSE)
Soos in die skermkiekie hieronder getoon, werk ons geneste opsoekformule perfek:
Opeenvolgende Vlookups van veelvuldigeblaaie
Om opeenvolgende Vlookups uit te voer gebaseer op of 'n vorige soektog geslaag of misluk het, gebruik geneste IFERROR-funksies saam met VLOOKUPs om veelvuldige toestande een vir een te evalueer:
IFERROR(VLOOKUP( ...), IFERROR(VLOOKUP( ...), IFERROR(VLOOKUP( ...),"Nie gevind nie")))As die eerste Vlookup misluk, trap IFERROR die fout vas en loop nog 'n Vlookup. As die tweede Vlookup ook niks vind nie, vang die tweede IFERROR die fout op en hardloop die derde Vlookup, ensovoorts. As alle Vlookups misluk, gee die laaste IFERROR "not found" terug of enige ander boodskap wat jy aan die formule verskaf.
As 'n voorbeeld, kom ons probeer om die bedrag uit 3 verskillende velle te trek:
=IFERROR(VLOOKUP(B1,A6:B9,2,0), IFERROR(VLOOKUP(B1,D6:E9,2,0), IFERROR(VLOOKUP(B1,G6:H9,2,0), "Not found")))
Die resultaat sal iets soortgelyk aan hierdie lyk:
Vir meer inligting, sien asseblief Hoe om geneste IFERROR-funksies in Excel te gebruik.
Kleinlettersensitiewe opsoek
Soos jy waarskynlik weet, is alle Excel-soekfunksies van nature hoofletter-onsensitief. Om jou opsoekformule te dwing om tussen kleinletter- en hoofletterteks te onderskei, gebruik óf OPSOEK óf INDEX MATCH in kombinasie met die EXACT-funksie. Ek kies persoonlik vir INDEX MATCH omdat dit nie sorteerwaardes in die opsoekkolom vereis soos die OPSOEK-funksie doen nie, beide links-na-regs- en regs-na-links-opsoekings kan uitvoer, en werk perfek vir alle datatipes.
INDEKS( terugkolom, MATCH(WAAR,EXACT( opsoek_kolom, opsoekwaarde),0))Met G2 as die opsoekwaarde, A - kolom om na te kyk en E - kolom om die passings van terug te gee, ons hooflettersensitiewe opsoekformule gaan soos volg:
=INDEX($E$2:$E$6, MATCH(TRUE, EXACT($A$2:$A$6,G2),0))
Aangesien dit 'n skikkingsformule is, maak seker dat jy Ctrl + Shift + Enter druk om dit behoorlik te voltooi.
Vir meer formulevoorbeelde, sien asseblief Hoe om hooflettergevoelige opsoek in Excel te doen.
Soek gedeeltelike stringpassing op
Soek op deur gedeeltelike match is een van die mees uitdagende take in Excel waarvoor daar geen universele oplossing bestaan nie. Watter formule om te gebruik hang af van watter soort verskille daar is tussen jou opsoekwaardes en waardes in die kolom om in te soek. In die meeste gevalle sal jy die LINKS-, REGS- of MID-funksie gebruik om die algemene deel van die waardes te onttrek, en verskaf dan daardie deel aan die opsoekwaarde -argument van die Vlookup-funksie soos dit in die volgende formule gedoen word:
=VLOOKUP(RIGHT(D2,4), $A$2:$B$6, 2, FALSE)
Waar D2 die opsoekwaarde is, is A2:B6 die opsoektabel en 2 in die indeksnommer van die kolom om die passings van terug te gee.
Vir ander maniere om 'n gedeeltelike passing-opsoek in Excel uit te voer, sien asseblief Hoe om saam te voeg twee werkblaaie deur gedeeltelike passing.
Dit is hoe jy die Opsoek-funksies in Excel gebruik. Om die formules wat in hierdie tutoriaal bespreek word van nader te bekyk, is jy welkom om ons Excel Lookup formule af te laaivoorbeelde.
Formulevrye manier om opsoek in Excel te doen
Dit spreek vanself dat Excel-opsoek nie 'n onbenullige taak is nie. As jy jou eerste stappe neem om die gebied van Excel te leer, kan soekformules nogal verwarrend en moeilik om te verstaan lyk. Maar asseblief, moenie moedeloos voel nie, hierdie vaardighede kom nie natuurlik vir die meerderheid gebruikers nie!
Om dinge vir beginners makliker te maak, het ons 'n spesiale hulpmiddel, Merge Tables Wizard, geskep wat kan opsoek, pas en voeg tabelle saam sonder 'n enkele formule. Daarbenewens bied dit 'n aantal werklik unieke opsies waarby selfs gevorderde Excel-gebruikers kan baat vind:
- Opsoek deur veelvuldige kriteria , dit wil sê gebruik een of meer kolomme as die unieke identifiseerder (s).
- Dateer waardes in bestaande kolomme op en voeg nuwe kolomme by vanaf die opsoektabel.
- Gee terug veelvuldige passings in aparte rye. Wanneer dit in kombinasie met die Combine Rows Wizard gebruik word, kan dit selfs veelvuldige resultate in 'n enkele sel, komma of andersins geskei lewer ('n voorbeeld kan hier gevind word).
- En meer.
Dit is maklik en intuïtief om met die Wizard Merge Tables te werk. Al wat jy hoef te doen is:
- Kies jou hooftabel waar jy ooreenstemmende waardes wil trek.
- Kies die opsoektabel waaruit die passings sal trek.
- Definieer een of meer algemene kolomme.
- Kies die kolomme wat opgedateer moet word of/en bygevoeg word aan die einde vandie tabel.
- Kies opsioneel een of meer bykomende samevoegingsopsies.
- Klik Voltooi en jy sal binne 'n oomblik 'n resultaat kry!
As jy nuuskierig is om die byvoeging op jou eie werkblaaie te probeer, is jy welkom om 'n proefweergawe van ons Ultimate Suite af te laai wat al ons tydbesparende gereedskap vir Excel insluit (in totaal, 70+ gereedskap en 300+ kenmerke!).
Beskikbare aflaaie
Excel Lookup-formulevoorbeelde (.xlsx-lêer)
Ultimate Suite 14-dae ten volle funksionele weergawe (.exe-lêer)
opsoek).Opsoektabel . In rekenaarwetenskap is 'n opsoektabel 'n reeks data wat gewoonlik gebruik word om insetwaardes na uitvoerwaardes te karteer. In terme van hierdie tutoriaal is 'n Excel-opsoektabel niks anders as 'n reeks selle waar jy vir 'n opsoekwaarde soek nie.
Hooftabel (meestertabel) - 'n tabel waarin jy trek ooreenstemmende waardes.
Jou opsoektabel en hooftabel kan verskillende struktuur en grootte hê, maar hulle moet altyd ten minste een algemene unieke identifiseerder bevat, dit wil sê 'n kolom of ry wat identiese data bevat , afhangende van of jy 'n vertikale of horisontale soektog wil uitvoer.
Die volgende skermkiekie wys 'n voorbeeldopsoektabel wat in baie van die onderstaande voorbeelde gebruik sal word.
Excel-opsoekfunksies
Hieronder is 'n vinnige oorsig van die gewildste formules om opsoek in Excel uit te voer, hul belangrikste voordele en nadele.
OPSOEK-funksie
Die OPSOEK-funksie in Excel kan die eenvoudigste tipes vertikale en horisontale soektogte uitvoer.
Voordele : Maklik om te gebruik.
Nadele : Beperk funksionaliteit, kan nie met ongesorteerde data werk nie (vereis sortering t die soekkolom/ry in stygende volgorde).
Vir meer inligting, sien asseblief Hoe om Excel OPSOEK-funksie te gebruik.
OPSOEK-funksie
Dit is 'n verbeterde weergawe van die OPSOEK-funksie. funksie spesiaal ontwerp om vertikale opsoek in te doenkolomme.
Voordele : Relatief maklik om te gebruik, kan met presiese en benaderde pasmaat werk.
Nadele : Kan nie links kyk nie, stop werk wanneer 'n kolom in die opsoektabel ingevoeg of verwyder word, kan 'n opsoekwaarde nie 255 karakters oorskry nie, vereis baie verwerkingskrag op groot datastelle.
Vir meer inligting, sien asseblief Excel VLOOKUP-tutoriaal vir beginners.
HOPSOEK-funksie
Dit is 'n horisontale eweknie van VLOOKUP wat na 'n waarde in die eerste ry van die opsoektabel soek en die waarde in dieselfde posisie vanaf 'n ander ry terugstuur.
Voordeel : Maklik om te gebruik, kan presiese en benaderde passings gee.
Nadele : Kan slegs in die boonste ry van die opsoektabel soek, word deur die invoeging of verwydering van rye, moet 'n opsoekwaarde minder as 255 karakters wees.
Vir meer inligting, sien asseblief Hoe om HLOOKUP in Excel te gebruik.
VLOOKUP MATCH / HLOOKUP MATCH
A dinamiese kolom- of ryverwysing geskep deur MATCH maak hierdie Excel lo okup-formule immuun teen die veranderinge wat in die datastel gemaak is. Met ander woorde, met 'n bietjie hulp van MATCH, kan die VLOOKUP- en HLOOKUP-funksies korrekte waardes gee, ongeag hoeveel kolomme/rye in 'n opsoektabel ingevoeg is of uit 'n opsoektabel verwyder is.
Formule vir Vertikale opsoek
VLOOKUP( opsoekwaarde, opsoektabel, MATCH( terugkolomnaam, kolomopskrifte, 0), ONWAAR)Formule vir Horisontale opsoek
HLOOKUP( opsoekwaarde, opsoektabel, MATCH( return_rynaam, ryopskrifte, 0), ONWAAR)Voordele : 'n Verbetering teenoor gewone Hlookup- en Vlookup-formules wat immuun is teen data-invoeging of -skrap.
Nadele : Nie baie buigsaam nie. , vereis 'n spesifieke datastruktuur (die opsoekwaarde wat aan die MATCH-funksie verskaf word moet presies gelyk wees aan die naam van die terugkeerkolom), kan nie werk met opsoekwaardes wat 255 karakters oorskry nie.
Vir meer inligting en formulevoorbeelde, sien asseblief:
- Excel Vlookup and Match
- Excel Hlookup and Match
OFFSET MATCH
'n Meer komplekse maar 'n kragtiger opsoekformule, vry van baie beperkings van Vlookup en Hlookup.
Formule vir V-Opsoek
OFFSET( lookup_table, MATCH( lookup_value, OFFSET( opsoektabel, 0, n, ROWS( opsoektabel), 1) ,0) -1, m, 1, 1)Waar:
- n - is die opsoekkolom offset, i. e. die aantal kolomme om van die beginpunt na die opsoekkolom te beweeg.
- m - is die terugkeerkolomverskuiwing, i. e. die aantal kolomme om van die beginpunt na die terugkeerkolom te skuif.
Formule vir H-opsoek
VERSKRYWING( opsoektabel, m, MATCH( opsoekwaarde, VERSKEINING( opsoektabel, n, 0, 1, KOLOMME( opsoektabel)), 0) -1, 1, 1)Waar:
- n - is die opsoekry-offset, i. e. die aantal rye om van die beginpunt na die opsoekry te skuif.
- m - is die terugwaartse ry offset, i. e. die aantal rye om van die beginpunt na die terugkeerry te skuif.
Formule vir matriksopsoek (volgens ry en kolom)
{=VERWYDING ( beginpunt, MATCH ( vertikale_opsoek_waarde, opsoek_kolom, 0), MATCH ( horisontal_lookup_value, lookup_row, 0))}Let asseblief daarop dat dit 'n skikkingsformule is wat ingevoer word deur Ctrl + Shift + Enter te druk sleutels terselfdertyd.
Voordele : Laat die uitvoering van 'n linkerkant Vlookup, 'n boonste Hlookup en tweerigting-opsoek (volgens kolom- en rywaardes) toe, onaangeraak deur veranderinge in die data stel.
Nadele : Kompleks en moeilik om te onthou sintaksis.
Vir meer inligting en formulevoorbeelde, sien asseblief: Gebruik OFFSET-funksie in Excel
INDEX MATCH
Dit is die beste manier om vertikale of horisontale opsoek in Excel te doen wat die meeste van die bogenoemde formules kan vervang. Die Index Match-formule is my persoonlike voorkeur en ek gebruik dit vir byna al my Excel-soektogte.
Formule vir V-Opsoek
INDEX ( return_column, MATCH ( opsoek_waarde, opsoek_kolom, 0))Formule vir H-opsoek
INDEKS ( return_ry, MATCH ( opsoekwaarde, opsoekry, 0))Formule vir matriksopsoek
'nuitbreiding van die klassieke Index Match formule om 'n waarde by die snypunt van 'n spesifieke kolom en ry terug te gee:
INDEX ( opsoektabel, MATCH ( vertikale_opsoek_waarde, opsoek_kolom, 0), MATCH ( horisontal_lookup_value, lookup_row, 0))Nadele : Net een - jy moet die formule se sintaksis onthou.
Voordele : Die mees veelsydige opsoekformule in Excel, beter as Vlookup, Hlookup en Lookup-funksies in baie opsigte:
- Dit kan linker- en boonste soektogte doen.
- Laat die opsoektabel veilig uitbrei of invou deur kolomme en rye in te voeg of uit te vee.
- Geen beperking op die opsoekwaarde se grootte nie.
- Werk vinniger. Omdat 'n Index Match-formule na kolomme/rye verwys eerder as 'n hele tabel, verg dit minder verwerkingskrag en sal dit nie jou Excel vertraag nie.
Vir meer inligting, kyk gerus na:
- INDEX MATCH as 'n beter alternatief vir VLOOKUP
- INDEX MATCH MATCH formule vir tweedimensionele opsoek
Excel Lookup vergelyking tabel
Soos jy sien , nie alle Excel-opsoek-formules is ekwivalent nie, sommige kan 'n aantal verskillende soektogte hanteer terwyl ander slegs in 'n spesifieke situasie gebruik kan word. Die tabel hieronder gee 'n uiteensetting van die vermoëns van elke Opsoekformule in Excel.
Formule | Vertikale opsoek | Linkeropsoek | Horizontale opsoek | Bo-opsoek | Matriksopsoek | Laat data invoeging/uitvee toe |
Opsoek | ✓ | ✓ | ||||
Vlookup | ✓ | |||||
Hlookup | ✓ | |||||
Vlookup Match | ✓ | ✓ | ||||
Hlookup Match | ✓ | ✓ | ||||
Verrekenwedstryd | ✓ | ✓ | ✓ | ✓ | ✓ | |
Verrekenwedstryd | ✓ | ✓ | ||||
Indekspassing | ✓ | ✓ | ✓ | ✓ | ✓ | |
Indekspassing | ✓ | ✓ |
Excel-opsoekformulevoorbeelde
Die eerste stap om te besluit watter formule om in 'n spesifieke situasie te gebruik, is om te bepaal watter soort opsoek jy wil uitvoer. Hieronder vind u formulevoorbeelde vir die gewildste opsoektipes:
Vertikale opsoek in kolomme
'n Vertikale opsoek of Vlookup is die proses om 'n opsoekwaarde in een kolom te vind en die terugkeer van 'n waarde in dieselfde ry uit 'n ander kolom. Vlookup in Excel kan op 'n verskeidenheid maniere gedoen word, insluitend:
VLOOKUP-funksie
As jou opsoekwaardes in die linkerkolom van die tabel is, en jy nie van plan is om enige strukturele veranderinge aanjou datastel (voeg nie kolomme by of vee nie uit nie), jy kan veilig 'n gewone Vlookup-formule gebruik:
=VLOOKUP(G2, $A$2:$E$6, 5, FALSE)
Waar G2 die opsoekwaarde is, A2:E6 in die opsoektabel, en E is die terugkeerkolom.
VLOOKUP MATCH
As jy met 'n "veranderlike" Excel-opsoektabel werk waar kolomme te eniger tyd ingevoeg en uitgevee kan word, maak jou Vlookup-formule immuun teen daardie veranderinge deur die Match-funksie in te sluit wat 'n dinamiese kolomverwysing skep in plaas van 'n "hard-gekodeerde" indeksnommer:
=VLOOKUP(F2,$A$1:$D$6, MATCH($G$1,$A$1:$D$1, 0), FALSE)
INDEX MATCH - Linker-opsoek
Dit is my gunstelingformule wat regs-na-links-opsoeke met gemak hanteer en onberispelik werk, maak nie saak hoeveel kolomme jy byvoeg of uitvee nie.
Om byvoorbeeld kolom te soek B vir die waarde in H2 en gee 'n passing van kolom F terug, gebruik hierdie formule:
=INDEX($F$2:$F$6,(MATCH(H2,$B$2:$B$6,0)))
Let wel. Wanneer jy van plan is om 'n Vlookup-formule in meer as een sel te gebruik, moet jy altyd die opsoektabelverwysing sluit deur die $-teken (absolute selverwysing) te gebruik, sodat die formule korrek na ander selle gekopieer word.
Horizontale opsoek in rye
'n Horisontale opsoek is 'n "getransponeerde" weergawe van vertikale opsoek wat in 'n horisontaal gerangskik datastel soek. Met ander woorde, dit soek na die opsoekwaarde in een ry, en gee 'n waarde in dieselfde posisie vanaf 'n ander ry terug.
As aanvaar word dat jou opsoekwaarde in B9 is, is opsoektabel B1:F5, enjy wil 'n ooreenstemmende waarde van ry 5 terugstuur, gebruik een van die volgende formules:
HOOGUP-funksie
Kan net oor die bo-ry in jou datastel opsoek .
=HLOOKUP(B8, $B$1:$F$5, 5, FALSE)
HLOOKUP MATCH
Soos pure Hlookup, kan hierdie formule slegs in die boonste ry soek, maar laat jou toe om voeg rye veilig in of skrap rye in die opsoektabel.
=HLOOKUP(B8, $B$1:$F$5, MATCH($A$9, $A$1:$A$5, 0), FALSE)
Waar A1:A5 ryopskrifte is en A9 die naam van die ry is waaruit jy passings wil terugstuur .
INDEX MATCH
Kan in enige ry opsoek , en het geen van die beperkings van die bogenoemde formules nie.
=INDEX($B$5:$F$5,(MATCH(B8,$B$1:$F$1,0)))
Tweedimensionele opsoek (gebaseer op ry- en kolomwaardes)
Tweedimensionele opsoek (ook bekend as matriksopsoek , dubbelsoek of 2-rigtingopsoek ) gee 'n waarde terug gebaseer op passings in beide rye en kolomme. Met ander woorde, 'n 2-dimensionele opsoekformule soek na 'n waarde by die snypunt van 'n gespesifiseerde ry en kolom.
As aangeneem word dat jou opsoektabel A1:E6 is, bevat sel H2 die waarde wat op die rye en H3 hou die waarde om op die kolomme te pas, die volgende formules sal 'n lekkerny werk:
INDEX MATCH MATCH formule :
=INDEX($A$1:$E$6, MATCH(H2,$A$1:$A$6,0), MATCH(H3,$A$1:$E$1,0))
OFFSET MATCH MATCH formule :
=OFFSET($A$1,MATCH(H2,$A$2:$A$6,0),MATCH(H3,$B$1:$E$1,0))
Afgesien van die bogenoemde formules, bestaan daar 'n handvol ander maniere om matriksopsoek in Excel uit te voer , en jy kan volledige besonderhede vind in Hoe om 2-rigting opsoek te doen