Jeg er i den situation at jeg skal finde den største sum af 4 sammenhængende værdier. Dvs jeg har en række med mange værdier men også med mellemrum. Her skal jeg finde den største værdi af fire sammenhængende værdier?? Håber i kan hjælpe!
Med kunstig intelligens skaber HP’s nye OmniBook X 14 en unik og skræddersyet brugeroplevelse målrettet dem, der ønsker høj ydeevne og intelligente funktioner
Antager værdierne står i kolonne A1:A100. I kolonne b1 skrives =IF(COUNT(A1:A4)=4;SUM(A1:A4);). Denne kopieres til B1:B100 Og så kan du finde max med =MAX(B1:B100)
Det skal nok laves med en makro. Prøv med nedenstående: Sub Macro1() Dim i As Integer 'række der opereres i Dim j As Integer 'summerer de 4 celler Dim k As Integer 'tæller ikke-tomme celler Dim l As Integer 'tæller antal celler Dim m As Integer 'Max Dim n As Integer 'Nummer på kolonne data skal sættes ind i n = 4 m = 0 j = 0 Lastrow = Cells(65356, 1).End(xlUp).Row For i = 1 To Lastrow For l = 0 To 100 j = j + Cells(i + l, 1) k = k + 1 If Cells(i + l, 1) = 0 Then k = k - 1 Else If k = 4 Then Cells(i, n) = j If m > j Then Else m = j End If End If End If Next j = 0 k = 0 Next Cells(i + 3, n) = m End Sub
Bemærk at n=4 forårsager at der bliver skrevet data ind i kolonne 4 (D). Der bør derfor ikke stå noget i den kolonne.
Hej Jens det lykkedes sgu! :) Det ser ud til at virke perfekt! Men hvordan kan jeg ændre i macroen så jeg får flere kolloner med? :) Altså så jeg gentager den her i kollonne E og finder største sum der? :)
Jeg har mine tal i kolonne A så kommer summen i kolonne B også markeringen om det er en af de fire i kolonne c og sådan kører Den 50 gange. Dvs næste talrække kommer i kolonne D osv.
Makroen checker hver 3. kolonne, og skriver i den efterfølgende kolonne summen af de 4 næste tal. I 3. kolonne bliver der indsat et 1-tal ved det første af de 4 største tal. Kolonne 2 og 3 slettes i begyndelsen af makroen. Håber det kan bruges.
Sub Macro1() Dim i As Integer 'række der opereres i Dim j As Long 'summerer de 4 celler Dim k As Integer 'tæller ikke-tomme celler Dim l As Integer 'tæller antal celler Dim m As Long 'Max Dim n As Integer 'Nummer på kolonne data skal sættes ind i Dim o As Integer 'Indikator for max. sum For n = 2 To 149 Step 3 Columns(n).Select Selection.ClearContents Next For n = 3 To 150 Step 3 Columns(n).Select Selection.ClearContents Next For n = 2 To 149 Step 3 m = 0 j = 0 Lastrow = Cells(65356, n - 1).End(xlUp).Row For i = 1 To Lastrow For l = 0 To 100 j = j + Cells(i + l, n - 1) k = k + 1 If Cells(i + l, n - 1) = 0 Then k = k - 1 Else If k = 4 Then Cells(i, n) = j If m > j Then
Else m = j o = i End If End If End If Next j = 0 k = 0 Next Cells(i + 3, n) = m Cells(o, n + 1) = 1 Next Range("A1").Select End Sub
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.