Frage von ralph2108, 91

Excel Mittelwert berechnen?

Hallo an alle,

ich suche seit langem eine richtige Formel für mein Beispiel, bin aber noch nie fündig geworden und jetzt wird es leider dringend:

Ich habe eine Excel Tabelle, wo ich eine spalte (B21:B53) habe wo alle paar Tage oder Wochen ein Eintrag hinzugefügt wird. Ich brauche hier jetzt in einer Zelle (C21) den Mittelwert der Datumsdifferenz aller einträge. Zum Beispiel

01.01.2016 03.01.2016 (=> Differenz 2 Tage) 08.01.2016 (=> Differenz 4 Tage)

somit wäre hier der Mittelwert 3 und meine gesuchte Zahl in C21

Ich hoffe ich habe es verständlich erklärt. Danke für eure Hilfe schon mal im Vorhinein! :) Liebe Grüße

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von DeeDee07, Community-Experte für Excel, 51

Falls die Formel von IamIam wirklich nicht hinhaut, dann mach dir eine Hilfsspalte und schreib in Zeile 22

=B22-B21

und kopier sie runter bis Zeile 53. Hier stehen jetzt die Differenzen der Tage. Dann kannst du mit =MITTELWERT(X22:X53) den Schnitt berechnen (statt X natürlich den entsprechenden Spaltenbuchstaben verwenden). Ich gehe davon aus, dass es in B keine leeren Zellen gibt.

Übrigens, die Differenz vom 3.1 zum 8.1 sind 5 Tage, nicht 4.

Expertenantwort
von Iamiam, Community-Experte für Excel, 48

probiers mal mit

{=MITTELWERT(B32:B64-B31:B63)}

Achtung: Dies ist eine Matrixformel! Die geschweiften {Klammern} NICHT miteingeben, sondern die Formel anstatt mit einfachem Enter mit der Kombination (gleichzeitig) Strg+Shift+Enter abschließen (nach jeder Neubearbeitung wieder!). Die {Klammern} entstehen dann automatisch.

Schreibtechnisch nimmst Du am besten die rechte Strg- und Umschalttaste, dann gehts mit einer Hand und lässt sich auch leichter merken!  - - -
Noch ein Tipp: Wenn Du in der Bearbeitungszeile einen selbständigen Formelteil markierst und F9 drückst, erhältst Du ein(e) Ergebnis{liste}. Allerdings dann die Zelle mit Esc verlassen (oder rückgängig machen), Enter würde das gezeigte Ergebnis festschreiben! Vorläufig kurze Bereiche festlegen! (mindestens 2 Zellen markieren, Strg+h, ... ersetzen durch ...)

in Deinem Fall sollte das mit den genannten Bereichen noch hinhauen. Überstreiche in der Bearbeitungszeile  B32:B64-B31:B63  mit der Maus: Du erhältst dann eine Liste der Einzeldifferenzen, die Du nachprüfen kannst.

Nullen (Differenz gleicher Datümer) werden in die Mittelwertbildung miteinbezogen, Leerzellen nicht. Wenn Du das anders willst, dann schau mal in der xl-Hilfe unter Teilergebnis nach, dort gibts noch ein paar mehr Optionen.

Willst Du mehr über Matrixformeln wissen, dann gugl mal nach Matrixformeln Haserodt , dort findest Du eine hervorragend erklärte Einführung in 7 "Stationen".

Wenn was nicht klappt, frag zurück.

Kommentar von Iamiam ,

Leere Zellen machen ein Problem, wenn sie sich nicht genau aufheben. Merkst Du, wenn der Wert ungewöhnlich hoch oder negativ (bei aufsteigenden Listen) wird. In diesem Fall an die Spalte ein weiteres Dummy-Datum anfügen, am besten das letzte wiederholen.

Antwort
von PeterKremsner, 46

Ich würds mit VBS machen.

Dazu die Datumangaben in einen Timestamp umwandeln (meistens uint32) subtrahieren und dann auf Tage umrechnen.

Dannach einfach Zusammenzählen und die Hälfte nehmen das wäre der arithmetische Mittelwert

Kommentar von Iamiam ,

uint32: Cint...value?

Und: wenn ich das richtig verstanden habe, will er den Mittelwert der Differenzen aufeinanderfolgender Einträge!

Kommentar von PeterKremsner ,

Cint ist die Vbs Funktion um einen Datentyp nach Integer zu Convertieren ob das jetzt einem unsigned 32Bit Integer in C entspricht weis ich nicht, aber normal ist der Timestamp in einem 32Bit Integer gespeichert.

Naja wenn er den Mittelwert der Differenzen will, einfach die Differenzen bilden, alle summieren und dann durch die Anzahl der Werte dividieren.

Antwort
von KronosIsten, 45

Hi,

die Formel für den Mittelwert in Excel ist

 =MITTELWERT()

Ob das auch für eine Datumsfunktion gilt, kann ich dir nicht sagen, aber ansonten würde ich einfach, statt dem gesamten Datum (Bsp.: 06.01.2016) einfach nur die Zahl "6" für das Datum eingeben, damit funktioniert es sicher.

Antwort
von ralph2108, 26

Hi,

erst mal Vielen vielen Dank für eure schnellen Antworten.

Aber leider funktioniert nichts von denen. Mit VBA will (und kann) ich es nicht machen.

@Iamiam, super Antwort. Hat mir viel über excel gezeigt. Danke! :) Aber leider hab ich das so auch schon mal probiert und hat leider nicht funktioniert.. da ist der Mittwelwert etwas mit 45764 :D

Liebe Grüße

Kommentar von Iamiam ,

45764 könnte von der Differenz zu einer leeren Zelle kommen, wenn nur Mittelwert einer Differenz.. D.h., die oberste Zelle oder die unterste ist leer =>volle Differenz von heute() -1.1.1900.

Bei mir funktionierts nämlich, wenn auch mit anderen Adressen. Ich hab ja versehentlich meine Adressen stehen lassen, die musst Du natürlich anpassen an Deine Datei. (die beiden um eine Zelle verschobenen Bereiche müssen genau gleich groß sein, sonst kann xl mit den "überschüssigen" Zellen nichts anfangen und meldet einen Fehler!

Keine passende Antwort gefunden?

Fragen Sie die Community