Moin,
es existiert eine Datenbankabfrage mit dem Datum in der ersten Spalte. Das jeweils heutige steht an oberster Stelle. Dahinter kommen rund 100 Kennzahlen.
Wie ist es möglich automatisch (mit monats-pull-down-liste) einen durchschnitt einer einzelnen Spalte zu einem bestimmten Monat zu erhalten?
Mein Ansatz bisher: den monat als Zahlwert abfragen und in eine Spalte if(month(zellex)=pulldownmonat),TRUE,FALSE
Nun ist nur noch die Frage, wie ich aus einer Spalte (z.B. T, aber prinzipiell dann aus fast allen Spalten) alle Zellen zum Durschnitt erfasse, deren TRUE/FALSE/Spalte ein TRUE enthält ??
Auch andere Ansätze werden gerne gehört. Einzige Ausnahme: bitte keine Hilfsspalten-Lösungen. Wie gesagt: es handelt sich um eine Datenbankauslesung mit mehreren tausend Zellen, da macht man ungern „schnell mal“ 100 Hilfsspalten. Nicht nur dass der Aufwand enorm ist, auch die Datenmenge vergrößert sich unverantwortlich.
thx
moe.
Hallo moe,
ich sehe 2 Möglichkeiten:
-
Möglichkeit
Verwendeung der Funktionen SUMMEWENN und ZÄHLENWENN
Dabei berechnet SUMMEWENN die Summe der Werte wenn in der Hilfsspalte für den Monat der Wert TRUE steht und ZÄHLENWENN ermittelt wie oft in der Hilfsspalte der Wert TRUE vorkommt.
z.B. =SUMMEWENN($A$2:blush:A$10000;TRUE;T$2:T$10000)/ZÄHLENWENN($A$2:blush:A$10000;TRUE)
In diesem Beispiel stehen die TRUE bzw. FALSE-Werte in der Spalte A. Sie können aber auch in einer beliebigen anderen Spalte stehen.
-
Möglichkeit
Verwendung von WENN-Bedingungen in Verbindung mit Matrix-Formeln
Hier ein kleines Beispiel. Dabei stehen die daten aus der datenbank in der Tabelle „Datene“. Die Durchschnittswerte werden in einer 2. Tabelle berechnet.
Tabellenblattname: Daten
A B C
1 Monat Wert 1 Wert 2
2 13.01.05 1 2
3 02.02.05 3 3
4 12.07.05 4 5
5 23.08.05 2 7
6 22.01.05 3 9
7 15.02.05 5 11
8 30.03.05 7 13
9 10.04.05 9 15
10 15.05.05 11 17
11 02.06.05 13 19
12 11.07.05 15 21
13 07.08.05 17 23
14 17.09.05 19 25
15 22.10.05 21 27
16 11.11.05 23 5
17 12.12.05 25 7
18 27.01.05 27 9
19 31.08.05 7 11
Tabellenblattname: Durchschnitt
A B C
1 Durchschnitt
2 Monat Wert 1 Wert 2
3 Januar 10,3333333333333 6,66666666666667
4 Februar 4 7
5 März 7 13
6 April 9 15
7 Mai 11 17
8 Juni 13 19
9 Juli 9,5 13
10 August 8,66666666666667 13,6666666666667
11 September 19 25
12 Oktober 21 27
13 November 23 5
14 Dezember 25 7
Benutzte Formeln:
B3: =SUMME(WENN(TEXT(Daten!$A$2:blush:A$10000;„MMMM“)=$A3;Daten!B$2:B$10000;0))/SUMME(WENN((Daten!$A$2:blush:A$10000>0)*(TEXT(Daten!$A$2:blush:A$10000;„MMMM“)=$A3);1;0))
C3: =SUMME(WENN(TEXT(Daten!$A$2:blush:A$10000;„MMMM“)=$A3;Daten!C$2:C$10000;0))/SUMME(WENN((Daten!$A$2:blush:A$10000>0)*(TEXT(Daten!$A$2:blush:A$10000;„MMMM“)=$A3);1;0))
Die Formeln in Spalte B und C müssen als Matrix-Formeln eingegeben werden. Eingabe mit ++ abschließen; die Formeln werden dann mit geschweiften Klammern dargestellt. In Spalte B + C können die Formeln dann nach unten kopiert werden.
Gruß
Franz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Moin Franz,
das klingt vielversprechend. Im Augenblick verweigert mein Excel den Dienst, werde es aber morgen gleich mal austesten.
thx
moe.