De mest populära av uppslagsfunktionerna i Excel 2007 är HLOOKUP (för horisontell sökning) och VLOOKUP (för vertikal sökning). Dessa funktioner finns i kategorin Sök & referens på fliken Formler på menyfliksområdet och i dialogrutan Infoga funktion. De ingår i en kraftfull grupp funktioner som kan returnera värden genom att slå upp dem i datatabeller.
Funktionen HLOOKUP söker horisontellt (vänster till höger) den översta raden i en tabell tills den hittar ett värde som matchar eller överstiger det du letar upp. SÖKUPPSÖKNING-funktionen söker vertikalt (uppifrån och ned) den vänstra kolumnen i en tabell tills programmet hittar ett värde som matchar eller överstiger det du letar upp.
När du använder funktionerna SÖK UPP och SÖK UPP måste texten eller numeriska poster i kolumnen eller raden för uppslag (det vill säga kolumnen längst till vänster i en vertikal uppslagstabell eller den översta raden i en horisontell uppslagstabell) vara unik. Dessa poster måste också ordnas eller sorteras i stigande ordning; det vill säga alfabetisk ordning för textposter och lägsta till högsta ordningen för numeriska poster.
HLOOKUP-funktionen använder följande syntax:
=HLOOKUP(lookup_value,table_array,row_index_num,[range_lookup])
VLOOKUP-funktionen följer den nästan identiska syntaxen:
=SÖKUP(lookup_value,table_array,col_index_num,[range_lookup])
I båda funktionerna är argumentet lookup_value värdet som du vill slå upp i tabellen, table_array är cellintervallet eller namnet på tabellen som innehåller både värdet som ska slås upp och det relaterade värdet som ska returneras. Den radindex argument i HLOOKUP funktionen är numret på raden vars värde du vill returnera; den kolumnindex argument funktionen LETARAD är numret på kolumnen vars värde du vill returnera.
Det valfria argumentet range_lookup i både VLOOKUP och HLOOKUP funktionerna är det logiska TRUE eller FALSE som anger om du vill att Excel ska hitta en exakt eller ungefärlig matchning för lookup_value i table_arrayen . När du anger TRUE eller utelämnar argumentet range_lookup hittar Excel en ungefärlig matchning. När du anger FALSE som range_lookup- argument, hittar Excel endast exakta matchningar.
Att hitta ungefärliga matchningar gäller bara när du letar upp numeriska poster (snarare än text). När Excel inte hittar en exakt matchning i den här uppslagskolumnen eller raden, lokaliserar den det näst högsta värdet som inte överstiger argumentet lookup_value och returnerar sedan värdet i kolumnen eller raden som anges av argumenten col_index_num eller row_index_num .
Bilden nedan visar ett exempel på hur du använder funktionen VLOOKUP för att returnera antingen 15 % eller 20 % dricks från en drickstabell, beroende på checkens totala summa före skatt. Cell F3 innehåller funktionen VLOOKUP:
=SÖKUP(Pretax_Total,Tips_Table,IF(Tips_Percentage=0,15,2,3))
Den här formeln returnerar dricksbeloppet baserat på dricksprocenten i cell F1 och beloppet före skatt för checken i cell F2.
Använder funktionen VLOOKUP för att returnera mängden dricks som ska läggas till från en uppslagstabell.
För att använda den här tipstabellen anger du procentandelen av tipset (15 % eller 20 %) i cell F1 (som heter Tips_Percentage) och beloppet för checken före skatt i cell F2 (som heter Pretax_Total). Excel letar sedan upp värdet som du anger i Pretax_Total-cellen i den första kolumnen i Lookup-tabellen, som inkluderar cellområdet A2:C101 och heter Tip_Table.
Excel flyttar sedan ned värdena i den första kolumnen i Tip_Table tills den hittar en matchning. Om Excel upptäcker att värdet som angetts i Pretax_Total-cellen ($16,50 i det här exemplet) inte exakt matchar ett av värdena i den första kolumnen i Tip_Table, fortsätter programmet att söka ner i jämförelseintervallet tills det stöter på det första värdet som överskrider summan före skatt (17,00 i cell A19 i detta exempel). Excel flyttar sedan tillbaka upp till den föregående raden i tabellen och returnerar värdet i kolumnen som motsvarar kolumnindex argumentet av funktionen LETARAD (detta beror på den valfria ungefärlig argumentet har utelämnats från funktionen).
Lägg märke till att argumentet col_index_number använder en IF-sats för att bestämma vilken kolumns värde som ska returneras. I det här fallet, om värdet Tips_Percentage är 0,15, returnerar funktionen värdet i den andra kolumnen i tabellen i raden som identifierades av lookup_value. Annars returnerar den värdet i den tredje kolumnen i samma rad.