Sehr kompliziertes Excel Problem - Mittelwert DIV/0?

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


Suboptimierer  13.12.2016, 12:57

Topp!

1
Iamiam  13.12.2016, 14:25
@Suboptimierer

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!

1

 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.

Woher ich das weiß:eigene Erfahrung – Faulheit >> Neugier >> Wissen

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

Iamiam  13.12.2016, 14:18

bei solchen Dingen spiele ich immer erst mal mit den integrierten Formeln rum, meist findet sich da was!

1

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?


Cookie74986  06.10.2022, 11:15

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?

0
Suboptimierer  13.12.2016, 14:21

Auch sehr schön! Unglaublich, dass die Fehlerausgabe als normaler Text behandelt werden kann.

0
Iamiam  13.12.2016, 14:29
@Suboptimierer

ist eigentlich eine Funktion: =#Div/0! geht ohne "", aber hier einsetzbar, da kein Zellbezug vorhanden (auch =#WERT! etc!)

0