06. april 2010 - 13:28Der er
8 kommentarer og 1 løsning
dags- og månedsgennemsnit
Hej. Håber der er nogen der har tid og lyst til den her (efter flere forsøg har jeg selv måttet give op...) Jeg har et excel ark med flere daglige målinger af temperatur der løber over 5 år. Jeg har brug for et dagligt gennemsnit og et månedligt gennemsnit. Data er opbygget således:
Dato (dd-mm-yyyy) i kolonne A Tid i kolonne B Målinger i kolonne C
Jeg har brug for at få daglige gennemsnitsværdier i kolonne E, ud for den sidste daglige måling (lige før datoskift). Desuden skal jeg have månedsgennemsnit i kolonne F, ud for den sidste dag i måneden (lige før månedsskift)
Har selv tænkt i baner af at undersøge skift i Day for kolonne A, derefter aktivere cellen før skiftet, offsette den de nødvendige pladser mod højre, og derefter foretage beregningen. Håber nogen har mod på at kigge på problemet!!
Med hjælp af lidt VBA (Visual Basic for Application) så skulle det nok kunne lykkes -du er velkommen til at sende et lille uddrag af filen. @-adresse under min profil.
Dim dD As Date, dM As Byte, dY As Integer Dim gSnitDag As Variant, gsnitMd As Variant Dim antalMålDag As Long, antalMålMd As Long Dim målDage As Variant, målMåned As Variant
Dim iDag As Date, iMåned As Byte, iÅr As Integer Dim sidsteRække As Long, ræk As Long Dim fejlMelding As String Public Sub beregnGennemsnit() dD = 0 dM = 0 dY = 0
Hej supertekst. Fantastisk - det virker. Jeg måtte lige ændre målMåned fra Variant til Long for ikke at få "overflow"-fejl. Derefter kører det bare. Hvis du giver mig mulighed for at godkende dit svar kan jeg sende nogle point afsted! Mange tak for hjælpen!
Jeg har brugt VBA-koden i et andet excel-ark med temperaturer. I det får jeg nogle meget høje middelværdier (fx. 205 grader). Noget i beregningen går galt. Kan det være fordi jeg har negative værdier (minusgrader) eller fordi der er felter uden værdier (hvor dataloggeren har været nede)? Arbejder videre med din kode og ser om jeg ikke kan finde løsningen, men det kunne være du havde et tip?
Ah, det er IsNumeric der tjekker om der er en valid værdi i cellen. Gad vide hvad det så er? En anden ting: hvis jeg vil ændre koden til at summere i stedet for at finde middelværdi, er det da opTælling() jeg skal ændre i? Hmm... sjovt men svært
#7 Private Sub dagsBrud() Cells(ræk - 1, 5) = målDage '/ antalMålDag NU ER DET KUN SUM målDage = 0 ' -----> kommentar antalMålDag = 0
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.