Sehr kompliziertes Excel Problem - Mittelwert DIV/0?
Hallo, ich habe ein sehr kompliziertes Excel Problem und bräuchte dafür eine lösende Formel.
Folgendes: Ich möchte den Mittelwert aus 31 einzelnen Zellen berechnen (also keine Range!), nun sind temporär von diesen 31 Zellen immer welche mit #DIV/0 versehen. Wie kann ich nun trotzdem den Mittelwert berechnen? Also so, dass Zellen mit DIV/0, solange sie diesen Zustand haben, davon unberührt bleiben. Ich habs mit WENN, ISTZUSTAND etc. alles versucht, aber keine Chance. Liegt halt vielleicht auch daran, dass es keine Range sondern 31 einzelne Zellen sind, und es das nochmal deutlich komplizierter und unübersichtlicher macht.
Wenn vielleicht jemand die Zeit dazu hätte, mir bei diesem Problem zu helfen und es aus dem Stegreif evtl. zu umständlich ist, könnte ich per Mail auch die Tabelle zusenden.
6 Antworten
Hallo,
soweit ich sehe, berücksichtigen die Antworten mit Mittelwertwenn oder Aggregat leider jeweils nicht die Maßgabe des Fragestellers, dass es sich nicht um eine Range handelt.
Ich denke es wäre hier nötig, dass der Fragesteller seinen Tabellenaufbau zeigt, damit wir nicht blind raten müssen. Bitte also mal einen Screenshot machen und hier als separate Antwort einstellen.
31 einzelne Zellen könnte schließlich auch bedeuten, A42 L1337 P314159... dann wäre vermutlich eher am Aufbau der Tabelle zu arbeiten.
LG, Chris
Für Excel 2016 oder LibreOffice gibt es folgende Lösung:
=AGGREGAT(1;6;A1:A20)
Die 1 steht für Mittelwert berechnen
Die 6 steht für alle Fehler ignorieren
A1:A31 ist der Bereich, wovon der Mittelwert berechnet werden soll
DH!
Aggregat geht leider erst seit xl2010 (meine Lösung "seit jeher")
aber genau genommen war ich zu faul, mich in Aggregat reinzuvertiefen, obwohl ich wusste, dass da was geht!
Hallo! Du musst in den 31 Zellen das Ergebnis #DIV/0 vermeiden. Z.B. mit
=WENNFEHLER(deine Formel;"")
Wenn also deine Formel einen #DIV/0 oder irgendeinen anderen Fehler erzeugt, fängt das die WENNFEHLER-Funktion ab und gibt einen Leerstring (2 Anführungszeichen) aus. Die MITTELWERT-Formel berücksichtigt dann diese Felder nicht.
Hmm, fällt mir so auch nichts zu ein...
Ich kann dir höchstens eine VBA-Lösung bieten.
Public Function MW(ParamArray rWerte() As Variant) As Double Dim i As Integer Dim iAnz As Integer Dim dSum As Double Dim rWert As Variant iAnz = 0: dSum = 0#: MW = 0# For i = LBound(rWerte) To UBound(rWerte) For Each rWert In rWerte(i) If IsNumeric(rWert.Value) Then dSum = dSum + rWert.Value iAnz = iAnz + 1 End If Next Next MW = dSum / iAnz End Function
bei solchen Dingen spiele ich immer erst mal mit den integrierten Formeln rum, meist findet sich da was!
wenn es nur der eine Fehlertyp ist, geht es einfach mit:
=MITTELWERTWENN(A1:A31;"<>#Div/0!")
bei mehreren Fehlertypen würde es erheblich komplizierter. Reicht das?
Diese Formel ist wirklich hilfreich. Kann ich da auch Nullwerte ausblenden?
Ich habe eine ähnliche Datei, aber ich müsste noch die Zellen aus dem Mittelwert ausblenden, die eine 0 erhalten. Leider komme ich nicht weiter. Kannst Du helfen?
Auch sehr schön! Unglaublich, dass die Fehlerausgabe als normaler Text behandelt werden kann.
ist eigentlich eine Funktion: =#Div/0! geht ohne "", aber hier einsetzbar, da kein Zellbezug vorhanden (auch =#WERT! etc!)
Topp!