Bedingte Summierung (SUMMEWENN) mit mehr als einer Bedingung

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

balista
**
Beiträge: 24
Registriert: Do, 23.11.2006 10:23

Bedingte Summierung (SUMMEWENN) mit mehr als einer Bedingung

Beitrag von balista »

Wie lautet die Syntax?

Konkretes Beispiel:
Ich habe eine Stundenliste über alle Bearbeiter, alle Projekte, eine Tabelle für ein Jahr. Angenommen, in Spalte A steht der Bearbeiter, in B das Datum, in C der Monat aus dem Datum, in D der Projektname, in E die Stunden.
Bisher frage ich ab, wieviele Stunden insgesamt für ein Projekt aufgewandt wurden, indem ich folgende Syntax verwende:
SUMMEWENN(D1:D1000;"XY";E1:E1000)
Nun möchte ich in anderen Auswertungen wissen, wieviel welcher Bearbeiter in welchem Monat für das Projekt aufgewandt hatte. Wie lautet die Syntax, wenn meine SUMMEWENN mehr als eine Bedingung hat? Man kann davon ausgehen, dass alle Bedingungen mit UND-Verknüpfungen auskommen?

Ich hoffe, ich habe alles ausreichend beschrieben. Ansonsten bitte einfach fragen.
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Beitrag von Eia »

SUMMENPRODUKT() ist Dein Freund.
Oder mache SUMME() zu einer Matrixformel
http://www.ooowiki.de/CalcFunktionenMatrix
balista
**
Beiträge: 24
Registriert: Do, 23.11.2006 10:23

Beitrag von balista »

Danke, das funktioniert!
Vielleicht werd ich jetzt größenwahnsinnig, aber geht das auch mit "Open End", das heißt, eine Datenmatrix, die nach unten offen ist? Bisher mache ich es so, dass ich am Anfang eines Jahres 10000 als untere Zeilennummer setze und, wenn es mehr Datenzeilen werden, die Felder einzeln auswähle und den hohen Zeilenwert auf 500000 erweitere. Wenn das Ding das selbst machen würde, hätt ich auch nichts dagegen.
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Beitrag von Eia »

Hast Du's denn schon asprobiert?
Ich arbeite lieber mit Namen statt mit Bereichsadressen
http://www.ooowiki.de/NamenFürZellen
balista
**
Beiträge: 24
Registriert: Do, 23.11.2006 10:23

Beitrag von balista »

Bin grade am probieren, stell mich aber zu doof an oder so. Die Namen würden schonmal helfen, dass ich nicht tausende von Feldern durchklicken muss, sondern pro Spalte einen Namen vergebe und dann in dieser Anwendung nur von fünf Spaltennamen den Datenbereich ändern muss. Das mach ich aber, wenn meine Formeln stehen.
Das ist meine Syntax:
=SUMME((B$16:B$600=Q$15)*(G$16:G$600=P17)*(F$16:F$600))
Notizen dazu:
Funktion steht hier mal in Zeile 17. Erste Zeile, die auszuwertende Daten enthält, ist 16. Hab bisher mal auf 600 probiert. In Q15 ist der Monat eingetragen, in P derselben Zeile wie die Funktion steht der Projektname, über den summiert werden soll. Meine Monatsspalte ist B, meine Projektnamen werden immer in G erfasst, die Stunden in F. Ich hab definitiv testhalber ein neues Projekt eingetragen, das genau vier Stunden hat und das ich als Versuch summieren wollte. Es erscheint aber 0.00, obwohl gleiches Zeitformat. Das mit den Bearbeitern mach ich, wenn das mal steht. Ist ja dann nur eine Ergänzung. String immer nur bei den Zeilennummern, da ich nur nach unten kopiere.
Müsste doch gehen, oder?
Die kopierte Syntax aus der Hilfe-Seite (Stichpunkt: Weitere Anwendungsbeispiele zum Thema "Bereich berechnen wenn") sieht so aus:
=SUMME(((MONAT(A1:A15)=E14)*(C1:C15=E15)*(B1:B15))) Allerdings sind mir die Anzahlen der Klammern nicht so richtig klar. Wenn ich mir mal verschiedene Klammertypen eintrage, sehe ich, dass eine überflüssig ist, entweder die eckige oder die geschweifte.
=SUMME[{(MONAT(A1:A15)=E14)*(C1:C15=E15)*(B1:B15)}]

