De mest populære av oppslagsfunksjonene i Excel 2007 er HLOOKUP (for horisontalt oppslag) og VLOOKUP (for vertikalt oppslag). Disse funksjonene er plassert i kategorien Oppslag og referanse i kategorien Formler på båndet og i dialogboksen Sett inn funksjon. De er en del av en kraftig gruppe funksjoner som kan returnere verdier ved å slå dem opp i datatabeller.
HLOOKUP-funksjonen søker horisontalt (venstre mot høyre) den øverste raden i en tabell til den finner en verdi som samsvarer med eller overstiger den du ser opp. VLOOKUP-funksjonen søker vertikalt (topp til bunn) kolonnen lengst til venstre i en tabell til programmet finner en verdi som samsvarer med eller overstiger den du ser opp.
Når du bruker funksjonene VLOOKUP og HLOOKUP, må teksten eller numeriske oppføringer i oppslagskolonnen eller raden (det vil si kolonnen lengst til venstre i en vertikal oppslagstabell eller den øverste raden i en horisontal oppslagstabell) være unik. Disse oppføringene må også ordnes eller sorteres i stigende rekkefølge; det vil si alfabetisk rekkefølge for tekstoppføringer, og laveste til høyeste rekkefølge for numeriske oppføringer.
HLOOKUP-funksjonen bruker følgende syntaks:
=HLOOKUP(oppslagsverdi,tabellmatrise,radindeksnummer,[områdeoppslag])
VLOOKUP-funksjonen følger den nesten identiske syntaksen:
=VLOOKUP(oppslagsverdi;tabellmatrise;kol.indeksnummer;[områdeoppslag])
I begge funksjonene er oppslagsverdi- argumentet verdien du vil slå opp i tabellen, tabellmatrise er celleområdet eller navnet på tabellen som inneholder både verdien som skal slås opp og den relaterte verdien som skal returneres. Den row_index_num argument i FINN.KOLONNE-funksjonen er nummeret på raden der verdien du vil tilbake; den col_index_num argument i FINN.RAD-funksjonen er nummeret på kolonnen med verdien du ønsker å returnere.
Den valgfrie range_lookup argument i både FINN.RAD og FINN.KOLONNE funksjonene er logisk SANN eller USANN som angir om du vil Excel til å finne en eksakt eller omtrentlig samsvar for søkeverdi i tabell . Når du spesifiserer TRUE eller utelater argumentet range_lookup , finner Excel et omtrentlig samsvar. Når du angir FALSE som range_lookup- argumentet, finner Excel bare eksakte treff.
Å finne omtrentlige treff gjelder bare når du slår opp numeriske oppføringer (i stedet for tekst). Når Excel ikke finner et eksakt samsvar i denne oppslagskolonnen eller -raden, finner den den nest høyeste verdien som ikke overskrider oppslagsverdi- argumentet, og returnerer deretter verdien i kolonnen eller raden angitt av argumentene col_index_num eller row_index_num .
Figuren nedenfor viser et eksempel på bruk av VLOOKUP-funksjonen for å returnere enten 15 % eller 20 % tips fra en tipstabell, avhengig av totalen før skatt for sjekken. Celle F3 inneholder funksjonen VLOOKUP:
=VLOOKUP(Pretax_Total,Tips_Table,IF(Tips_Prosent=0,15,2,3))
Denne formelen returnerer tipsbeløpet basert på tipsprosenten i celle F1 og beløpet før skatt for sjekken i celle F2.
Ved å bruke VLOOKUP-funksjonen for å returnere mengden av tipset som skal legges til fra en oppslagstabell.
For å bruke denne tipstabellen, skriv inn prosentandelen av tipset (15 % eller 20 %) i celle F1 (kalt Tips_Percentage) og beløpet på sjekken før skatt i celle F2 (kalt Pretax_Total). Excel slår deretter opp verdien du angir i Pretax_Total-cellen i den første kolonnen i oppslagstabellen, som inkluderer celleområdet A2:C101 og heter Tips_Table.
Excel flytter deretter ned verdiene i den første kolonnen i Tips_Table til den finner en match. Hvis Excel finner at verdien angitt i Pretax_Total-cellen ($16,50 i dette eksemplet) ikke samsvarer nøyaktig med en av verdiene i den første kolonnen i Tip_Table, fortsetter programmet å søke nedover sammenligningsområdet til det finner den første verdien som overskrider totalen før skatt (17,00 i celle A19 i dette eksemplet). Excel flytter deretter tilbake til forrige rad i tabellen og returnerer verdien i kolonnen som samsvarer med argumentet col_index_num til funksjonen VLOOKUP (dette er fordi det valgfrie range_lookup- argumentet er utelatt fra funksjonen).
Legg merke til at argumentet col_index_number bruker en IF-setning for å bestemme hvilken kolonnes verdi som skal returneres. I dette tilfellet, hvis Tips_Percentage-verdien er 0,15, returnerer funksjonen verdien i den andre kolonnen i tabellen i raden som ble identifisert av lookup_value. Ellers returnerer den verdien i den tredje kolonnen i samme rad.