Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte in Spalte vergleichen und Mittelwert bilden

Werte in Spalte vergleichen und Mittelwert bilden
Micha2009
Hallo liebe Excel Freunde.
Ich sitze vor einem Problem und hoffe mir kann einer helfen.
Mein Problem ist folgendes.
Eine Tabelle mit 3 Spalten.
1. Datum, 2. Zeit, 3. Werte
Nun versuche ich alle Werte mit gleichem Datum zu mitteln und in eine neue Spalte G mit zugehörigem Datum in Spalte F zu schreiben.
Ich habe meine Testtabelle mal angehängt.
https://www.herber.de/bbs/user/64797.xls
Mein Vergleichsmakro sieht bisher so aus, jedoch gibt er mir die Daten bisher nicht korrekt aus.
(Ich bin bisher nur soweit, dass er erstmal alle Daten in eine Variable packt und die mir am Ende eines Datums ausgeben soll.)
Komme aber irgendwie nicht weiter. Wo liegt da nen Fehler?
Ist mein Ansatz schon falsch?
Kann mir vielleicht einer nen Tipp geben, wie ich obiges Problem mit nem Vergleichsmakro lösen kann?
Freue mich auf Antworten.
Grüße
Michael
Sub Vergleichen()
Dim iRow As Long
Dim var As Long
iRow = 2
Do Until IsEmpty(Cells(iRow, 1))
If Cells(iRow, 1) - Cells((iRow) + 1, 1) = 0 Then
var = var + Cells(iRow, 3)
Else
Cells(iRow, 5).Value = var
End If
iRow = iRow + 1
Loop
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Var=0 setzen und PIVOT-Tabelle...
30.09.2009 12:23:08
NoNet
Hallo Micha,
ist es beabsichtigt, dass die Werte kumuliert werden ? Oder sollte nicht für jeden Tag ein eigener Wert berechnet werden ?
Setze Var wieder auf 0 :
      If Cells(iRow, 1) - Cells((iRow) + 1, 1) = 0 Then
var = var + Cells(iRow, 3)
Else
Cells(iRow, 5).Value = var
Var = 0
End If
Für das Problem bzgl. Spalte G und F bietet sich hervorragend eine PIVOT-Tabelle an :
Sub PivotTabelleNachDatum()
Dim piv As PivotTable
'Alle PIVOT-Tabellen zunächst löschen :
If ActiveSheet.PivotTables.Count > 0 Then
For Each piv In ActiveSheet.PivotTables
piv.TableRange1.Delete
Next
End If
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
Range("A1:C" & Cells(Rows.Count, 1).End(xlUp).Row).Address(1, 1, xlR1C1, 0, 1)). _
CreatePivotTable _
TableDestination:="R3C6", TableName:="PivotTable1", DefaultVersion:= _
xlPivotTableVersion10
ActiveSheet.PivotTables(1).AddFields RowFields:="Datum"
With ActiveSheet.PivotTables(1).PivotFields("Wert")
.Orientation = xlDataField
.Caption = "Mittelwert von Wert"
.Function = xlAverage
End With
End Sub
Gruß, NoNet
Anzeige
AW: Var=0 setzen und PIVOT-Tabelle...
30.09.2009 16:20:20
Micha2009
hi Nonet.
Vielen Dank für deine Mühen.
Die Kummulation sollte schon sein, weil ich das ergebnis durch die Anzahl der Tage teilen wollte um den Mittelwert rauszubekommen.
Das mit der Pivot Tabelle schau ich mir noch genauer an.
Wird etwas dauern, bis ich das verstanden habe, aber klingt interessant für spätere Projekte, die ich angehe.
AW: Werte in Spalte vergleichen und Mittelwert bilden
30.09.2009 12:30:29
Tino
Hallo,
kannst ja mal diesen Code testen.
Sub Vergleichen()
Dim oDic, meAr
Dim A As Long
Dim Bereich As Range

With Sheets("Tabelle1")
    Set oDic = CreateObject("Scripting.Dictionary")
    Set Bereich = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
    meAr = Bereich
    
    For A = 1 To Ubound(meAr)
     If IsDate(meAr(A, 1)) Then
      oDic(meAr(A, 1)) = 0
     End If
    Next A
    
    .Range("F2").Resize(oDic.Count) = Application.Transpose(oDic.keys)
    
    With .Range("G2").Resize(oDic.Count)
        .FormulaR1C1 = _
                    "=SUMIF(" & Bereich.Address(ReferenceStyle:=xlR1C1) & ",RC[-1]," & _
                    Bereich.Offset(0, 2).Address(ReferenceStyle:=xlR1C1) & _
                    ")/COUNTIF(" & Bereich.Address(ReferenceStyle:=xlR1C1) & ",RC[-1])"
        .Value = .Value
    End With
End With

End Sub
Gruß Tino
Anzeige
AW: Werte in Spalte vergleichen und Mittelwert bilden
30.09.2009 16:22:08
Micha2009
Vielen Dank Tino.
Ich muss da zwar noch genau hinter steigen, was wofür und so gerechnet wird, jedoch fuktioniert das genauso, wie ich es gerne hätte.
Ehrlich, ich hätte das glaub ich nie so hinbekommen.
Aber nun heißt es für mich verstehen, was du da gemacht hast. :)

363 Forumthreads zu ähnlichen Themen


Hallo,
ein ähnliches Problem wurde hier im Forum schon einmal diskutiert. (https://www.herber.de/forum/archiv/632to636/t635773.htm)
Meine Problem:
Wie kann ich die Anzahl unterschiedlicher Einträge/Werte einer Spalte erhalten, ohne dass diese vorgegeben werden ( also ohne die Verwe...
Anzeige

Nabend alle miteinander
In einer bestimmten Zeile suche ich den letzten Eintrag. Bis zu diesem soll gefaerbt werden. Mit diesem Code faerbe ich den ganzen Bereich, es soll aber nur bis zum letzten Eintrag in der Zeile gefaerbt werden. Da von links nach rechts gefaerbt.
Case Is = Cells...

Hallo liebe Excel-Könner,
ich habe folgendes Problem und finde keine Lösung.
Ich habe in Spalte A von 2006 bis heute Datum stehen, über eine UserForm möche ich in zwei TextBoxen von bis Datum eintragen und in Spalte B in diesem Bereich den WertX.
Ich hoffe Ihr könnt mir helfen!
...
Anzeige

Hallo Leute,
wie kann ich folgendes ab Zeile 5 für aktive Zeile über VBA erreichen:
1. Wird der Wert in aktive Zeile in Spalte H eingetragen, dann sollen die Werte in Zellen der Spalte D und E gelöscht werden.
2. Wird der Wert in aktive Zeile in Splate D oder E eingetragen, dann sol...

Hallo Leute,
ich habe eine Frage zu UserForm. Beim Klick auf CommandButton1 sollen die Zahlen aus TextBox1 mit Werten in Spalte Q ab Zeile 12 ersetzt werden. Dies soll nur dann erfolgen, wenn in TextBox1 die Zahlen stehen bzw. der TextBox gefüllt ist.
Ersetzt sollen nur die vorhandene W...

Guten Morgen!
In eine mehrspaltige ListBox werden eine Menge Datensätze eingelesen.
Ich möchte nun folgendes erreichen:
Wenn ich einen Datensatz in der ListBox markiere oder anklicke und wenn jetzt z.B. in der 2.Spalte in der ListBox ein "J" steht, dann soll ein vordefinierter Text...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige