Sökfunktioner är funktioner som används för att leta efter värden i olika listor. Till exempel kan det handla om att söka efter en person och finna dess telefonnummer. Den populäraste funktionen för detta är LETARAD(). (Se kap. 3.7.2).
Funktionen INDEX()används för att plocka ut ett värde på valfri rad och kolumn i en tabell. Det finns två olika signaturer för funktionen, vilket betyder att vi måste välja när vi skall redigera funktionen. (Se figur 40).

Figur 40. Välj översta alternativet
Om vi väljer första signaturen har har funktionen har tre argument:
INDEX(tabell; rad; [kolumn])
I exempel figur 41 hämtas värdet på rad fyra och kolumn 2 ut.

Figur 41. FunktionIndex01.xlsx
Funktionen används tillsammans med PASSA(). (Se kap. 3.7.3 och kap. 3.7.4).
Funtionen LETARAD() används normalt för att söka i tabeller. Funktionen har följande argument:
LETARAD(värde_som_eftersöks; tabell_att_leta_i; kolumn_att_hämta_resultat_ur; [Söktyp])
Funktionen fungerar på det viset att den arbetar mot ett område där den alltid letar i första kolumnen, som måste vara sorterad i stigande alfabetisk ordning. I figur 42 finns en tabell med förnamn, efternamn och telefonnummer. I F3 han namnet Adam angivits och i G3 söks Adams telefonnummer. Letauppvärde är en hänvisning till F3, där det sökta namnet finns. Nästa argument är tabellmatris, vilket är hela tabellen förutom rubrikraden. Då funktionen alltid söker i kolumnen längst till vänster är det alltså i kolumn B den kommer att söka tills den träffar på "Adam". Funktionen minns sedan vilken rad i tabellen den återfann det sökta värdet på. Nästa argument är "3", vilket är Kolumnindex. Det är numret på kolumnen som resultat skall hämtas på från raden med träff. Då vi markerat B3:D7 är den tredje kolumnen i det markerade området kolumn D. Resultatet hämtas alltså från D3 och resultatet är "123". Det fjärde argumentet är FALSKT, det betyder att sökningen alltid skall vara exakt. Sätter vi värdet till SAANT blir sökningen ungefärlig, det vill säga funktionen kommer att leta tills den hittar det sista namnet som är mindre eller lika med det sökta namnet. Om vi söker ungefärligt och söker efter Bengt kommer funktionen att se att Adams rad är den sista som är mindre eller lika med det sökta. Alltså returneras Adams telefonnummer. Att använda ungefärliga sökningar är extremt ovanligt.

Figur 42. Funktion_Letarad01.xlsx
Vad som är första kolumnen beror på vilket område vi använder när vi anropar funktionen. Det finns inget tvång att använda alla kolumner i en tabell. I G5 i figur 42 sker en sökning på efternamnet. Koden är:
LETARAD(F5;C3:D7;2)
Notera att i detta fall har B-kolumnen inte tagits med. Den kolumn som är längst till vänster, och det är i den som "Bertilsson" söks och telefonnumret hämtas nu från kolumn 2, vilket är numret på den andra kolumnen i det markerade området.
I G7 söks på telefonnummer och resultatet hämtas från kolumn 1.
LETARAD(F7;D3:D7;1)
Om vi har söker efter något som inte ger en träff returneras felmeddelandet "N/A", som utläses "Not Applicable" eller "Not Available".
Att funktionen letar i kolumnen längst till vänster betyder att det aldrig är möjligt att leta efter ett värde till höger om den kolumn vi vill få svar från. Det är en klar begränsning av en sökfunktion. Kravet att listan skall vara sorterad i alfabetisk ordning är även det en begränsning. Det är denna boks författares mening att funktionen PASSA() är långt mer praktisk eftersom den inte har någon av de nyss nämnda begränsningarna. (Se kap. 3.7.3).
Funktionen PASSA() används för att ta reda på vilken plats i en lista som ett visst sökt värde har. Funktionen har tre argument:
PASSA(letaupp_värde; letaupp_lista; matchtyp)
I exempel figur 43 letar vi efter Ceasar i cellerna B3:B7. Sökningen görs som en exakt matchning eftersom matchtyp är satt till noll. Funktionen finner det sökta värdet på rad 3.

Figur 43. FunktionPassa.xlsx
Om sökningen är exakt sökning kommer behöver listan inte vara sorterad alfabetisk. Det finns dock möjlighet att ändra sökning till ungefärlig sökning där -1 är "större än eller likamed" och 1 är "mindre än eller likamed". I första fallet måste listan vara sorterad i fallande alfabetisk ordning och i det andra i stigande alfabetisk ordning.
Funktionen ger det sökta värdets position i listan. Det kan ses som en mindre intressant uppgift, men den är extremt praktisk i kombination med funktionen INDEX(). (Se kap. 3.7.1)
När vi söker efter något i en tabell vill vi ofta ha fram flera olika värden om det vi söker. Med hjälp av LETARAD() kan vi söka information kolumn för kolumn. Ett annat sätt att arbeta är att ha endast en funktion som letar, och då använda funktionen PASSA() och sedan använda INDEX() för att hämta de kolumner som vi är intresserade av.
I figur 44 återanvänder vi sökningen från kap. 3.7.3, där vi tog reda på vilken rad i tabellen en viss person fanns på.
Vi skall nu använda detta radnummer för att hämta fram alla tre uppgifter som finns om den sökta personen. Vi gör det på rad 6 i figuren. Koden använder sig av samma tabell som i sökningen, det vill säga B3:D7. Referensen har gjorts absolut för att vi lätt skall kunna kopiera den till cellerna G6 och H6. (Se kap. 2.2).
Den rad vi skall hämta värdet från har angivits som G3. Även här referensen gjorts absolut eftersom den skall kopieras till höger. Till sist har som önskad kolumn angivs "F5", där vi finner en 1:a. Denna referens till cellen ovanför är till för att vi på rad 5 skall kunna ange numren på önskade kolumner. När vi sedan kopierar denna relativa referens till G6 och H6 kommer referensen att räknas upp till att peka på G5 respektive H5.
På detta vis kan vi alltså göra sökningen på ett ställe och sedan ha en och samma formel för att visa flera resultat baserad på en och samma sökning.

Figur 44. Funktion_Index_Passa.xlsx
Själva sökfunktionen finner vi i kolumn G6:
PASSA(F3;B3:B7;0)
Denna funktion kan nästlas med INDEX()-funktionen (Se kap. 3.1.2):
INDEX($B$3:$D$7; PASSA($F$3;$B$3:$B$7;0) ;F5)
Notera att sökfunktionen lagts in där det förut fanns en referens till G3. Vid nästling låstes en del av referenserna för att formeln lätt skall kunna kopieras till cellerna till vänster.