Jump to content
Sign in to follow this  
sgaah

Excel =SUMPRODUCT(LARGE.......

Recommended Posts

Heisann, til nå har mine excel kunnskaper passet mitt bruk. Men nå nylig så har jeg fått ett litt mer komplisert behov som jeg ikke helt klarer å løse. Håper det er noen som har en god løsning på mine utfordringer.

 

Jeg har ett regnark hvor jeg holder oversikt over resultater og vil gjere kunne hente ut topp 5 resultatene pr utøver og summeres disse i en celle. Det kan fort bli 15-20 resultater pr person, men som sagt så vil jeg ha topp 5 pr person summert sammen i en egen celle. Hver utøver sine resultater er på hver sin linje, men ikke i celler etterhver andre. Eks, utøver 1. B2,E2,L2,O2,T2,X2 osv

 

Jeg har prøvd å prøvd men ikke søren om jeg får det til. Etter mye leting på nettet kom jeg frem til en formel som såg ut til å være midt i blinken for meg, men får det fremdeles ikke til.

 

Den jeg har brukt går som følger, =SUMPRODUCT(LARGE(B4;E4;I4;L4;R;4,{1,2,3}))

 

Kunne sikkert hvert bedre forklart men håper at dere forstår hvor jeg vil. Krysser fingrene for at noen der ute har ett forslag til løsning :)

 

Share this post


Link to post

=SUMPRODUCT(LARGE({B4;E4;I4;L4;R;4},{1,2,3}))

 

?

 

Jeg ser at du har { rundt cellene til forskjell hva jeg har, men virker det hos deg? Ikke snakk om at jeg får dette til. Har prøvd Excel 2010 og Excel online.... Vist det virker, kunne du vert så snill å gitt meg en kjapp gjennomgang for dummies :)

Share this post


Link to post

Det var visst en semikolon-feil der. Det skal virke:

 

=SUMPRODUCT(LARGE({B4;E4;I4;L4;R;4},{1,2,3}))

=SUMPRODUCT(LARGE({B4;E4;I4;L4;R4},{1,2,3}))

 

Den siste virker hos meg. Du vil få feilmelding hvis du ikke har verdier i minst 3 av cellene {B4;E4;I4;L4;R4}.

Edited by mobile999

Share this post


Link to post

Merkelige greier.... Hvilken utgave av excel bruker du? Når jeg har skrevet ferdig denne formelen så skal jeg trykke Ctrl+shift+Enter? Jeg begynner å skrive inn formelen for så å holde nede crtl når jeg velger dei aktuelle cellene. Nå som jeg skriver inn { } rundt dei valgte cellene så forsvinner fargen på disse cellene (dårligt forklart, men satser på at du skjønner). 

 

Kanskje påtide med ett litt excel kurs.... :)

Share this post


Link to post

Jeg brukte google docs for å teste ovenfor. Det virker selvfølgelig ikke i Microsoft Excel.  :hrm: 

Det er large-funksjonen som ikke virker som forventet (i første omgang).

Eksempel:
=LARGE({6, 23, 5, 2.3}, 2)
hentet fra følgende nettside gir feilmelding i microsoft excel selv om nettsiden er for nettopp microsoft excel:
http://www.techonthenet.com/excel/formulas/large.php

Share this post


Link to post

Takk for din hjelp så langt. Får vel lete litt mer rundt på nettet etter en løsning på dette. Kanskje du kan foreslå en annen løsning for å løse utfordringen som jeg har beskrevet tidligere?

Share this post


Link to post

Takk for din hjelp så langt. Får vel lete litt mer rundt på nettet etter en løsning på dette. Kanskje du kan foreslå en annen løsning for å løse utfordringen som jeg har beskrevet tidligere?

Hei.

 

Kan lage en egen formel (funksjon) sikkert ikke den beste løsningen. men fungerer :)

 

du kan åpne vba editoren med Alt + F11

trykk på insert.

velg modul.

 

lim inn det under her. (koden)

hvis resultatene står i f.eks celle A1:A10 skriver du "=sumFiveBiggest(A1:A10)" i cellen du vil ha svaret ditt

SumFiveBiggest fungerer da som en formel

Option Explicit

Option Base 1

Function sumFiveBiggest(y As Range)

     Dim tempArr() As Variant, theR As Range, cel As Range, i As Double, r As Long, x As Double

    Set theR = y

    i = 0

    For Each cel In theR

        i = i + 1

    Next cel

   

    ReDim tempArr(i)

   

    r = 1

   

    For Each cel In theR

        tempArr® = cel.Value

        r = r + 1

    Next cel

    QuickSort tempArr, LBound(tempArr), UBound(tempArr)

    x = 0

   

    For r = LBound(tempArr) To UBound(tempArr)

        If r > i - 5 Then

            x = x + tempArr®

        End If

    Next r

    sumFiveBiggest = x

    Erase tempArr

End Function

Function QuickSort(arr, Lo As Long, Hi As Long)

    Dim varPivot As Variant, varTmp As Variant, tmpLow As Long, tmpHi As Long

    tmpLow = Lo

    tmpHi = Hi

    varPivot = arr((Lo + Hi) \ 2)

    Do While tmpLow <= tmpHi

        Do While arr(tmpLow) < varPivot And tmpLow < Hi

            tmpLow = tmpLow + 1

        Loop

        Do While varPivot < arr(tmpHi) And tmpHi > Lo

            tmpHi = tmpHi - 1

        Loop

        If tmpLow <= tmpHi Then

            varTmp = arr(tmpLow)

            arr(tmpLow) = arr(tmpHi)

            arr(tmpHi) = varTmp

            tmpLow = tmpLow + 1

            tmpHi = tmpHi - 1

        End If

    Loop

    If Lo < tmpHi Then QuickSort arr, Lo, tmpHi

    If tmpLow < Hi Then QuickSort arr, tmpLow, Hi

End Function

[code]\

Edited by Bigelk

Share this post


Link to post

Takk for gode innspill folkens men ikke svarte søren om jeg får til dette.... Ser forøverig at dere har valgt celler som er etter hverandre, mine data som skal sorteres befinner seg på feks. B2, D2,F2,H2,L2, osv. 

Share this post


Link to post

Takk for gode innspill folkens men ikke svarte søren om jeg får til dette.... Ser forøverig at dere har valgt celler som er etter hverandre, mine data som skal sorteres befinner seg på feks. B2, D2,F2,H2,L2, osv. 

Hei.

 

Hvis du lagrer denne og sletter .txt fra filnavnet

 

Mvh

 

Torbjørn

sgaah2.xlsm.txt

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...