12. marts 2018 - 15:53Der er
14 kommentarer og 1 løsning
Opslag med flere kriterier
Jeg har et regneark med følgende kolonner:
A B C D E Kontraktnr. Anlægsnr. Generation Værdi Opslagsværdi
Der er mange rækker med samme kontraktnr., men med forskellige værdier i de øvrige kolonner.
Jeg ønsker nu at lave et opslag i kolonne E, hvor jeg henter værdien fra kolonne D, men kun på de rækker med den højeste generation (= en talværdi) i kolonne C indenfor samme kontraktnummer (kolonne A). På øvrige rækker indsættes værdien 0 i kolonne E.
Er der nogen der kan løse denne problemstilling? Det vil være ok at indsætte en ekstra mellemregningskolonne.
I det nyeste Excel er der en maxifs må oversættes med noget i retning af største.hvis?
På den måde kunne hjælpe-mellemregnings-kolonnen være så den definerer nyeste generation af en given kontrakt, og så kan du bruge den til at sætte værdi i E i de steder hvor maxifs giver samme som kolonne C.
@kim1a lyder fedt med den funktion, og lige det jeg havde brug for. Men desværre har jeg indtil videre kun Excel 2010 😣
@xl-Entusiast Den samme generationsværdi kan forekomme mange gange. Lad os antage at to forskellige kontrakter optræder på hhv. 4 og 3 rækker. Kunne se ud som nedenfor
A. B. C. D. E 100. 1. 1. 10000 100. 2. 3. 12000 100. 3. 3. 15000 100. 4. 2. 11000 200. 5. 4. 10000 200. 6. 2. 8000 200. 7. 4. 10000
I eksemplet skal formlen altså hente værdier fra kolonne D på række 2,3,5 og 7 mens de øvrige rækker skal sættes til 0, da de har en lavere generation end de øvrige indenfor samme kontraktnummer.
Jeg har forsøgt mig med en ikke helt kort matrixformel. Jeg synes den virker, hvis jeg forstår opgaven korrekt. Indsættes i E1, og evalueres ved at holde CTRL + SHIFT nede inden du trykker ENTER. Træk herefter ned til sidste række.
Hej Anedi, Jeg tror næsten vi er der. Men din formel summer alle værdierne indenfor samme kontraktnr. i kolonne E. Det skal den ikke. Hvis vi tager udgangspunkt i mit eksempel ovenfor og kigger på kontraktnr. 100, så ønsker jeg helt konkret et resultat i kolonne E, hvor der står 0 i række 1, 12000 i række 2, 15000 i række 3 og 0 i række 4. Altså blot et opslag i kolonne D på række 2 og 3 fordi de har den højeste generationsværdi indenfor kontraktnr. 100, og ikke en sum af de to rækkers værdier tilsammen.
Jeg ved det er kringlet, men håber du kan hjælpe :-)
Nu fungerer det næsten. Der skal lige byttes rundt på sand/falsk værdierne til den sidste hvis-formel. Dvs. D1;0)). Så får jeg fuldstændig korrekte resultater på den første kontrakt den kører igennem, men på alle de efterfølgende kontrakter får jeg værdien 0 på alle sammen. Når jeg trykker på "funktionsargumenter" for at se beregningen til en af de celler, der viser 0 i stedet for at slå op i D-kolonnen, som den burde, så kan jeg se i beregningen, at mit resultat er yderst til højre, men inden da er en masse 0-værdier.
Altså resultatet er beregningen er f.eks. = {0;0;0;0;0;0;0;0;0;0;10000;...
Den siger blot, at hvis værdien i C1 er anderledes end end den største Generation værdi indenfor samme Kontrakt, så skriver den blank, og ellers skriver den værdien i D1.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.