Avatar billede edbedb Nybegynder
28. oktober 2008 - 16:51 Der er 11 kommentarer og
1 løsning

K´te-største værdi ud fra flere kriterier (Excel 2007)

For hvert varenummer skal jeg finde det k'te største salg (k'et kan være alt mellem 1 og ???? og bliver beregnet i en anden celle)

Jeg har prøvet at bruge en kombination af "hvis" og "største" (=HVIS(E3=A:A;STØRSTE(B:B;F$6))), men det virker ikke da "hvis" ikke kan slå op i en hel kolonne.
Jeg har også tænkt at man kunne lave et lopslag men det virker heller ikke, da den bare tage den første værdi den støder på.

Det jeg egentlig mangler er en "hviser", men det fås jo kun som sum.hviser, tæl.hviser osv.

Arket er opbygget af kolonnerne "Varenummer" og "Solgt pr. dag". Der er 260.000 linjer i arket.
Avatar billede jkrons Professor
28. oktober 2008 - 18:47 #1
Prøv med noget i dnne stil:

=STØRSTE(HVIS((A2:A275000=E3);(B2:B2750006));$F$6)

Indtastes som matrixformel (afslut med Ctrl+skift+Enter)

Af en eller anden grund, som jeg ikke lige kan gennemskue, giver den fejl, hvis et varenummer kun forekommer en gang.
Avatar billede jkrons Professor
28. oktober 2008 - 19:19 #2
Selvfølgelig kan jeg gennemskue det :-(. Der er jo ingen k'te største, når der kun er en forekomst af varenummeret, med mindre K=1. Så måske skal der bygges fejlhåndtering op omkring udtrykket.
Avatar billede jkrons Professor
28. oktober 2008 - 19:20 #3
Og så skal formlen lige på plads

STØRSTE(HVIS((A2:A275000=E3);(B2:B275000));$F$6)

og med fejlhåndtering

=HVIS(ER.FEJL(STØRSTE(HVIS((A2:A275000=E3);(B2:B275000));$F$6));"Værdien findes ikke";STØRSTE(HVIS((A2:A275000=E3);(B2:B275000));$F$6))
Avatar billede edbedb Nybegynder
28. oktober 2008 - 22:01 #4
Hold op hvor er det vildt - det virker jo!!
Mange tak.

Jeg kan bare ikke lige gennemskue hvorfor det virker. Hvis du gider må du meget gerne give en lille beskrivelse af hvordan formlen hænger sammen.
Avatar billede jkrons Professor
28. oktober 2008 - 22:34 #5
Hvis funktionen undersøger om værdien i E3 findes i området A2:A275000. Når det indtastes som en matrix formel, vil Excel teste på alle cellerne i området. Det, der så skal returneres er en værdi fra B2:B275000. Men da der findes flere ens varenumre, ønskes kun returneret det, med den K'største værdi. Dette håndteres af Største.

Men essensen i det, er altså matrixformlen, som i princippet er en formel, der regner på et helt område på en gang.
Avatar billede jkrons Professor
28. oktober 2008 - 22:34 #6
Og det skulle så have været et svar.
Avatar billede edbedb Nybegynder
28. oktober 2008 - 22:35 #7
Ok mange tak.

Jeg må få lært noget mere om dette.
Avatar billede jkrons Professor
28. oktober 2008 - 22:52 #8
Det er altid godt at lære mere :-). Den måde jeg selv lærer bedst på, er ved at forsøge mig frem, gerne med udgangspunkt i noget kendt. Du er velkommen til at bruge noget af det, jeg i tidens løb har lavet og lagt på min hjemmeside som udgangspunkt for eksperimenter. Du kan finde den her: www.kronsell.net/MSO.htm - klik på Excel.
Avatar billede h_s Forsker
31. januar 2015 - 15:32 #9
@jkrons: jeg har med interesse set din funktion.
Jeg kan dog ikke få den til at fungere.

Her er mine udfordinger:
1: For at få en værdi frem, skal kolonne B være soreteret i størrelsesordning.
2: Når de er sorteret i størrelse fines den første værdi korrekte i A og k'et tilbage og viser den værdi.

Jeg skal bruge en funtion der kan finde den k'te værdi i Kolonne B af de værdier der har en bestemt tekst i kolonne A.

{=STØRSTE(HVIS(($A$1:$A$41=$A$50);($B$2:$B$41));$B$50)}

Jeg har prøvet at sætte "$-tegn" i alle værdier og jeg har mavet en matrix-formel. Dog uden held.

Hvad går der galt?
Avatar billede h_s Forsker
31. januar 2015 - 16:19 #10
Årsag til mine udfordringer fundet - A1 udskiftes med A2:

{=STØRSTE(HVIS(($A$2:$A$41=$A$50);($B$2:$B$41));$B$50)}
Avatar billede Butterfly Ekspert
20. januar 2017 - 12:38 #11
Jeg har forsøgt ovenstående, desværre uden held.
Jeg har 2 ark. På Ark1 har jeg alle unikke varenr i kolonne B, på Ark2 har jeg alt salg, det vil sige samme varenr forekommer flere gange.
På Ark 2 er alle varenr i kolonne D og salget i kolonne G.
Mit problem er nok at jeg ikke kan finde ud af hvad k'et værdien er. Skriver jeg 0, skriver formlen #NUM!, skriver jeg 1, får jeg bare nogle tomme celler.
Min formel ser sådan ud
=+STØRSTE(HVIS(Ark2!D3:D6500='Ark1'!B5;Ark2!G3:G6500);0)
Avatar billede h_s Forsker
20. januar 2017 - 13:52 #12
@Butterfly:
Husk når du er færdig med at indtaste formlen, skal du trykke ctrl+shift+enter (ctrl+shift holdes inde når du trykker på enter) og ikke kun enter.
Herved dannes {} omkring din formel. Det hedder matrixformler. Læs mere her:
http://www.computerdk.com/software/microsoft-access/137163.html#.WIIHf_4zWHs
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester