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

Automatische Mittelwertsbildung bei gleichem Datum

Automatische Mittelwertsbildung bei gleichem Datum
06.01.2009 23:25:00
Elmar
Hallo,
im Rahmen meiner Diplomarbeit muss ich Unmengen an gleichen Datensätzen ausarbeiten. Es handelt sich um Preisangaben, wobei es zu jedem Tag mehrere Preisangaben gibt. Ich möchte nun, dass zu jedem Tag automatisch der Mittelwert gebildet wird und dieser dann am rechten Rand ausgegeben wird.
Allerdings hänge ich in meinen Entwürfen nun Böse fest und komme absolut nicht mehr weiter.
Sub test1() ' test1 Makro ' Makro am 06.01.2009 von Emla aufgezeichnet Dim i As Integer Dim n As Integer Dim j As Integer Dim zähler1 As Integer Dim Datum1 As String Dim zähler2 As Integer Dim Bereich n = Cells(Rows.Count, 1).End(xlUp).Row For i = 3 To n If Cells(i, 1).Value = Cells(i + 1, 1).Value Then Datum1 = Cells(i, 1).Value 'vermerkt das Datum zähler1 = i 'deklariert den Anfang der gleichen Tage For j = i + 1 To n If Cells(j, 1).Value = Datum1 Then zähler2 = j + 1 'deklariert das Ende der gleichen Tage Else zähler2 = j End If Bereich = Range(Cells(zähler1, 11), Cells(zähler2, 11)) Next j Range(Cells(zähler1, 12)).Formula = "=Average(" & Bereich & ")" Cells(zähler1, 15).Value = Cells(zähler1, 1).Value End If Next i End Sub


