28. april 2005 - 10:50Der er
8 kommentarer og 1 løsning
Findes, eller kan man lave en max.hvis funktion?
Er der nogen, som evt kan hjælpe mig med en max.hvis(område;kriterie;maxområde) som fungerer på samme måde som sum.hvis funktionen. Jeg tror ikke den findes. Men da jeg ikke er skrap til VBA endnu, behøver jeg nok lidt hjælp til, hvordan man laver funktionen.
Har ikke noget bud på funktionen, men man kan løse det i arket med en ekstra kolonne (men det ønsker du muligvis ikke): Nedenfor er A-kolonnen udvalgsparametren, B er værdierne , og C er betingelserne, der giver 0 eller værdien fra B, afhængig af betingelsen A: B: C: Index Værdi Betingelse 1 10 =IF(A2<5;B2;0) 2 20 =IF(A3<5;B3;0) 3 30 =IF(A4<5;B4;0) 4 40 =IF(A5<5;B5;0) 5 50 =IF(A6<5;B6;0) 6 60 =IF(A7<5;B7;0) 7 70 =IF(A8<5;B8;0) =MAX(C2:C8)
Public Static Function MAKS_Hvis(Kriterie, Kriterieområde As Range, MaksOmråde As Range) Dim V As Double D = 0 For Each C In Kriterieområde If C.Value = Kriterie Then If Cells(C.Row, MaksOmråde.Column).Value > D Then D = Cells(C.Row, MaksOmråde.Column).Value End If Next MAKS_Hvis = D End Function
Public Function MAKS_Hvis(Kriterie, Kriterieområde As Range, MaksOmråde As Range) Dim V As Double D = 0 For Each C In Kriterieområde If C.Value = Kriterie Then If Cells(C.Row, MaksOmråde.Column).Value > D Then D = Cells(C.Row, MaksOmråde.Column).Value End If Next MAKS_Hvis = D End Function
Kabbak - din funktion forudsætter, at kriteriet er "="? mit bud, er ikke helt færdigtestet: =maxif(kriterieområde, område hvor max skal findes, betingelse)
Function MaxIf(rng1 As Range, target As Range, condition As String) Dim rng As Range Dim max As Double Const nomax = -99999999999# max = nomax For Each rng In rng1 If Application.WorksheetFunction.CountIf(rng, condition) = 1 Then If target.Rows(rng.Row - rng1(1).Row + 1) > max Then max = target.Rows(rng.Row - rng1(1).Row + 1) End If End If Next MaxIf = max End Function
Formlen vil finde den maximale værdi i B3:B99, hvor der i Kolonne A står "Peter" Formlen indtastes som en array-formel. Dette betyder at indtastning afsluttes med ctrl-shift-enter istedet for bare enter. Formlen får så automatisk tuborgklammer {} omkring, som tegn på at det er en array-formel.
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.