Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten auswerten

Forumthread: Daten auswerten

Daten auswerten
07.09.2005 03:55:07
Heinz
Hallo zusammen,
ich habe folgendes Problem:
In einer Tabelle werden jeden Tag Daten eingegeben.
In Spalte F wird einen Nummer eingegeben. Diese kann aus reinen Zahlen
aber auch aus Zahlen getrennt durch einen Schräg- oder Bindestrich sein.
In Spalte L wird einen Zeit in Minuten eingetragen.
Nun kommen die Zahlen in Spalte F mehrmals vor.
Ich habe eine Auswertung über Makro die dieses mehrfach vorkommenden Daten
erfasst und die Minuten zusammenrechnet und auf einem anderen Tabellenblatt ausgibt.
Wenn ich nun diese Minuten einfach zusammenrechne kann ich damit nicht viel anfangen.
Ich bräuchte eine Möglichkeit ein Mittel zu bilden.
Also wenn ich die Nummer 123 habe und diese 5 mal vorkommt, dabei 5, 10, 15, 20, 10 als Minuten habe darf nicht die Summe ( 60 ) rauskommen sondern das Mittel ( 15 ). Ich hoffe ich konnte es ausreichend erklären.
Das Makro wird jeweils aus dem Monatschart gestartet.
Anbei mal das Makro:
Type MeineDaten
SerienNummer As Variant 'aus Spalte F
Zeit As Long 'aus Spalte L
Dat As Date
End Type
Dim MDaten(230) As MeineDaten, tmpMDaten As MeineDaten
Public

Sub Zählen()
Application.ScreenUpdating = False
Dat = Range("b1")
Worksheets("Sammeldaten").Unprotect Password:="xxxx"
Worksheets("Sammeldaten").Range("A2:o40") = ""
AnfangsZeile = 5
AnzahlSerienNummer = 0
For i = AnfangsZeile To AnfangsZeile + 315
tmpSerienNummer = Cells(i, 6)
If tmpSerienNummer <> "" Then
Gefunden = False
For k = 1 To AnzahlSerienNummer
If tmpSerienNummer = MDaten(k).SerienNummer Then
MDaten(k).Zeit = MDaten(k).Zeit + Cells(i, 12)
Gefunden = True
Exit For
End If
Next k
If Not Gefunden Then
AnzahlSerienNummer = AnzahlSerienNummer + 1
MDaten(AnzahlSerienNummer).SerienNummer = tmpSerienNummer
MDaten(AnzahlSerienNummer).Zeit = Cells(i, 12)
End If
End If
Next i
'Sortieren nach Spalte b
Do
keine_umstell = True
For i = 1 To AnzahlSerienNummer - 1
tmpMDaten = MDaten(i)
If tmpMDaten.Zeit < MDaten(i + 1).Zeit Then
MDaten(i) = MDaten(i + 1)
MDaten(i + 1) = tmpMDaten
keine_umstell = False
End If
Next i
Loop Until keine_umstell = True
'Ausgabe für Spalte b
For i = 1 To AnzahlSerienNummer
Worksheets("Sammeldaten").Cells(2 + i, 1) = MDaten(i).SerienNummer
Worksheets("Sammeldaten").Cells(2 + i, 2) = MDaten(i).Zeit
Next i
Worksheets("Sammeldaten").Cells(2, 1) = Dat
Worksheets("Sammeldaten").Protect Password:="xxxx"
Application.ScreenUpdating = True
End Sub

Danke vor ab.
Gruß
Heinz
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten auswerten
07.09.2005 20:26:49
Aton
Hallo Heinz
Du Zählst hier die Minuten zusammen.
MDaten(k).Zeit = MDaten(k).Zeit + Cells(i, 12)
Diese Zeile errechnet den Durchschnittswert.
MDaten(k).Zeit =MDaten(k).Zeit / 2
für die Bisherigen Zeiten.
Gruß Aton
AW: Daten auswerten
08.09.2005 02:43:22
Heinz
Hallo Aton,
wenn ich die Zeile um die /2 ergänze bekomme ich nicht das gewünschte Ergebnis.
Bei 2 Zahlen hab ich das mal getestet, wenn ich 10 und 40 Minuten habe müsste als Mittel ja 25 herauskommen. Als Ergenis bringt mir Excel dann aber 35.
Mach ich da was falsch oder stimmt Dein Vorschlag nicht?
Gruß
Heinz
Anzeige
AW: Daten auswerten
08.09.2005 17:14:45
Aton
Hallo ja stimmt
MDaten(k).Zeit = MDaten(k).Zeit * 2 + Cells(i, 12)
MDaten(k).Zeit =MDaten(k).Zeit / 2
So müßte es gehn
Gruß Aton
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige