Ich versuche, den Durchschnitt einer Zelle zu berechnen, in der #N/A, 0, #NUM vorkommen können. Ich möchte einen Code schreiben, um alle Zellenwerte zu mitteln, wenn sie kleiner als der Zellenwert J24 und größer als der Zellenwert J25 sind.
Ich habe AVERAGEIF(J2:J21,AND(">="&J25","<="&J24"),J2:J21)
diesen Code ausprobiert. Aber ich erhalte den Fehler #DIV/0. Wenn jemand eine Idee hat, wie man das Problem lösen kann, wäre das eine große Hilfe.
Danke
Antwort1
Das #DIV/0
liegt wahrscheinlich an falschen Bereichsangaben. Sie schreiben von Spalte B, aber Ihre Formel bezieht sich auf Spalte J.
Für eine Formel für Spalte J, die Fehler ignoriert, können Sie Folgendes versuchen:
=AVERAGE(IF(ISNUMBER(1/((J2:J21>J24)*(J2:J21<J25))),J2:J21))
Dies nutzt die Tatsache aus, dass die AVERAGE
Funktion Boolesche Werte ignoriert.
Antwort2
Dies löst das Problem:
Wie es funktioniert:
Eine Array-Formel (CSE) in Zelle M70:
{=IF(ISNUMBER(M61:M69),AVERAGEIFS(M61:M69,M61:M69,">="&L61,M61:M69,"<="&L62),0)}
Achtung
Beenden Sie die Formel mitStrg+Umschalt+Eingabe.
Der Operator
>=
&<=
umfasst jede Zahl zwischen 10 und 25.Wenn Sie
>
& verwenden<
, wird 10 übersprungen.
Passen Sie die Zellbezüge in der Formel nach Bedarf an.