unter https://www.herber.de/bbs/user/58141.xls habe ich mal ein kleines Beispiel der Daten wobei die Preise sonst in der Spalte K stehen und in der Spalte N ausgeben werden.
Es wäre wirklich wunderbar, wenn jemand einen Rat hätte. Wenn ich dies alles manuell erledigen müsste, wäre ich noch am Ende meiner Tage am Werk.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatische Mittelwertsbildung bei gleichem Datum
07.01.2009 00:24:17
Josef
Hallo Elmar,
ich würde da mal so rangehen. (Daten in Spalte K:L ergebnis in M)
Sub averageByGroup()
    With Range("N3:N" & Cells(Rows.Count, 11).End(xlUp).Row)
        .Formula = "=IF(K4>K3,SUMPRODUCT(($K$3:K3=K3)*$L$3:L3)/COUNTIF($K$3:K3,K3),"""")"
        'wenn nur die Werte benötigt werden
        '.Value = .Value
        'oder wenn die Formeln stehen bleiben sollen
        '.SpecialCells(xlCellTypeFormulas, 2).ClearContents
    End With
End Sub

Gruß Sepp

Anzeige
AW: Automatische Mittelwertsbildung bei gleichem Datum
07.01.2009 00:39:11
Bibo
Hallo Elmar,
mal ein Ansatz für eine Formellösung zu Deiner Beispielmappe. Allerdings hast Du dann als Schönheitsfehler den Mittelwert in jeder Zeile stehen, aber sonst stimmt es. Habe da momentan keinen besseren Lösungsvorschlag.
Tabelle1

 ABC
2textpreis 
303.01.200531,9431,6842857
403.01.200533,5431,6842857
503.01.200530,6531,6842857
603.01.200531,3831,6842857
703.01.200531,5831,6842857
803.01.200532,7631,6842857
903.01.200529,9431,6842857
1004.01.200531,8531,7385714
1104.01.200533,7131,7385714
1204.01.200531,2831,7385714
1304.01.200531,2831,7385714
1404.01.200531,4831,7385714
1504.01.200532,6131,7385714
1604.01.200529,9631,7385714
1705.01.200531,9031,7428571
1805.01.200533,8531,7428571
1905.01.200531,2331,7428571
2005.01.200531,2931,7428571
2105.01.200531,3931,7428571
2205.01.200532,5331,7428571
2305.01.200530,0131,7428571

Formeln der Tabelle
ZelleFormel
C3=WENN(A3="";"";SUMMEWENN(A:A;A3;B:B)/ZÄHLENWENN(A:A;A3))
C4=WENN(A4="";"";SUMMEWENN(A:A;A4;B:B)/ZÄHLENWENN(A:A;A4))
C5=WENN(A5="";"";SUMMEWENN(A:A;A5;B:B)/ZÄHLENWENN(A:A;A5))
C6=WENN(A6="";"";SUMMEWENN(A:A;A6;B:B)/ZÄHLENWENN(A:A;A6))
C7=WENN(A7="";"";SUMMEWENN(A:A;A7;B:B)/ZÄHLENWENN(A:A;A7))
C8=WENN(A8="";"";SUMMEWENN(A:A;A8;B:B)/ZÄHLENWENN(A:A;A8))
C9=WENN(A9="";"";SUMMEWENN(A:A;A9;B:B)/ZÄHLENWENN(A:A;A9))
C10=WENN(A10="";"";SUMMEWENN(A:A;A10;B:B)/ZÄHLENWENN(A:A;A10))
C11=WENN(A11="";"";SUMMEWENN(A:A;A11;B:B)/ZÄHLENWENN(A:A;A11))
C12=WENN(A12="";"";SUMMEWENN(A:A;A12;B:B)/ZÄHLENWENN(A:A;A12))
C13=WENN(A13="";"";SUMMEWENN(A:A;A13;B:B)/ZÄHLENWENN(A:A;A13))
C14=WENN(A14="";"";SUMMEWENN(A:A;A14;B:B)/ZÄHLENWENN(A:A;A14))
C15=WENN(A15="";"";SUMMEWENN(A:A;A15;B:B)/ZÄHLENWENN(A:A;A15))
C16=WENN(A16="";"";SUMMEWENN(A:A;A16;B:B)/ZÄHLENWENN(A:A;A16))
C17=WENN(A17="";"";SUMMEWENN(A:A;A17;B:B)/ZÄHLENWENN(A:A;A17))
C18=WENN(A18="";"";SUMMEWENN(A:A;A18;B:B)/ZÄHLENWENN(A:A;A18))
C19=WENN(A19="";"";SUMMEWENN(A:A;A19;B:B)/ZÄHLENWENN(A:A;A19))
C20=WENN(A20="";"";SUMMEWENN(A:A;A20;B:B)/ZÄHLENWENN(A:A;A20))
C21=WENN(A21="";"";SUMMEWENN(A:A;A21;B:B)/ZÄHLENWENN(A:A;A21))
C22=WENN(A22="";"";SUMMEWENN(A:A;A22;B:B)/ZÄHLENWENN(A:A;A22))
C23=WENN(A23="";"";SUMMEWENN(A:A;A23;B:B)/ZÄHLENWENN(A:A;A23))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Bibo
Anzeige
AW: Automatische Mittelwertsbildung bei gleichem Datum
07.01.2009 00:58:00
Bibo
Hallo Elmar,
habe bei Josefs VBA-Lösung etwas abgekupfert, so dass jetzt nur noch am letzten Eintrag des Tages der Mittelwert ausgegeben wird.
Tabelle1

 ABC
2textpreis 
303.01.200531,94 
403.01.200533,54 
503.01.200530,65 
603.01.200531,38 
703.01.200531,58 
803.01.200532,76 
903.01.200529,9431,6842857
1004.01.200531,85 
1104.01.200533,71 
1204.01.200531,28 
1304.01.200531,28 
1404.01.200531,48 
1504.01.200532,61 
1604.01.200529,9631,7385714
1705.01.200531,90 
1805.01.200533,85 
1905.01.200531,23 
2005.01.200531,29 
2105.01.200531,39 
2205.01.200532,53 
2305.01.200530,0131,7428571

Formeln der Tabelle
ZelleFormel
C3=WENN(A4<>A3;SUMMEWENN(A:A;A3;B:B)/ZÄHLENWENN(A:A;A3); "")
C4=WENN(A5<>A4;SUMMEWENN(A:A;A4;B:B)/ZÄHLENWENN(A:A;A4); "")
C5=WENN(A6<>A5;SUMMEWENN(A:A;A5;B:B)/ZÄHLENWENN(A:A;A5); "")
C6=WENN(A7<>A6;SUMMEWENN(A:A;A6;B:B)/ZÄHLENWENN(A:A;A6); "")
C7=WENN(A8<>A7;SUMMEWENN(A:A;A7;B:B)/ZÄHLENWENN(A:A;A7); "")
C8=WENN(A9<>A8;SUMMEWENN(A:A;A8;B:B)/ZÄHLENWENN(A:A;A8); "")
C9=WENN(A10<>A9;SUMMEWENN(A:A;A9;B:B)/ZÄHLENWENN(A:A;A9); "")
C10=WENN(A11<>A10;SUMMEWENN(A:A;A10;B:B)/ZÄHLENWENN(A:A;A10); "")
C11=WENN(A12<>A11;SUMMEWENN(A:A;A11;B:B)/ZÄHLENWENN(A:A;A11); "")
C12=WENN(A13<>A12;SUMMEWENN(A:A;A12;B:B)/ZÄHLENWENN(A:A;A12); "")
C13=WENN(A14<>A13;SUMMEWENN(A:A;A13;B:B)/ZÄHLENWENN(A:A;A13); "")
C14=WENN(A15<>A14;SUMMEWENN(A:A;A14;B:B)/ZÄHLENWENN(A:A;A14); "")
C15=WENN(A16<>A15;SUMMEWENN(A:A;A15;B:B)/ZÄHLENWENN(A:A;A15); "")
C16=WENN(A17<>A16;SUMMEWENN(A:A;A16;B:B)/ZÄHLENWENN(A:A;A16); "")
C17=WENN(A18<>A17;SUMMEWENN(A:A;A17;B:B)/ZÄHLENWENN(A:A;A17); "")
C18=WENN(A19<>A18;SUMMEWENN(A:A;A18;B:B)/ZÄHLENWENN(A:A;A18); "")
C19=WENN(A20<>A19;SUMMEWENN(A:A;A19;B:B)/ZÄHLENWENN(A:A;A19); "")
C20=WENN(A21<>A20;SUMMEWENN(A:A;A20;B:B)/ZÄHLENWENN(A:A;A20); "")
C21=WENN(A22<>A21;SUMMEWENN(A:A;A21;B:B)/ZÄHLENWENN(A:A;A21); "")
C22=WENN(A23<>A22;SUMMEWENN(A:A;A22;B:B)/ZÄHLENWENN(A:A;A22); "")
C23=WENN(A24<>A23;SUMMEWENN(A:A;A23;B:B)/ZÄHLENWENN(A:A;A23); "")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Bibo
Anzeige
AW: nimm die Pivot-Tabelle
07.01.2009 00:45:00
Daniel
Hallo
für solche Auswertungen gibt es die Pivot-Tabelle.
dazu einfach:
- eine beliebige Zelle innerhalb der Datentabelle markieren
- DATEN - PIVOTTABLE klicken
- im Assistenten immer auf WEITER klicken bis Schritt 3
- im Schritt 3 auf LAYOUT klicken
- dort den Button "Text" in das Feld "Zeile" und den Button "Preis" in das Feld "Daten" ziehen
- den Button "Preis" im Feld "Daten" doppelt klicken und "Mittelwert" auswählen
- auf OK und FERTIGSTELLEN klicken
so hat man mit ein paar wenigen Klicks die Auswertung fertiggestellt.
einfacher gehts nicht.
Gruß, Daniel
Anzeige
AW: nimm die Pivot-Tabelle
07.01.2009 01:01:47
Bibo
... die nahe liegendste, beste und effektivste Lösung.
Bravo!
Bibo
AW: nimm die Pivot-Tabelle
07.01.2009 09:04:59
Elmar
super hab vielen herzlichen Dank,
mit dem Ratschlag habe ich mir sehr viel Zeit gespart :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige