Am 27.05.2013 22:57, schrieb Matthias Müller:
> 
>> In diesem Fall (was ich vermute)
>> dürftest Du keine /absolute/ Adressierung ('$') verwenden.
> Wenn du nochmal liest wirst du feststellen, dass die relative Adressierung 
> nur für die Spalte, aber nicht für die Zeile gesetzt ist. :-)

Ups; sorry. Das hab ich in der Eile bzw. aus Gewohnheit übersehen (Calc setzt
anscheinend von sich aus grundsätzlich /immer/ absolute Pfade, daher lösch ich 
die schon blind :-/).

>> Und die
>> Benennung der Tabelle kann man sich btw. auch sparen, solange man in der
>> gleichen Tabelle bleibt.
> Da scheiden sich die Geister, das hat mir LibO so eingetragen, als ich auf 
> die Zelle geklickt habe. 

Ja; Calc setzt die aus mir unerklärlichen Gründen[1] bei der bedingten
Formatierung grundsätzlich.

[1] D. h. erklären (rein technisch) kann ich das schon; wer auch immer diese 
Funktion seinerzeit programmiert hat, hat halt einfach keine Unterscheidung
gemacht zwischen tabelleninterner und tabellenübergreifender Referenz ... :-/

>> Außerdem ist die Reihenfolge der Abfragen ungünstig gewählt, denn *so*
>> herum musst Du in der ersten Bedingung auch die zweite Bedingung /mit/
>> überprüfen. Wenn Du /zuerst/ auf '<1' prüfst, wird die zweite Abfrage
>> sowieso nur noch auf Werte >= 1 angewendet, Du kannst Dir dort also
>> diesen Teil der Bedingung sparen (und wärst damit gar nicht in die
>> Verlegenheit gekommen, fälschlich das Textverküpfungszeichen zu
>> verwenden).
>> 
>> Wenn Du also einfach
>> 
>> 1.   wenn    C3<1    dann    rot
>> 2.   wenn    C3<2    dann    gelb
>> 
>> abfragst, sollte es wie gewünscht funktionieren.
> Ja genau. Das ist aber auch die Krux an der Sache. Den dadurch bin ich 
> gezwungen von Klein nach Groß die Bedingungen zu prüfen.

Richtig; dafür sparst Du Dir aber das unnötige Aufblähen der Formel
durch eigentlich überflüssige Abfragen.

> Ich hoffe so ist es verständlich:
> Wert <= 1 -> ja -> Zelle rot
>           -> nein -> Wert <= 2 -> ja -> Zelle gelb
>                                   nein -> Wert <= 8 -> ja -> Zelle blau
>                                                        nein -> Prüfung

Genau.

> In dieser Kette geht es weiter mit zB 12, 17, 25 (willkürliche Werte). 
> Jetzt muss ich aber zusätzlich zB 18 und 21 prüfen.

Das geht nicht mehr per bedingter Formatierung, das kann maximal 3
Bedingungen handhaben. Bei /mehr/ Fallunterscheidungen musst Du die
Funktion VORLAGE verwenden (siehe Hilfe).

Aber Vorsicht, die Funktion liefert grundsätzlich den /Wert/ 0 zurück; wenn 
Du also ein Textfeld hast, musst Du als Verknüpfungszeichen erstens '&' 
statt '+' verwenden, und zweitens den Rückgabewert durch die Funktion 'T' 
in einen Leerstring umwandeln, sonst wird der Text "0" angehängt (wird 
eigentlich ebenfalls in der Hilfe erklärt, übersieht man aber leicht).

BTW: Wenn Du die Grenzwerte /öfter/ mal ändern willst, würde ich empfehlen,
von vornherein darüber nachzudenken, ob Du die nicht evtl. irgendwo in einer 
Subtabelle ablegen willst, ggf. sogar mit der betreffenden Vorlage, z. B. 
in der Form:

        X       Y       Wertebereich
1       -9999   rot     x < 1,0
2       1       gelb    1,0 <= x < 1,5
3       1,5     blau    1,5 <= x < 1,9
4       1,9     gelb    1,9 <= x < 2,0
5       2       blau    2,0 <= x < 8,0
6       8       grün    x >= 8,0

und dann als Formel einfach

|  ... +VORLAGE(SVERWEIS(AKTUELL();$X$1:$Y$100;2;FALSCH)

verwendest. Das erfordert aber dann zwingend aufsteigende Sortierung der 
Grenzwerte, und etwas Umdenken, denn SVERWEIS liefert immer den 
nachst/kleineren/ Wert, d. h. für z. B. 1,2 (also im Intervall 1,0..1,5)
den Wert 1,0 usw. Deswegen sind die Formatvorlagen sozusagen um eine
Zeile verutscht.

> Dann bin ich gezwungen die Kette an zwei Stellen auf zu brechen und die 
> Bedingungen zu verschieben. Das umgehe ich, wenn ich auf Intervalle prüfe. 
> Dann spielt die Reihenfolge keine Rolle mehr und ich kann die Kette 
> jederzeit erweitern.
> 
> Folgende Bedingungen verwende ich jetzt:
> ($2013_April.$D3 >= 1)   UND   ($2013_April.$D3 < 2)          dann gelb

Nochmal: UND ist eine *Funktion*, kein *Operator*. Calc kennt leider
/überhaupt/ keinen Operator für logische Verknüpfungen. Die Formel muss
also zumindest 'UND ($2013_April.$D3 >= 1; $2013_April.$D3 < 2)' lauten.

> $2013_April.$D3 < 1                                           dann rot
> 
> Hier kann ich jederzeit erweitern um zB
> ($2013_April.$D3 >= 1,5)   UND   ($2013_April.$D3 < 1,9)      dann blau
> 
> in dem ich einfach eine zusätzliche Bedingung definiere, ohne Rücksicht auf 
> die Auswertungsreihenfolge zu nehmen und die zweite Bedingung lasse wo sie 
> ist und dort anpasse.

Das klappt so nicht, denn (>=1,5 && <1,9) fällt vollständig in das
Intervall (>=1 && <2); d. h. die betreffenden Werte erfüllen bereits
die /erste/ Bedingung, und werden somit /gelb/ dargestellt.

Wolfgang
-- 


-- 
Liste abmelden mit E-Mail an: [email protected]
Probleme? 
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Antwort per Email an