Excel : Mittelwert jeder zweiten zahl aus einer Spalte?
Ich brauche den Mittelwert von F2 bis F68 jedoch nur von jeder zweiten (also 2 4 6 8 10 ....)
5 Antworten
Kannst den Zahlenblock außerhalb des Tabellenzusammenhangs kopieren.
Dann daneben von oben bis unten kopieren =ISTGERADE(ZEILE())
Dann diese beiden Spalten sortieren und den MW bilden.
Meine Lösung wäre über eine Hilfsspalte - sagen wir G:
in G2: =F2
G3 bleibt leer
in G4: =F4
G5 bleibt leer
nun G2 bis G5 markieren und hinunterziehen.
Nun hast du in der Spalte G nur jede zweite Zahl, die du leicht summieren und durch die Anzahl teilen kannst.
ISTGERADE kennt "mein" Excel (2002) nicht (obwohl die Funktion in der Hilfe angeführt ist, seltsam).
Könnte man umgehen mit:
=WENN(REST(ZEILE();2)=0;F2;"")
oder kürzer (aber unverständlicher)
=WENN(REST(ZEILE();2);"";F2)
Ist eine halbwegs elegante Lösung, denke aber, dass mein Vorschlag schneller realisiert ist.
Bei geraden Zeilen:
=MITTELWERT(WENN(REST(ZEILE(A1:A1000);2)=0;WENN(ISTLEER(A1:A1000);"";A1:A1000);""))
Formel eingeben und mit Strg+Shift Return abschließen um die geschweiften Klammern zu erhalten
DH! so funktionierts!
Deine Formel rechnet -wie auch das normale Mittelwert- auch die Nullen mit, und sie ist tolerant gegen Texte.
Insofern hast du die passgenaue Lösung.
Die Meinige dagegen ist zwar flexibler, was die Mittelwertgrenzen betrifft, aber sie ist umständlicher und um Texte zu ignorieren müsste man aber in beide Summenprodukte noch <>"*" oder istzahl(Bereich) einfügen (hab das jetzt nicht mehr ausprobiert)
in einer einzigen Zelle (ohne Hilfsspalte und ohne Matrixeingabe):
=SUMMENPRODUKT((F2:F68<>"")*ISTGERADE(ZEILE(F2:F68))*F2:F68) /SUMMENPRODUKT((F2:F68<>"")*ISTGERADE(ZEILE(F2:F68)))
Aber das (Rest(Zeile(F2:F68);2)=0) ist natürlich auch gut, bei mir funktioniert in dieser Formel allerdings ISTGERADE (xl2010)
Normalerweise würde man die Argumente des zweiten Summenprodukt als Nennert in die des ersten integrieren, da Summenprodukt (als Quasimatrixformel, aber ohne {}-Eingabe) aber diese Rechnung zeilenweise durchführt, ergibt sich zumindest bei jeder 2.Zeile eine 0 im Nenner, was zu Fehler führt.
Ob Du -wie Mittelwert es macht- die Nullen mitmitteln willst und nur leere Zellen ausschließen oder ob Du auch Nullen ausschließen willst, kannst Du wählen mit <>"" oder <>0. Kannst auch negative Zahlen ausschließen mit >=0 oder erst ab einem bestimmten Wert W an aufwärts mitteln mit >W.
{=MITTELWERT(WENN(REST(ZEILE(F2:F68);2)=0;F2:F68))}
Für Excel-Anfänger: Matrixformel (erkennbar an den geschweiften Klammern) ohne die geschweiften Klammern in die Eingabezeile eingeben und mit Strg+Umschalt+Enter (statt nur Enter) übernehmen.
ISTGERADE(...) statt REST(...;2)=0 sollte auch funktionieren, tut es bei mir aber nicht ... (aber REST(...) lässt sich sowieso leichter erweitern, wenn z. B. nur jede 3. Zeile berücksichtigt werden soll)
die Formel verwendet zwar die richtigen Zahlen und ist tolerant gegen Texte, bezieht aber ALLE Zellen mit gerader Zeilennummer ein, also auch solche, die leer sind. (sowas war allerdings in der Frage gar nicht erwähnt, sollte man aber in die Überlegung miteinbeziehen)
Einfacher:
G2: =WENN(ISTGERADE(ZEILE());F2;"")
und bis G68 runterziehen