01. oktober 2002 - 23:09Der er
5 kommentarer og 2 løsninger
Data sortering
Jeg har et regneark med navne nedad i række A, og med en masse resultater henad i kolonnnerne udenfor navnet. i sidste kolonne. f.eks Q vil jeg have resultatet af de 10 bedste resultater af de 50 der er lagt sammen. dvs. hvis han f.eks har 10 x 9 points som det bedste, er resultatet 90, enkelt ? Ikke for mig lige nu, er gået helt kold i toppen.
For i = 0 To Antal - 1 topScores(i) = mindste Next i
mindsteTalIArray = mindste indexAfMindsteTalIArray = 0 sum = 0
For Each c In Omraade If Application.WorksheetFunction.IsNumber(c.Value) = False Then GoTo Skip End If
mindsteTalIArray = topScores(0) indexAfMindsteTalIArray = 0 For j = 0 To UBound(topScores) If topScores(j) < mindsteTalIArray Then mindsteTalIArray = topScores(j) indexAfMindsteTalIArray = j End If Next j fundet = False For i = 0 To Antal - 1 If c.Value > topScores(i) Then fundet = True stoerste = c.Value End If Next i If fundet = True Then topScores(indexAfMindsteTalIArray) = stoerste End If Skip: Next c
For i = 0 To UBound(topScores) sum = sum + topScores(i) Next i
SumAfBedste = sum
End Function --------------------------
...i arkets kodemodul, kan du bruge den som en almindelig Excel funktion. Den tager parametrene Omraade og antal.
f.eks. Omraade = A1:A10, antal = 3 Den returnerer summen af de højeste 3 tal i omraadet A1:A10
En array formel skulle også kunne gøre det: =SUM(STØRSTE(A1:P1;ROW(1:10))) Afsluttes med ctrl-shift-enter istedet for bare enter, så den får tuborgklammer omkring {}
Deler bare point ud da det blev løst af en kollega :o) Har ikke fået testet jeres svar selv...
Synes godt om
Ny brugerNybegynder
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.