Hä? Versteh grad gar nicht, was bei mir falsch sein könnte.
balista
**
Beiträge: 24
Registriert: Do, 23.11.2006 10:23

Beitrag von balista »

Ich hab jetzt mal Bereichsnamen eingeführt. Ist doch um einiges übersichtlicher.
Nun lautet meine Syntax:
=SUMME((Monat=Q$15)*(Projekt=P17)*(Zeit))
Addiert aber trotzdem nicht meine Stunden, sondern kommt auf Null.
Aber immerhin keine Fehlermeldung :wink:

Wenn ich nicht was kapital missverstanden hab, heißt das, was ich da oben hab, im Klartext: Wenn Monat = was in Q15 steht UND Wenn Projekt = das, was in P17 steht, dann summiere bitte mal Zeit von den Zeilen auf, wo die beiden Wenns zutreffen.
Meine Monatsformatierung ist vermutlich nicht schuld. Ich hab in B, also im Bereich Monat schon =Monat von Datum als Zahl ausgeben lassen. In Q15 schreib ich dann die Zahl des Monats.
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Beitrag von Eia »

Hast Du die Formel als Matrix-Formel abgeschlossen?
Normalerweise mit SHIFT+CTRL+RETURN oder das Häkchen setzen im Funktions-Autopiloten.
Die Formel muss dann Klammern bekommen {}
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Beitrag von Eia »

Eia hat geschrieben:Hast Du die Formel als Matrix-Formel abgeschlossen?
Normalerweise mit SHIFT+CTRL+RETURN oder das Häkchen setzen im Funktions-Autopiloten.
Die Formel muss dann Klammern bekommen {}
Und vielleicht solltest Du absolute Adressen benutzen:
$Q$15 $P$17
balista
**
Beiträge: 24
Registriert: Do, 23.11.2006 10:23

Beitrag von balista »

Ahaa, das hab ich wohl beim Studium der Hilfe übersehen, dass die anders einzugeben ist als eine normale Formel.
Absolute Adresse für Q15 wär ok, könnt ich machen. Für P17 wärs Käse, hier könnt ich nur die Spalte absolut setzen, da es eine Liste geben soll durch kopieren der Funktion über die Zeilen.

Moment, ich probier mal, ob ich da mit dem Abschließen hinkriege...
balista
**
Beiträge: 24
Registriert: Do, 23.11.2006 10:23

Beitrag von balista »

...Geht!
Erst war ich bisserl doof und hab die geschweiften Klammern rumgeschrieben, anschließend Ctrl+Shift+Return gedrückt und mich gewundert, warum ich =NAME? erhalte. Dann ist mir aufgefallen, dass
müsste dann Klammern bekommen {}
bedeutet, dass es die von selbst bekommt. Hab dann die Klammern rausgelöscht und seitdem geht's. Hurrah!

Vielen Dank, Eia!
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Beitrag von Eia »

balista hat geschrieben:Ahaa, das hab ich wohl beim Studium der Hilfe übersehen, dass die anders einzugeben ist als eine normale Formel.
Absolute Adresse für Q15 wär ok, könnt ich machen. Für P17 wärs Käse, hier könnt ich nur die Spalte absolut setzen, da es eine Liste geben soll durch kopieren der Funktion über die Zeilen.
Kopieren von Matrix-Formeln ist nicht so einfach. Ziehen solltest Du lieber nicht - oder probiers mal und versuche dann in einer Kopie etwas zu ändern.

