|
LOPSLAG med flere kriterierI et regneark har jeg data som vist i illustrationen til venstre. Jeg vil nu gerne se, hvilken vagt Svend har en given dato. I Jans Udvidelser, findes en funktion, der kan slå op, selv om opslagsværdien ikke er entydig i opslagstabellen, men den arbejder fortsat kun med et kriterium. I denne situation har vi brug for at bruge to kriterier, nemlig navnet og en dato. Det kan LOPSLAG ikke håndtere, men man kan løse problemet ved at bruge en hjælpekolonne, som altid skal stå til venstre for det, der skal findes. Denne hjælpekolonne skal konkatenere (sammenkæde) de to kolonner, der indeholder kriterierne. En almindelig opslags funktion kunne se ud som følger: =LOPSLAG(D1;$A$2:$C$11;3;FALSK), men hvis bruger den her, og skriver "Svend" uden anførselstegn i D1, vil den kun returnere en enkelt forekomst af Svend, og altså fx fortælle, at han har Aften. ($A$2:$C$11 kan optimalt erstattes med et navngivet område: så slipper man for at holde styr på dollar-tegn, hvis formlen skal kopieres. I eksemplet indsætter jeg en ekstra kolonne mellem Dato og Vagt (den kunne også indsættes før Navn, men den skal være til venstre for den værdi der søges). I den nye C2 indsætter jeg denne formel: =A2&B2 og kopierer ned. Nu "forsvinder" datoformat, og cellens indhold vises som Svend43800, men det har ingen betydning for funktionen. Generer det øjet, kan kolonnen skjules. Nu skal jeg have defineret to celler som opslagsværdier, en til navnet og en til datoen. Her F1 og F2 Nu laver jeg så min nye opslagsformel: =LOPSLAG(F1&F2;$C$2:$D$11;2;FALSK) (igen kan området erstattes med et navngivet område. Ved nu at taste navnet i F1 og Datoen i F2, kan jeg finde ud af, at Poul har Fri den 6-12-19 men Aften den 10-12. Hvis jeg ønsker at undgå, at få fejlen #I/T! hvis en person ikke arbejder den dato, jeg søger, kan jeg udvide formlen til =HVIS(ER.IKKE.TILGÆNGELIG(LOPSLAG(F1&F2;C1:D11;2;FALSK));F1 & " er ikke registreret på den pågældende dato";LOPSLAG(F1&F2;C1:D11;2;FALSK)) eller anden tilsvarende tekst (her vist med kursiv, men det bliver det ikke i regnearket). Også i denne funktion er entydighed et krav, men her består entydigheden af kombinationen af Navn og Dato. Den vil således ikke virke korrekt, hvis Bent har to vagter på samme dato. Og beklager trykfejlen Bent; der skulle have stået Nat, ikke Nar J. Funktionen kan naturligvis udvides med flere kriterier, som så alle skal konkateneres i hjælpekolonnen. Og på same måske skal alle opslagsværdierne konkaterneres i det første argument i LOPSLAG. |