163 Aufrufe
Gefragt in Tabellenkalkulation von peters Mitglied (460 Punkte)
Hallo zusammen!

ich habe eine Tabelle zu meinem Gewicht.

Spalte A = Tagesdatum
Spalte B = Gewicht

Ich möchte nun eine Zusammenfassung monatsweise erstellen und stelle mir eine Formel vor,
wie z.B. (lapidar beschrieben):

Suche den Maximalwert des Gewichtes in der gesamten Tabelle für alle Werte, sofern jeweils MONAT(Spalte A)=1 (Januar) ist.

Für die übrigen Monate würde ich entsprechend angepasste Formeln bilden, das wäre ja dann einfach.

Fällt da jemandem ad hoc eine Lösung zu ein?

Grüße

Peter

8 Antworten

+1 Punkt
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo Peter,

Die Formel =MAXWENNS(B:B;A:A;C1) liefert das gewünschte Ergebnis, wobei in C1 der Monat steht, für den das Maximum gesucht wird.

Gruß computerschrat
0 Punkte
Beantwortet von peters Mitglied (460 Punkte)
Hallo Computerschrat,

danke für die schnelle Antwort.

Deine Formel funktioniert zwar, allerdings nur wenn Spalte A eine Hilfsspalte ist, in der das Datum mit der Formel =MONAT(Datumsspalte) hinterlegt wurde, dort also lediglich Werte von 1 bis 12 stehen.

Siehst Du eine Möglichkeit, die MONAT()-Funktion in die Formel einzubinden, so dass ich auf die Hilfsspalte verzichten kann?

Gruß
Peter
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo Peter,

jetzt verstehe ich. Ich war davon ausgegangen, dass in Spalte A nur die Monate stehen, aber es sind offenbar ganze Datumsangaben. Da kenne ich keinen Weg, ohne Hilfsspalte. Im Grunde muss eine solche Hilsspalte aber auch nicht stören. Zum einen kann die an beliebiger Stelle, ggf. auch auf einem anderen Tabellenblatt stehen und sie kann ausgeblendet und damit unsichtbar sein. Die für die Spalte erforderliche Formel muss nur einmal geschrieben und dann in der Spalte nach unten kopiert werden.

Gruß computerschrat
0 Punkte
Beantwortet von peters Mitglied (460 Punkte)
Hallo Computerschrat,

schade. Aber danke für den ersten Lösungsansatz, damit kann ich arbeiten.

Gruß

Peter
0 Punkte
Beantwortet von
=MAX((MONAT(A:A)=C1)*(B:B))
eventuell bei älteren Excel Versionen eingegeben als Matrixformel (Steuerung + Umschalt + Enter  bei der Eingabe)

(bei Office 365 geht's definitiv auch "normal")

und weil ich annehme, dass Gewicht immer positiv ist
+2 Punkte
Beantwortet von xlking Experte (1.5k Punkte)
Hallo ihr,

doch das geht. Wenn man davon ausgeht, das Spalte A Datumswerte sind und der Wert in C1 eine Zahl zwischen 1 und 12 dann sollte folgende Formel funktionieren.

=MAXWENNS(B:B;A:A;">="&DATUM(JAHR($A$2);C$1;1);A:A;"<="&DATUM(JAHR($A$2);C$1+1;1)-1)

Wichtig: Falls deine Tabelle über mehrere Jahre geht, musst du das Jahr auch irgendwo eingeben (wird hier automatisch aus A2 gezogen) und dich in der Datumsformel auf die entsprechende Zelle beziehen. Sonst wird der Maxwert aus allen Mai's gezogen. Wenn du jedoch ein Tabellenblatt pro Jahr machst, kannst du auf diesen Schritt verzichten.

Gruß Mr. K.
0 Punkte
Beantwortet von peters Mitglied (460 Punkte)
Bearbeitet von peters
Hallo Mr. K.,

ich danke auch Dir für Deine Lösung; sie funktioniert prima!

Kannst Du mir einen Gefallen tun und mir auseinanderklabüstern, was die Formel genau tut?
Ich möchte sie auch verstehen - sonst lerne ich ja nix.

Und seit 1/2 h hänge ich nun davor, mein Kopf raucht und peile die Formel nicht vollends.

Und die Jahreszahl müsste ich tatsächlich noch einbauen - und da ich die Formel nicht verstehe, finde ich den Ansatz dafür nicht.

Gruß

Peter
0 Punkte
Beantwortet von xlking Experte (1.5k Punkte)
Hi Peter,

so kompliziert ist das gar nicht. Es sind nur zwei ineinander verschachtelte Funktionen. Zum Einen hast du da Maxwenns das holt dir im ersten Parameter aus Spalte B:B den zurückzugebenden Wert wenn gleichzeitig in Spalte A:A (Parameter 2) das Datum in den gewünschten Monat (Parameter 3) fällt. Der 4. und 5. Parameter funktioniert genauso wie der 2. und 3.

Die Formel Datum() erstellt dir ein Wunschdatum, holt das Jahr aktuell aus A2, wenn du eine Zelle für das Jahr hast musst du nur zweimal Jahr($A$2) durch den Zellbezug ersetzen. Der zweite Parameter in der Datumsformel steht für den Monat (in deinem Fall C1 und der dritte für den Tag (hier der 1. des Monats)

Nun wollen wir alle Datumsangaben die größer oder gleich dem 1. deines Monats sowie kleiner oder gleich dem letzten deines Monats finden. Zwar gibt es mit Monatsende() eine Formel die den letzten eines Monats ermittelt. Die hab ich aber hier nicht angewandt, sondern der Einfachheit halber nochmal den 1. des Folgemonats  (+1) verwendet und davon 1 Tag (-1) abgezogen. Das kommt aufs Gleiche raus.

Du kannst also mit Datumsangaben rechnen, und Tage hinzuaddieren oder abziehen, da das Datum lediglich ein Zahlenformat ist, hinter dem sich eine ganze Zahl (oder wenn Uhrzeit mi dabei ist eine Dezimalzahl mit Nachkommastellen) befindet.

Gruß Mr. K.
...