CTRL+C/CTRL+V geht schon
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Beitrag von Karolus »

Hallo Balista

1.Was steht in B16:B600 ? Datumswerte wie '03.01.07' oder Monatsziffern wie 12
2.Was steht in Q 15 ? Monatsnamen oder Monatsziffern

Falls 1. Datumswerte und 2. Monatsziffern dann lautet die Syntax :

=SUMME((MONAT(Monat)=Q$15)*(Projekt=P17)*(Zeit))
Mit Strg+Ctrl+Enter abschliessen.

Falls du eine OOo-version ab 2.0x verwendest nimm besser Summenprodukt :
=SUMMENPRODUKT(MONAT(Monat)=Q$15;Projekt=P17;Zeit)
Wie eine normale Formel nur mit Enter abschliessen.

Gruß Karo
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Beitrag von Eia »

balista hat geschrieben:Danke, das funktioniert!
geht das auch mit "Open End", das heißt, eine Datenmatrix, die nach unten offen ist? Bisher mache ich es so, dass ich am Anfang eines Jahres 10000 als untere Zeilennummer setze und, wenn es mehr Datenzeilen werden, die Felder einzeln auswähle und den hohen Zeilenwert auf 500000 erweitere. Wenn das Ding das selbst machen würde, hätt ich auch nichts dagegen.
Dazu noch: Es spricht eigentlich nichts dagegen, von Anfang an bis 64000 einzugeben. Die leeren Zeilen ergeben dann Null und das verändert ja das Resultat nicht. Ich selbst habe bisher auch keine Probleme mit der Rechenleistung deswegen bekommen.
balista
**
Beiträge: 24
Registriert: Do, 23.11.2006 10:23

Beitrag von balista »

Nönö, Karolus, in B stehen Monatsziffern, gezogen aus Spalte C mit Monat(Datum). In Q15 auch eine Monatziffer. Habe mehrere Stichproben gemacht und es läuft super.
Kopiert hab ich mit Copy&Paste, weil's bisher nicht lang war und das ja mit Tastenkombi + Cursortaste in der Liste schnell geht.

Summenprodukt kann ich auch nehmen. Hab einfach das erste gewählt, was ich gefunden hab, um erstmal überhaupt was hinzubringen. OO tu ich mir immer die neueste gleich bei erscheinen drauf. Bin ja registriert.

@ Eia: Danke für den Tipp mit den 64000. Ich hatte einfach Sorge, dass ich dann beim Ausfüllen der rechnenden Zellen zusehen kann, aber wenn du meinst, das geht gut - ich hab ja was richtig feines als Rechner, also sicher keine Probleme (1024 MB RAM, Core 2 Duo 1,88 GHz, 1024 MB Grafik...).
Was passiert denn, wenn mal was über 64000 kommt? Ist dann Schluss im Calc oder ginge es ewig weiter? Ich hab mir nämlich überlegt, 10 Jahre am Stück zu verwalten und ein elftes immer rauszulöschen. Sichern einfach mit regelmäßigen Kopien dieser Datei. Dann müsst ich nie mehr in Archiven kramen, hätte keine hundert Dateien, wo ich jedes Jahr neu anfangen muss oder alles aus dem alten Jahr aus einer Kopie lösche etc. Klingt zwar wuchtig, aber heute hat man sicher Rechner, die sowas können - hat man auch Programme dafür?
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Beitrag von Eia »

balista hat geschrieben: Was passiert denn, wenn mal was über 64000 kommt? Ist dann Schluss im Calc oder ginge es ewig weiter?
Per heutigem Stand ist da Schluss und ob es Pläne gibt, die maximal zulässige Anzahl von Zeilen noch zu erweitern, weiss ich nicht.
Aber die Dantenbanker schlagen ohnehin die Hände über dem Kopf zusammen, wenn jemand mit Calc-Datensätzen so weit gehen will....
Antworten