Seite 1 von 1

bedingte Formatierung (summewenns mit Wochentag)

Verfasst: Mi 30. Jan 2019, 21:52
von 100
Hallo,

ich habe eine an sich funktionierende Formel, die aber partout nicht als bedingte Formatierung funktionieren will. Ich komme da seit Stunden einfach nicht weiter und finde auch nichts Passendes im Netz. Eigentlich müsste die bedingte Formatierung so funktionieren, was sie aber eben nicht tut. Formeln werden in der bedingten Formatierung ja automatisch als Matrixformeln erkannt. STRG+UMSCHALT ist hier nicht erforderlich und auch nicht möglich.

Hat jemand eine Idee, weshalb das nicht funktioniert und wie man es ohne Hilfsspalten lösen kann?

Version: 6.0.7.3 (x64). In OpenOffice 4.1.6 funktioniert es übrigens auch nicht.

Vielen lieben Dank im Voraus!

Re: bedingte Formatierung (summewenns mit Wochentag)

Verfasst: Mi 30. Jan 2019, 23:03
von HeritzP
Hallo,

leider beschreibst Du nicht, was die bed. Formatierung tun soll.


Gruß HeritzP

Re: bedingte Formatierung (summewenns mit Wochentag)

Verfasst: Do 31. Jan 2019, 00:06
von 100
Stimmt :-)
Ich bin einfach davon ausgegangen, dass sich jemand die bedingten Formatierungen der Beispieldatei ansieht und es daraus ja ersichtlich ist.
Im Beispiel soll der Text im Feld C4 rot eingefärbt werden, wenn die Summe der Zahlen in B1 bis B19, die auf einen Montag in A1 bis A19 fallen, 21 bzw. den Wert in C1 ergeben. Die Felder C5 bis C8 sind weitere Versuchsvarianten.

In Feld C1 steht die Matrixformel zur Kontrolle, ob sie selbst funktioniert, was sie dort tut.

Re: bedingte Formatierung (summewenns mit Wochentag)

Verfasst: Do 31. Jan 2019, 09:36
von Mondblatt24
Hallo,
Im Beispiel soll der Text im Feld C4 rot eingefärbt werden
warum ausgerechnet C4?
Du addierst die Summen der Montage(was auch ohne Matrixformel funktioniert), willst aber C4 einfärben, wozu? Was steckt dahinter?
Logisch wäre doch die Zeilen der Montage hervorzuheben.

Gruß Peter

Re: bedingte Formatierung (summewenns mit Wochentag)

Verfasst: Do 31. Jan 2019, 10:49
von mikele
Hallo,
warum die Formel als bedingte Formatierung nicht funktioniert kann ich auch nicht erklären.
Zunächst würde anstelle von Summewenns() auch Summewenn() reichen. Da diese Funktionen an sich schon Matrixfunktionen darstellen, wird in dem konkreten Fall eine verschachtelte Matrixfunktion daraus.
Mit folgender Funktion kannst du die Bedingung aber realisieren:

Code: Alles auswählen

SUMMENPRODUKT(B1:B19;WOCHENTAG(A1:A19;2)=1)=C1

Re: bedingte Formatierung (summewenns mit Wochentag)

Verfasst: Do 31. Jan 2019, 10:52
von 100
Mondblatt24 hat geschrieben:
Do 31. Jan 2019, 09:36
warum ausgerechnet C4?
Weil das nur ein sehr verkürtzes Beispiel ist. In der eigentlichen Tabelle kommen noch Stunde und Minuten dazu, weshalb es da nur als Matrixformel funktioniert und dort stehen die Zeiten auch auf einem anderen Tabellenblatt.

Die Formel dort sieht so aus:

Code: Alles auswählen

{=WENNFEHLER(VERKETTEN(TEXT(SUMMEWENNS('1234.history'.$V$2:$V$11000;WOCHENTAG('1234.history'.$A$2:$A$11000;2);"=1";'1234.history'.$B$2:$B$11000;"<>Test";'1234.history'.$V$2:$V$11000;">0";STUNDE('1234.history'.$A$2:$A$11000);"=0";MINUTE('1234.history'.$A$2:$A$11000);">14";MINUTE('1234.history'.$A$2:$A$11000);"<30")/SUMMEWENNS('1234.history'.$V$2:$V$11000;WOCHENTAG('1234.history'.$A$2:$A$11000;2);"=1";'1234.history'.$B$2:$B$11000;"<>Test";'1234.history'.$V$2:$V$11000;"<0";STUNDE('1234.history'.$A$2:$A$11000);"=0";MINUTE('1234.history'.$A$2:$A$11000);">14";MINUTE('1234.history'.$A$2:$A$11000);"<30")*-1;"0,00 ");TEXT(1;": 1"));"-")}
Wenn dort als Ergebnis <1 herauskommt, soll das Ergebnis rot dargestellt werden.
mikele hat geschrieben:
Do 31. Jan 2019, 10:49

