Betrachten Sie einen Spielzeugdatensatz in Form von
A B
ID values
1 5
1 4
1 3
2 2
2 1
2 2
3 8
3 9
3 7
Es gibt also drei Gruppen mit den IDs: 1,2,3. Ich bin daran interessiert, den Durchschnittswert innerhalb jeder Gruppe zu berechnen und habe das folgende Ergebnis
A B
ID averaged
1 6
2 2.5
3 12
Die Anzahl der Gruppen (eindeutige ID) wäre also groß und die Anzahl der Daten innerhalb jeder Gruppe ebenfalls groß. Gibt es eine effiziente Berechnungsmethode? Danke
Antwort1
Wie es funktioniert:
Geben Sie diese Array-Formel (CSE) in die Zelle ein
J11
:{=IFERROR(INDEX($H$11:$H$24, MATCH(0,COUNTIF($J$10:J10, $H$11:$H$24), 0)),"")}
AchtungBeenden Sie die Formel mitStrg+Umschalt+Eingabeund nach unten auffüllen.
Formel in Zelle
K11
:=IFERROR(AVERAGEIF(H$11:H$24,$J11,I$11:I$24),"")
Passen Sie die Zellbezüge in der Formel nach Bedarf an.
Antwort2
Verwenden einer Pivot-Tabelle:
Tragen Sie die ID in die Zeilen und die Werte in die Werte ein und ändern Sie sie in „Durchschnitt“:
Verwenden der dynamischen Arrayformeln (derzeit nur für Office 365-Insider verfügbar)
Geben Sie in D2 Folgendes ein:
=UNIQUE(A2:A10)
Und in E2:
=AVERAGEIFS(B:B,A:A,D2#)
Excel gibt die Werte automatisch nach unten: