Excel HLOOKUP funksie met formule voorbeelde

  • Deel Dit
Michael Brown

Soos jy waarskynlik weet, het Microsoft Excel drie funksies om 'n waarde op te soek - OPSOEK, OPSOEK en OPSOEK - en dit lyk of dit gebruikers die meeste verwar. In hierdie tutoriaal sal ons op die spesifisiteite van die Excel HLOOKUP-funksie fokus en 'n paar formule-voorbeelde bespreek wat jou sal help om dit die doeltreffendste in Excel te gebruik.

    Wat is HLOOKUP in Excel?

    Die Excel HLOOKUP-funksie is ontwerp vir horisontale opsoek . Meer spesifiek, dit soek na 'n sekere waarde in die eerste ry van die tabel en gee 'n ander waarde in dieselfde kolom terug vanaf 'n ry wat jy spesifiseer.

    Die HLOOKUP-funksie is beskikbaar in alle weergawes van Microsoft Excel 2016, Excel 2013, Excel 2010, Excel 2007 en laer.

    Excel HLOOKUP sintaksis en gebruike

    Die HLOOKUP-funksie in Excel het die volgende argumente:

    HLOOKUP(lookup_value, table_array, row_index_num, [ range_lookup])
    • Opsoekwaarde (vereis) - die waarde waarna gesoek moet word. Dit kan 'n selverwysing, numeriese waarde of teksstring wees.
    • Tabelskikking (vereis) - twee of meer rye data waarin die opsoekwaarde gesoek word. Dit kan 'n gereelde reeks, benoemde reeks of tabel wees. Opsoekwaardes moet altyd in die eerste ry van tabelskikking geleë wees.
    • Ry_indeks_getal (vereis) - die rynommer in tabelskikking waaruit die waarde moet teruggestuur word. Byvoorbeeld, om die ooreenstemmende waarde van terug te geeenige probleme met die herbou van die Vlookup-formules vir 'n horisontale opsoek.

      Top 10 redes waarom Excel HLOOKUP nie werk nie

      Teen nou weet jy reeds dat Hlookup 'n baie nuttige en kragtige opsoekfunksie in Excel is . Dit is ook 'n moeilike een, en as gevolg van sy talle spesifisiteite is #N/A, #VALUE of #REF foute 'n algemene gesig. As jou HLOOKUP-formule nie behoorlik werk nie, is dit heel waarskynlik as gevolg van een van die volgende redes.

      1. HLOOKUP in Excel kan nie bo homself kyk nie

      Selfs as jy alle ander besonderhede oor horisontale opsoek in Excel vergeet, onthou asseblief hierdie noodsaaklike een - Hlookup kan slegs soek in die boonste ry van die tafel. As jou opsoekwaardes in 'n ander ry voorkom, word 'n NVT-fout teruggestuur. Om hierdie beperking te oorkom, gebruik 'n INDEX MATCH formule.

      2. Benaderde passing vs. presiese passing

      Wanneer jy 'n soektog in Excel doen, hetsy horisontaal (Hlookup) of vertikaal (Vlookup), sal jy in die meeste gevalle na 'n spesifieke ding soek, en dus 'n presiese passing benodig. Wanneer jy soek met benaderde passing ( reeks_opsoek op WAAR gestel of weggelaat), onthou om waardes in die eerste ry in stygende volgorde te sorteer.

      Vir meer inligting en formulevoorbeelde, sien asseblief Excel Hlookup met benaderde en presiese passing.

      3. Die tabelskikkingverwysing verander wanneer die formule gekopieer word

      Wanneer verskeie HLOOKUP's gebruik word om te herwininligting oor 'n ry opsoekwaardes, moet jy die tabel_skikking verwysing sluit soos gedemonstreer in Absolute en relatiewe selverwysings in Hlookup formules.

      4. Invoeging of verwydering van 'n nuwe ry

      Om te verstaan ​​hoekom die invoeging van 'n nuwe ry 'n Hlookup-formule kan breek, onthou hoe Excel HLOOKUP inligting oor die opsoekwaarde kry - gebaseer op die ryindeksnommer wat jy spesifiseer.

      Gestel, jy wil verkoopsyfers kry gebaseer op die produk ID. Daardie syfers is in ry 4, so jy tik 4 in die ry_indeks_num argument. Maar nadat 'n nuwe ry ingevoeg is, word dit ry 5... en jou Hlookup hou op werk. Dieselfde probleem kan voorkom wanneer 'n bestaande ry uit die tabel verwyder word.

      Die oplossing is óf sluit die tabel om te verhoed dat jou gebruikers nuwe rye invoeg, óf gebruik INDEX & MATCH in plaas van Hlookup. In Indeks/Pas-formules spesifiseer jy die rye om op te soek en om waardes van terug te gee as reeksverwysings, nie indeksnommers nie, en Excel is slim genoeg om daardie verwysings dadelik aan te pas. Dit staan ​​dus vry om soveel kolomme en rye uit te vee of in te voeg as wat jy wil sonder om bekommerd te wees oor die opdatering van elke formule in jou werkblad.

      5. Duplikate in die tabel

      Die HLOOKUP-funksie in Excel kan net een waarde terugstuur, wat die eerste waarde in die tabel is wat by die opsoekwaarde pas.

      As daar 'n paar identiese rekords in jou tafel, kieseen van die volgende oplossings wat die beste by jou behoeftes pas:

      • Verwyder duplikate deur Excel se middele of ons Duplikaatverwyderaar te gebruik
      • Indien duplikaatrekords in die datastel gehou moet word, skep 'n draaitabel om groepeer en filtreer jou data soos jy wil.
      • Gebruik 'n skikkingsformule om alle duplikaatwaardes in die opsoekreeks te onttrek.

      6. Ekstra spasies

      Wanneer jou duidelik korrekte Hlookup-formule 'n klomp #N/A-foute gee, gaan jou tabel en soekwaarde na vir ekstra spasies. Jy kan vinnig voorste, agterste en oortollige tussenruimtes verwyder deur die Excel TRIM-funksie of ons Cell Cleaner-nutsding te gebruik.

      7. Getalle geformateer as teks

      Teksstringe wat soos syfers lyk, is nog 'n struikelblok vir Excel-formules. Die gedetailleerde beskrywing van hierdie probleem en moontlike oplossings word beskryf in Waarom Excel-formules dalk ophou werk.

      8. Opsoekwaarde oorskry 255 karakters

      Alle opsoekfunksies in Excel werk net solank 'n opsoekwaarde minder as 255 karakters is. 'n Langer opsoekwaarde lei tot die #VALUE! fout. Aangesien die INDEX /MATCH formule vry is van hierdie beperking, gebruik dit om hierdie hekkie te oorkom.

      9. Volledige pad na die opsoekwerkboek is nie gespesifiseer nie

      As jy h-opsoek vanaf 'n ander werkboek uitvoer, onthou om die volledige pad daarna te verskaf. 'n Paar formule-voorbeelde kan hier gevind word: Hoe om Hlookup te doen vanaf 'n ander werkblad ofwerkboek.

      10. Verkeerde argumente

      Daar is reeds meer as een keer uitgelig dat HLOOKUP 'n veeleisende funksie is wat met groot sorg hanteer moet word. Hieronder is 'n paar mees algemene foute wat veroorsaak word deur die verskaffing van verkeerde argumente:

      • As ry_indeks_getal minder as 1 is, gee die HOOGOP-funksie die #WAARDE! fout.
      • As ry_indeks_getal groter is as die aantal rye in tabelskikking, #REF! fout word teruggestuur.
      • As jy soek met benaderde passing en jou soekwaarde is kleiner as die kleinste waarde in die eerste ry van tabelskikking, word die #N/A-fout teruggestuur.

      Wel, dit is hoe om HLOOKUP in Excel te gebruik. Hopelik sal jy hierdie inligting nuttig vind. Ek bedank jou vir die lees en hoop om jou volgende week op ons blog te sien!

      Laai oefenwerkboek af

      Excel HLOOKUP formule voorbeelde

      die 2de ry, stel ry_indeks_getal na 2, ensovoorts.
    • Reikopsoek (opsioneel) - 'n logiese (Booleaanse) waarde wat HLOOKUP opdrag gee om met presiese of benaderde passing te soek.

      Indien WAAR of weggelaat word, word 'n geskatte passing teruggestuur. Wat dit beteken, is dat as 'n presiese passing nie gevind word nie, sal jou Hlookup-formule 'n nie-presiese passing doen en die volgende grootste waarde wat minder as lookup_value is, terugstuur.

      Indien ONWAAR, slegs 'n presiese passing word teruggestuur. As geen waarde in 'n gespesifiseerde ry presies ooreenstem met die opsoekwaarde nie, gooi HLOOKUP die #N/A-fout.

    Om dinge makliker te maak om te verstaan, kan jy Excel se HLOOKUP-sintaksis vertaal:

    HLOOKUP( lookup_value, table_array , row_index_num , [range_lookup])

    in normale Engels:

    HLOOKUP( soek vir hierdie waarde, gee in hierdie tabel 'n waarde uit hierdie ry terug, [stuur 'n benaderde of presiese passing terug])

    Om te sien hoe dit in die praktyk werk , kom ons maak 'n eenvoudige Hlookup-voorbeeld. Gestel jy het 'n tabel met 'n paar basiese inligting oor die planete van ons Sonnestelsel (sien asseblief die skermkiekie hieronder). Wat jy wil hê, is 'n formule wat die deursnee van die planeet gee wie se naam in sel B5 ingevoer is.

    In ons Hlookup-formule sal ons die volgende argumente gebruik:

    • Opsoekwaarde is B5 - die sel wat die planeetnaam bevat wat jy wil vind.
    • Tabel_skikking is B2:I3 - die tabel waar dieformule sal die waarde opsoek.
    • Ry_index_num is 2 want Diameter is die 2de ry in die tabel.
    • Reik_opsoek is ONWAAR. Omdat die eerste ry van ons tabel nie van A tot Z gesorteer is nie, kan ons net opsoek met presiese pasmaat, wat in hierdie voorbeeld goed werk.

    Nou sit jy die argumente bymekaar en kry die volgende formule:

    =VLOOKUP(40, A2:B15,2)

    3 dinge wat jy van Excel HLOOKUP-funksie moet weet

    Wanneer jy 'n horisontale opsoek in Excel doen, onthou asseblief die volgende feite:

    1. Die HLOOKUP-funksie kan slegs in die boonste ry van tabelskikking soek. As jy iewers anders moet opsoek, oorweeg dit om 'n Indeks/Pas-formule te gebruik.
    2. HLOOKUP in Excel is hoofletter-onsensitief , dit onderskei nie hoofletters en kleinletters nie.
    3. As reeksopsoek op WAAR gestel is of weggelaat is ( benaderde passing), moet die waardes in die eerste ry van tabelskikking in stygende volgorde (A-Z) links na regs.

    Wat is die verskil tussen VLOOKUP en HLOOKUP in Excel?

    Soos jy reeds weet, soek beide funksies VLOOKUP en HLOOKUP vir 'n opsoekwaarde . Die verskil is hoe die soektog uitgevoer word. Soos jy waarskynlik opgemerk het, verskil die funksies se name slegs in die eerste letter - "H" staan ​​vir horisontaal, en "V" vir vertikaal.

    Gevolglik gebruik jy die VLOOKUP-funksie om te soek is vertikaal. lystewanneer jou opsoekwaardes in 'n kolom aan die linkerkant van die data wat jy wil vind geleë is.

    Die HLOOKUP-funksie voer 'n horisontale opsoek uit - dit soek 'n opsoekwaarde aan die bokant -meeste ry van die tabel en gee 'n waarde terug wat 'n gespesifiseerde aantal rye onder in dieselfde kolom geleë is.

    Die volgende prent demonstreer die verskil tussen Vlookup- en Hlookup-formules in Excel:

    Hoe om gebruik HLOOKUP in Excel - formule voorbeelde

    Noudat die HLOOKUP funksie vir jou 'n bietjie meer bekend begin lyk het, kom ons bespreek nog 'n paar formule voorbeelde om die kennis te konsolideer.

    Horizontale opsoek met benaderde en presiese passing

    Soos jy reeds weet, kan die HLOOKUP-funksie in Excel 'n opsoek doen met presiese en nie-presiese passing, afhangende van watter waarde aan die reeks_soek -argument verskaf word:

    • WAAR of weggelaat - geskatte passing
    • ONWAAR - presiese passing

    Hou asseblief in gedagte dat alhoewel ons sê "ongeveer pasmaat ", soek enige Hlookup-formule in die eerste plek vir 'n presiese passing. Maar om die laaste argument op ONWAAR te stel, laat die formule toe om 'n benaderde passing terug te gee (die naaste waarde wat minder is as die opsoekwaarde) as 'n presiese passing nie gevind word nie; WAAR of weggelaat gee in hierdie geval die #N/A-fout terug.

    Om die punt beter te illustreer, oorweeg die volgende HLOOKUP-voorbeelde.

    HLOOKUP metbenaderde passing

    Gestel jy het 'n lys van planete in ry 2 (B2:I2) en hul temperature in ry 1(B1:I1). Jy wil uitvind watter planeet 'n sekere temperatuur het wat in sel B4 ingevoer word.

    Jy kan nie staatmaak op die afkans dat jou gebruikers die opsoektemperatuur presies weet nie, so dit maak sin om 'n terug te gee. naaste pasmaat as 'n presiese waarde nie gevind word nie.

    Om byvoorbeeld die planeet uit te vind wie se gemiddelde temperatuur rondom -340 °F is, gebruik die volgende formule ( reeks_soek stel na WAAR of weggelaat soos in hierdie voorbeeld):

    =HLOOKUP(B4, B1:I2, 2)

    Onthou asseblief dat 'n benaderde passing vereis dat die waardes in die boonste ry van kleinste na grootste of van A tot Z gesorteer word, anders is jou Hlookup formule kan 'n verkeerde resultaat gee.

    Soos jy in die skermkiekie hieronder kan sien, gee ons formule Uranus terug, een van die koudste planete in die Sonnestelsel wat 'n gemiddeld van -346 grade Fahrenheit handhaaf .

    HLOOKUP met presiese pasmaat

    As jy die opsoekwaarde presies ken, kan jy die laaste parameter van HLOOKUP na ONWAAR stel:

    =HLOOKUP(B4, B1:I2, 2, FALSE)

    Op die een kant, 'n benaderde passing Hlookup is meer gebruikersvriendelik omdat dit nie sorteer data in die eerste ry vereis. Aan die ander kant, as die presiese passing nie gevind word nie, sal 'n #N/A-fout teruggestuur word.

    Wenk. Om nie jou gebruikers bang te maak vir N/A-foute nie, kan jy jou Hlookup-formule in IFERROR insluit en vertoonjou eie boodskap, byvoorbeeld:

    =IFERROR(HLOOKUP(B4, B1:I2, 2, FALSE), "Sorry, nothing has been found")

    Hoe om HLOOKUP vanaf 'n ander werkblad of werkboek te doen

    In die algemeen beteken h-opsoek vanaf 'n ander blad of 'n ander werkboek niks anders as om eksterne verwysings na jou HLOOKUP-formule te verskaf.

    Om bypassende data uit 'n ander werkblad te trek, spesifiseer jy die bladnaam gevolg deur 'n uitroepteken. Byvoorbeeld:

    =HLOOKUP(B$1, Diameters!$B$1:$I$2,2,FALSE)

    As die werkbladnaam spasies of nie-alfabetiese karakters bevat, sluit die naam in enkele aanhalingstekens, soos hierdie :

    =HLOOKUP(B$1, 'Planet diameters'!$B$1:$I$2,2,FALSE)

    Wanneer jy na 'n ander werkboek verwys, sluit die werkboeknaam tussen vierkantige hakies in:

    =HLOOKUP(B$1, [Book1.xlsx]Diameters!$B$1:$I$2, 2, FALSE)

    As jy as u data uit 'n geslote werkboek trek, moet die hele pad gespesifiseer word:

    =HLOOKUP(B$1, 'D:\Reports\[Book1.xlsx]Diameters'!$B$1:$I$2, 2, FALSE)

    Wenk. In plaas daarvan om die werkboek- en werkbladname handmatig in die formule in te tik, kan jy die selle in 'n ander blad kies en Excel sal outomaties 'n eksterne verwysing by jou formule byvoeg.

    Excel HLOOKUP met gedeeltelike passing (wildcard karakters)

    Soos die geval met VLOOKUP, laat Excel se HLOOKUP-funksie die volgende jokertekens in die opsoekwaarde -argument gebruik:

    • Vraagteken (? ) om enige enkele karakter te pas
    • Asterisk (*) om enige volgorde van karakters te pas

    Wildcards kom handig te pas wanneer jy inligting uit 'n databasis wil trek gebaseer op een of ander teks watis deel van die opsoeksel se inhoud.

    Jy het byvoorbeeld 'n lys klantname in ry 1 en bestel-ID's in ry 2. Jy wil die bestelling-ID vir 'n spesifieke kliënt vind, maar jy kan nie die kliënt se naam presies, alhoewel jy onthou dat dit met "ace" begin.

    Gestel jou data is in selle B1:I2 ( tabelskikking) en bestelnommers is in ry 2 ( row_index_num ), gaan die formule soos volg:

    =HLOOKUP("ace*", B1:I2, 2, FALSE)

    Om die formule meer buigsaam te maak, kan jy die opsoekwaarde in 'n spesiale sel tik, sê B4, en daardie sel aaneenskakel met die jokerteken, soos volg:

    =HLOOKUP(B4&"*", B1:I2, 2, FALSE)

    Notes.

    • Vir 'n jokerteken HLOOKUP-formule om korrek te werk, moet die reekssoek -argument op ONWAAR gestel word.
    • As tabelskikking meer bevat as een waarde wat aan die jokertekenkriteria voldoen, word die eerste gevind waarde teruggestuur.

    Absolute en relatiewe selverwysings in HLOOKUP formules

    As jy 'n formule vir 'n enkele sel skryf, jy mag nie bekommerd wees oor die korrekte gebruik van relatiewe en absolute selverwysings nie, enige een sal doen.

    Om 'n formule na veelvuldige selle te kopieer is 'n ander storie. In wese:

    • Jy moet altyd tabel_skikking regmaak deur absolute selverwysings met die dollarteken ($) soos $B$1:$I$2 te gebruik.
    • Tipies is die opsoekwaarde -verwysing relatief of gemeng, afhangende van jou besigheidlogika.

    Om dinge duideliker te maak, kom ons kyk van naderby na die formule wat data uit 'n ander blad trek:

    =HLOOKUP(B$1, Diameters!$B$1:$I$2,2,FALSE)

    In die bogenoemde formule, gebruik absolute selverwysings ($B$1:$I$2) in tabelskikking omdat dit konstant moet bly wanneer die formule na ander selle gekopieer word.

    Vir opsoekwaarde (B$1), ons gebruik 'n gemengde verwysing, relatiewe kolom en absolute ry, want ons opsoekwaardes (planeetname) is in dieselfde ry (ry 1) maar in verskillende kolomme ( van B na I) en die kolomverwysing moet verander op grond van 'n relatiewe posisie van 'n sel waar die formule gekopieer is.

    As gevolg van die slim gebruik van selverwysings, werk ons ​​Hlookup-formule perfek vir veelvuldige selle:

    INDEX/MATCH - 'n kragtiger alternatief vir Excel HLOOKUP

    Soos jy reeds weet, het die HLOOKUP-funksie in Excel 'n aantal beperkings, die belangrikste is sy onvermoë om enige plek op te soek behalwe vir die boonste ry, en die nodige om waardes te sorteer wanneer met benaderde passing gesoek word.

    Gelukkig bestaan ​​daar 'n kragtiger en veelsydige alternatief vir Vlookup en Hlookup in Excel - die skakeling van INDEX- en MATCH-funksies, wat neerkom op hierdie generiese formule:

    INDEX ( waar om 'n waarde van terug te gee , MATCH ( opsoekwaarde , waar om te soek , 0))

    As jy jou opsoekwaarde aanvaar is in sel B7, jy soekvir 'n passing in ry 2 (B2:I2), en 'n waarde van ry 1 (B1:I1) wil terugstuur, is die formule soos volg:

    =INDEX(B1:I1,MATCH(B7,B2:I2,0))

    In die skermkiekie hieronder , jy kan 2 Hlookup-formules sien wat in die eerste en tweede rye soek, en in beide gevalle werk INDEX MATCH ewe goed.

    Vir die gedetailleerde verduideliking van die formule se logika en meer voorbeelde, sien asseblief INDEX MATCH as 'n beter alternatief vir VLOOKUP.

    Hoe om hooflettergevoelige h-opsoek in Excel te doen

    Soos genoem in die begin van hierdie handleiding, is die Excel HLOOKUP-funksie hoofletter-onsensitief. In situasies waar die karakterkas belangrik is, kan jy die EXACT-funksie neem wat selle presies vergelyk, en dit binne die INDEX MATCH-formule plaas wat in die vorige voorbeeld bespreek is:

    INDEX ( ry om 'n waarde terug te gee vanaf , MATCH(TRUE, EXACT( ry om in te soek , opsoekwaarde) , 0))

    Gestel jou opsoekwaarde is in sel B4, die opsoekreeks is B1:I1, en die terugkeerreeks is B2:I2, die formule neem die volgende vorm aan:

    =INDEX(B2:I2, MATCH(TRUE, EXACT(B1:I1,B4),0))

    Belangrike nota! Dit is 'n skikkingsformule en daarom moet jy Ctrl + Shift + Enter druk om dit te voltooi.

    Die voorbeeld hierbo demonstreer my gunsteling, maar nie die enigste moontlike manier om 'n hooflettersensitiewe Hlookup in Excel te doen nie. As jy nuuskierig is om ander tegnieke te ken, kyk asseblief na hierdie tutoriaal: 4 maniere om 'n hooflettersensitiewe Vlookup in Excel te doen. Ek dink jy sal nie hê nie

    Michael Brown is 'n toegewyde tegnologie-entoesias met 'n passie om komplekse prosesse te vereenvoudig deur sagteware-instrumente te gebruik. Met meer as 'n dekade se ondervinding in die tegnologiebedryf, het hy sy vaardighede in Microsoft Excel en Outlook, sowel as Google Sheets en Docs, opgeskerp. Michael se blog is toegewy daaraan om sy kennis en kundigheid met ander te deel, en verskaf maklik-om-te volg wenke en tutoriale vir die verbetering van produktiwiteit en doeltreffendheid. Of jy nou 'n ervare professionele persoon of 'n beginner is, Michael se blog bied waardevolle insigte en praktiese raad om die meeste uit hierdie noodsaaklike sagteware-nutsmiddels te kry.