Code: Alles auswählen

SUMMENPRODUKT(B1:B19;WOCHENTAG(A1:A19;2)=1)=C1
Danke! Ich habe schon befürchtet, dass man es ganz anders machen muss und eigentlich sollte meine bedingte Formatierung funktionieren. Leider kann nicht testen, ob es mit Excel funktionieren würde, was interessant wäre. Wenn es dort funktionieren sollte, könnte man davon ausgehen, dass es in Libre/Open Office ein Bug ist. Mal sehen, ob ich das bei meiner Originalformel mit Deinem Beispiel irgendwie hinbekomme.

Re: bedingte Formatierung (summewenns mit Wochentag)

Verfasst: Do 31. Jan 2019, 11:09
von mikele
Hallo,
kannst du uns deinen Bedingungen mal in Worten auseinandernehmen?
dass es in Libre/Open Office ein Bug ist
Nicht zwingend. Es heißt zunächst nur, dass die Funktionen hier anders benutzt werden.

Re: bedingte Formatierung (summewenns mit Wochentag)

Verfasst: Do 31. Jan 2019, 11:18
von Mondblatt24
Hallo,
100 hat geschrieben:
Do 31. Jan 2019, 10:52
Weil das nur ein sehr verkürtzes Beispiel ist. In der eigentlichen Tabelle kommen noch Stunde und Minuten dazu, weshalb es da nur als Matrixformel funktioniert und dort stehen die Zeiten auch auf einem anderen Tabellenblatt.
also ist Deine Beispieldatei völlig nutzlos.

Gruß Peter

Re: bedingte Formatierung (summewenns mit Wochentag)

Verfasst: Do 31. Jan 2019, 11:39
von 100
mikele hat geschrieben:
Do 31. Jan 2019, 11:09
kannst du uns deinen Bedingungen mal in Worten auseinandernehmen?
In "V" stehen Umsätze, die zu Zeiten in "A" angefallen sind. In "B" seht die Umsatzart. Ich will wissen, wie sehr sich Umsätze zu bestimmten Tagen und Uhrzeiten lohnen. Dividiert werden Umsätze >0 durch <0 weil das Ergebnis wird in Form eines Faktors dargestellt werden soll, und als Text, weil es so aussehen soll: "2,4 : 1" wäre lohnenswert, "0,9 : 1" wäre ein Verlustgeschäft und soll rot dargestellt werden.
Mondblatt24 hat geschrieben:
Do 31. Jan 2019, 11:18
also ist Deine Beispieldatei völlig nutzlos.
Ich wollte es eben nicht unnötig kompliziert machen.

Edit:
Ich konnte es durch den Vorschlag von Mikele lösen. Danke noch mal! Die Formel für die bedingte Formatierung sieht so aus. Ich musste also nicht allzuviel ändern. Dennoch ist es seltsam, dass es mit SUMMEWENNS nicht funktioniert.

Code: Alles auswählen

summenprodukt('1234.history'.$V$2:$V$11000;WOCHENTAG('1234.history'.$A$2:$A$11000;2)=1;'1234.history'.$B$2:$B$11000<>"Test";'1234.history'.$V$2:$V$11000>0;STUNDE('1234.history'.$A$2:$A$11000)=0;MINUTE('1234.history'.$A$2:$A$11000)>14;MINUTE('1234.history'.$A$2:$A$11000)<30)/
summenprodukt('1234.history'.$V$2:$V$11000;WOCHENTAG('1234.history'.$A$2:$A$11000;2)=1;'1234.history'.$B$2:$B$11000<>"Test";'1234.history'.$V$2:$V$11000<0;STUNDE('1234.history'.$A$2:$A$11000)=0;MINUTE('1234.history'.$A$2:$A$11000)>14;MINUTE('1234.history'.$A$2:$A$11000)<30)*-1<1