Mittelwert pro Monat
#1
Hallo,

suche die richtige Formel.

Habe eine Tabelle mit 1200-2000 Einträgen. Pro Monat ca. 25 Einträge. 
A9:A2000 das Datum "15.02.2015" für die letzten 5 Jahre
B9:B2000 der Wert zum Datum, der sich jeden Tag ein wenig ändert.

Wie bekomme ich, für jeden Monat der letzten 5 Jahre, den Mittelwert raus.

=MITTELWERT(WENN((JAHR($A$9:$A$2001)=L9)*(MONAT($A$9:$A$2001)=K9)*($A$9:$A$2001>0);1);$B$9:B1000)

Leider geht es nicht mit dieser Formel, habe sonst auch nichts im Netz gefunden.

Schon mal danke und Gruß Holger
Top
#2
Hallo,

nimm eine Pivottabelle.

Eine Zelle der Datentabelle markieren - Einfügen - Pivottable und dem Assistenten folgen.

Ziehe das Feld Datum in das Zeilenfeld und den Meßwert in das Wertefeld. Markiere ein Datum - rechte Maus und gruppiere nach Monat und/oder Jahr.

Markiere einen Messwert - rechte Maus - Werte zusammenfassen nach - Mittelwert.
Gruß
Peter
Top
#3
Hallo, danke für die schnelle Antwort.

Die Werte dieser Tabelle werden noch in anderen Tabellen gebraucht. Wenn ich eine Pivottabelle erstelle und die Daten der Ursprungs-Tabelle aktualisiere, werden die Daten nicht an die Pivottabelle weiter geleitet.

Gruß Holger
Top
#4
Hi Holger,

du kannst die PT jederzeit aktualisieren:

[
Bild bitte so als Datei hochladen: Klick mich!
]

Das kannst du mittels VBA auch automatisieren - Helfer hierfür haben wir hier auch :32:)
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#5
Hallo,

wenn die Datentabelle geändert wird aktualisiert sich die PT nicht automatisch. Um die Aktualisierung anzustossen musst du in den PivotTable-Tools auf den Button 'Aktualisieren' klicken.

Wenn die PT in einem separaten Arbeitsblatt steht könnte man in diesem Arbeitsblatt auch einen VBA-Code hinterlegen der beim Wechsel in dieses Arbeitsblatt die PT aktualisiert.

Dazu genügt dieser Code der in das Modul des entsprechenden Tabellenblattes gehört:

Code:
Private Sub Worksheet_Activate()
Dim pt As PivotTable
   For Each pt In ActiveSheet.PivotTables
      pt.RefreshTable
   Next pt
End Sub

Um Werte aus der PT in anderen Tabellen weiterzuverwenden könnte man die Funktion Pivotdatenzuordnen() verwenden.
Gruß
Peter
Top
#6
Moin auch von mir!
Zitat:Wenn ich eine Pivottabelle erstelle und die Daten der Ursprungs-Tabelle aktualisiere, werden die Daten nicht an die Pivottabelle weiter geleitet.

Man kann das Aktualisieren auch bei Änderungen in Spalte B anstoßen (Worksheet_Change-Event).
Allerdings sollte man schauen, ob die Performance nicht leidet, was aber bei 2000 Datensätzen kein Problem sein dürfte.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#7
Danke an alle,

muss wohl doch noch ein wenig ausholen:

Die Tabelle beinhaltet die Aktienkurse der letzten 5 Jahre. Diese Daten werden von: 

"http://www.onvista.de/fonds/kurshistorie.html?WKN=849096&RANGE=60M" 

nach dem Aktualisieren aller Verbindungen auf den neusten Stand gebracht. Die Tabelle wird dann von A1:A2000 bis F1:F2000 mit den neuen Werten befüllt.

Für meine weiteren Berechnungen brauche ich nun in 60 Zellen je einen Durchschnittswert pro Monat/Jahr. Wenn ich die Tabelle aktualisiere müssten diese Werte auch auf den neuen Stand sein.

Bei den Pivottabellen habe ich Leerfelder(Jahresangabe)

Am liebsten hätte ich eine Formel pro Feld. Wenn das nicht geht, werde ich es wohl in VBA versuchen müssen.

danke
Top
#8
Hi Holger,

(27.02.2017, 12:23)Holger Weber schrieb: nach dem Aktualisieren aller Verbindungen auf den neusten Stand gebracht. Die Tabelle wird dann von A1:A2000 bis F1:F2000 mit den neuen Werten befüllt.

Für meine weiteren Berechnungen brauche ich nun in 60 Zellen je einen Durchschnittswert pro Monat/Jahr. Wenn ich die Tabelle aktualisiere müssten diese Werte auch auf den neuen Stand sein.

Bei den Pivottabellen habe ich Leerfelder(Jahresangabe)

ohne eine Beispieldatei weiß außer Dir niemand, wie die Tabellen oder die PivotTable aufgebaut sind. Da ist eine ziegerichtete Hilfe schwer.

Also stelle bitte (D)eine (Beispiel-)Tabelle als Excel-Datei zur Verfügung, siehe die als Wichtige Themen: markierten Forums-Beiträge.
Deine Mustertabelle sollte mindestens etwa 10-15 Datensätze haben, sensible Daten anonymisiert. Vom Aufbau her muss sie aber deinem Original gleichen.
Auch ein Wunschergebnis sollte dargestellt und als solches erkennbar sein.
Die farbigen Texte sind anklickbare Links:

Hier steht, wie es geht:
Beitrag 2 WICHTIG: Arbeitsmappen zur Verfügung stellen

Eine Bitte:
Anstatt Screenshots ist eine Datei oder ein Ausschnitt besser!
"Du gehst ja auch nicht in die Werkstatt und gibst ein Foto Deines kaputten Autos ab!"
Top
#9
Hallo,

es tut mir leid, aber ich verstehe immer noch nicht das Problem.

Wenn ich die Daten aus der von dir genannten Seite hole und eine PT erstelle sieht das bei mir so aus wie in der Beispielsdatei - die PT hat keine Leerfelder.

Irgendwie 'verschweigst' du uns noch etwas.


Angehängte Dateien
.xlsx   CEF-8833.xlsx (Größe: 66,92 KB / Downloads: 7)
Gruß
Peter
Top
#10
E2: =E1+32-(TAG(E1+31))
F2: =VERGLEICH(E2;A:A)
G2: =MITTELWERT(INDEX(B:B;F2):INDEX(B:B;F3-1))
bis Zeile 63 herunterkopieren. Dann mit

E2: =MIN(A:A) ersetzen

aktualisiert sich von allein ... und die Zahlen stehen dort, wo Du sie hinhaben möchtest.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste