Seite 1 von 1

[gelöst] Bedingte Formatierung mit Datum

Verfasst: Fr 20. Mai 2016, 18:47
von Die_Nase
Moin,

im Feld $Statistik.$D2 steht das aktuelle Jahr.
An anderer Stelle soll sich nun die Zelle grün färben, wenn das eingetragene Jahr dort 25 Jahre oder mehr zurückliegt.
Aber, wie muß die Formel bei der Bedingten Formatierung lauten?

Ein
($Statistik.$D2 - B3) >= 25
geht nicht.

Gruß Heiko

Re: Bedingte Formatierung mit Datum

Verfasst: Fr 20. Mai 2016, 22:01
von craig
Hallo Heiko,

Du Brauchst eine WENN-Funktion:

FORMEL IST =

WENN((Statistik.D2-B3)>=25)

Gruß

Craig

Re: Bedingte Formatierung mit Datum

Verfasst: Fr 20. Mai 2016, 22:56
von balu
Hallo Heiko,
craig hat geschrieben: Du Brauchst eine WENN-Funktion:
WENN in der Bedingten Formatierung ist absoluter Blödsinn, die gehört da nicht hin.

Richtig wäre in der Bedingten Formatierung.
Formel ist:

Code: Alles auswählen

JAHRE(B3;$Statistik.$D2;1)>=25

Gruß
balu

Re: Bedingte Formatierung mit Datum

Verfasst: Sa 21. Mai 2016, 00:35
von craig
Hallo Balu,
WENN in der Bedingten Formatierung ist absoluter Blödsinn
warum Blödsinn?
Es funktioniert doch!

Gruß

Craig

Re: Bedingte Formatierung mit Datum

Verfasst: Sa 21. Mai 2016, 04:10
von balu
Hallo Craig.

Schön das Du nicht gleich am Rad drehst und wutentbrand mir die Virtuelle Keule zeigst. Und deshalb will ich etwas näher auf deine Antwort und Fragen eingehen. :)
craig hat geschrieben: warum Blödsinn?
Weil man sich dadurch etwas angewöhnt, was später mal zu Verwirrungen und Komplikationen führen kann.
Klar kann man sogar eine vollständige WENN-DANN-SONST in der Bedingten Formatierung reinschreiben, und mit viel Glück funktioniert das auch. Aber es ist Blödsinn die Bedingte Formatierung mit überflüssigen Ballast vollzustpofen, und dadurch die Performance in die Knie zu zwingen.

craig hat geschrieben: Es funktioniert doch!
Mag wohl so sein. Aber in der Bedingten Formatierung wird mit Logik und Wahrheitsausdrücken gearbeitet.
Ein einfaches Beispiel:
In der Zelle C1 gib folgende Formel ein.

Code: Alles auswählen

=WENN(ISTZAHL(A1)*ISTZAHL(B1);"RICHTIG";"FEHLER")
Und in der Zelle D1

Code: Alles auswählen

=WENN(ISTZAHL(A1)*ISTZAHL(B1))
Und in der Bed-For (Bedingten Formatierung) gibst Du auf der Zelle C1 bei Formel ist:

Code: Alles auswählen

WENN(ISTZAHL(A1)*ISTZAHL(B1))
ein.
Und wenn jetzt in A1 und B1 eine Zahl steht, so wird die dementsprechend eingestellte Vorlage durch die Bed-For angewendet.
Aber wie funktioniert überhaupt die Überprüfung in einer WENN-FORMEL?
Das Ergebnis der Überprüfung, genauer gesagt der Wahrheitsüberprüfung gibt nur WAHR oder FALSCH zurück, nicht mehr und nicht weniger egal was für eine Überprüfung vorgenommen wird. Also WENN in A1 eine Zahl ist und in B1 eine Zahl, dann kommt WAHR dabei raus.

Und jetzt gib mal in E1 folgendes ein.

Code: Alles auswählen

=ISTZAHL(A1)*ISTZAHL(B1)
Gib dann in A1 und B1 mal Zahl oder Text ein, und beobachte was Du zu sehen bekommst.

Um es vorweg zu nehmen.
Wenn in A1 und B1 eine Zahl steht, dann steht in
C1 = RICHTIG
D1 = WAHR
E1 = 1

Das Ergebnis in D1 ist nachvollziehbar WAHR, weil es von der WENN-Formel zurückgegeben wird.
Das Ergebnis in E1 ist deshalb 1, weil WAHR * WAHR = 1 ist. Bei WAHR * FALSCH wüde dann demzufolge 0 dabei raus kommen.

Lösche nun mal in C1 in der Bed-For die vorhandene Formel, und ersetze sie durch die Formel aus der Zelle E1. Also hiermit

Code: Alles auswählen

ISTZAHL(A1)*ISTZAHL(B1)
Und nun gebe ich noch zum Schluß eine kleine Interpretation meinerseits der Bezeichnung *Formel ist* in der Bedingten Formatierung.

*Formel ist* heißt eigentlich nix anderes als der Beginn einer WENN-DANN-SONST. Und daraus ergibt sich dann sinngemäß:
WENN die Wahrheitsüberprüfung gleich WAHR ist, DANN wende die voreingestellte Vorlage an. Und wenn die Wahrheitsüberprüfung gleich FALSCH ist, mach halt nix, oder schaue ob die nächste Bedingung zutrifft.
Oder anders ausgedrückt:
*Formel ist* ISTZAHL(A1)*ISTZAHL(B1)
ist eigentlich nix anderes als
WENN(ISTZAHL(A1)*ISTZAHL(B1))
So gesehen sind die verschiedenen Bedingungen eine Verschachtelte WENN-DANN-SONST-Formel.



Vielleicht verstehst Du jetzt besser warum ich gegen den Einsatz von WENN in der Bedingten Formatierung bin.



Gruß
balu

Re: Bedingte Formatierung mit Datum

Verfasst: Sa 21. Mai 2016, 17:17
von craig
Hallo Balu,
Hallo Heiko,

@Balu
vielen Dank für Deine Ausführungen.

WAHR=1 und FALSCH =0 etc. und dass mein Vorschlag eine verschachtelte WENN-Funktion ist, ist mir bewußt.
Die Frage der Perfomance ist relativ zum Einsatz der BedFor.
Nutze ich diese in nur ein paar Zellen merke ich nichts von irgendwelchen Einbußen.
Wenn ich dies jedoch auf 10.000 Zellen anwende, dann kann durch eine einfacher gestrickte Logik
durchaus ein Geschwindigkeitsvorteil entstehen.

Die Funktion "Jahre" setzt aber voraus, das die Zellen auch als DATUM formatiert sind.
sonst funktioniert dies auch nicht und kann zu falschen Ergebnissen führen.
Genauso wenig funktioniert mein WENN-Funktion, wenn falsche Formatierungen vorliegen.

Dies brachte mich auf die Spur, warum Heiko's Funktion nicht geht.
Ohne WENN ist dies laut Deiner Aussage schon die vollkommen ausreichende Wahrheitsprüfung in der BedFor:
($Statistik.$D2 - B3) >= 25

Heiko hat vermutlich in einer Zelle nur 2016 als Zahl stehen und die andere Zelle ist als Datum
formatiert z.B. 31168 für den "01.05.1985"

@Heiko
Bitte formatiere alle Zellen als Datum!

Wenn Du in eine der Zellen nur das Jahr sehen möchtest, dann formatiere die Zelle
bespielsweise so: "JJJJ" --> enspricht Jahreszahl vierstellig.

Dazu im Menü: FORMAT --> Zelle DATUM auswählen und unter Format-Code: "JJJJ" eingeben.

Die Formatierung ist unabhängig von der Berechnung.
Das Format ist eine reine Textdarstellung im Hintergrund steht aber für jedes Datum eine Zahl:
TEXT ZAHL
"01.05.1985" = 31168
Die Zahl 31168 ist die Anzahl der Tage die nachdem eingestellten Ursprungsdatum vergangen sind.

Siehe wie folgt:
http://www.ooowiki.de/CalcFunktionenDat ... dZeit.html
Ein Zeitwert ist immer Teil eines Datumswertes. Gibt man in eine Zelle nur eine Zeit ohne Datum ein,
so geht Calc von einem zugehörigen Datum 0 aus. Welches Datum zum Tag 0 gehört, ist
unter Extras → Optionen → OpenOffice.org Calc → Berechnen definiert, standardmäßig ist das der 30.12.1899.
Gruß

Craig

Re: [gelöst] Bedingte Formatierung mit Datum

Verfasst: Mo 30. Mai 2016, 17:01
von Die_Nase
Moin,

ich danke Euch allen für Eure Hilfe.
Sorry, das meine Antwort so lange gedauert hat, ich hatte vergessen die Benachrichtigung einzuschalten :oops: und habe nicht mitbekommen, das es Antworten gegeben hat.

Gruß HEiko