Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Zellenformat in Abhängigkeit von einer Bedingung/Formel?





Frage

Hallo allerseits, es ist wieder einmal Zeit, eine Frage zu stellen. Ich will Zellen einer Spalte unterschiedlich formatieren, wobei sich die Formate der Zellen genau wie der Werte dieser Zellen aus den Werten in einer oder mehreren anderen Spalte(n) ergeben. Die Bedingung lässt sich jedenfalls durch eine Formel ausdrücken. Trotzdem ist das Problem scheinbar [b]nicht[/b] mit der allgemein bekannten bedingten Formatierung von Zellen zu lösen. Zum Verständnis ein kleines Beispiel (etwas vereinfacht): In Spalte A stehen Zahlen oder nichts, in Spalte B Zahlen oder Datumswerte, daraus ergeben sich in Spalte C Zahlen, Datumswerte oder Texte. Die Zahlen könnten manchmal sogar Währungsangaben sein. Das Format soll nun für jede Zelle in C automatisch angepasst werden, so dass vor allem Zahlen, Währungsangaben und Datumswerte jeweils richtig dargestellt werden. Leider ist von vornherein nicht bekannt, was in welchen Zellen rauskommt und welches Format benötigt wird. Deshalb müsste das ebenfalls berechnet werden, und diese Berechnung soll genau wie die Berechnung der Werte möglichst durch Formeln erfolgen. (Es ist für jemand anderen und der wünscht keine VBA-Lösung, das hätte für ihn auch wenig Sinn.) Ich hoffe, Euch fällt dazu mehr ein als mir, freue mich schon auf Eure Ideen und wünsche Euch ein schönes Wochenende! CaroS

Antwort 1 von JoeKe

Moin CaroS,

hast du es schon mal mit der Formel:

=Zelle("Format";C1)

versucht?

Gruß

JöKe

Antwort 2 von CaroS

Moin JöKe,

nein, habe ich nicht. Die Hilfe sagt dazu: "Gibt Informationen zur Formatierung ... der Zelle ... zurück." Von Format setzen ist da nicht die Rede, aber gerade das will ich ja machen. Wenn ich´s dann gemacht habe und es funktioniert alles, brauche ich mir eigentlich nicht noch mal die Information über das Format zurückgeben lassen.

Trotzdem danke!
CaroS

Antwort 3 von JoeKe

Hallo CaroS,

da hab ich dich wohl falsch verstanden. Ich dachte die Zellen wären als Datum, Währung, usw. formatiert und du möchtest sie nur noch farbig kennzeichnen.

Wie soll denn unterschieden werden ob z.B. 38913 nun ein Datum, eine Zahl oder eine Währung sein soll?

JöKe

Antwort 4 von CaroS

Hallo JöKe,

das ergibt sich aus dem Zusammenhang, was in den Zellen in den Spalten A und B jeweils derselben Zeile, der Zeile darüber und der Zeile darunter steht. Von den Zellen A[-1], B[-1], A[+1] und B[+1] ist eigentlich nur interessant, ob sie leer sind oder nicht, weil dadurch ein "Abschnitt" beginnt oder endet, und dann muss je nachdem der eine oder andere Wert für C[0] berechnet werden und eben mal das eine und mal das andere Format gesetzt werden. So einfach ist das in der Theorie. Die entsprechenden Werte kriege ich ja mit den Formeln ohne Probleme berechnet, und für die Formatierung könnte ich auch genau die gleichen Bedingungen noch einmal verwenden. Nur das Setzen des Formats kriege ich nicht hin.

Aber Du vielleicht, wenn Du mal ´nen Kaffee getrunken hast und richtig munter bist.

Gruß,
CaroS

Antwort 5 von jürgen.

Hallo CaroS;

Die Tabellenfunktionen : TEXT ; N ; T und TYP könnten bei Deinem ehrgeizigen Anliegen recht hilfreich sein.
Aber wahrscheinlich ist das für Dich nichts wirklich Neues.

Antwort 6 von JoeKe

Hallo CaroS,

nachdem ich deinen Rat mit dem Kaffee befolgt habe, habe ich sämtliche mir zur Verfügung stehende Archive bemüht. Leider hat sich dabei heraus gestellt, dass sich dein Vorhaben ohne VBA nicht umsätzen lässt.
Eine Formatierung ála:

=wenn(Und(A99="";B99="");C100 als Datum;Wenn(Und(A101="";B101="");C100 als Währung;C100 als Zahl))

ist nicht so möglich.

Die einzige Möglichkeit die es gibt, ist die Formatierung in Abhängigkeit des Zellwertes.

[>38000]TT.MM.JJJJ;[>1000]#.##0,00 €;

eingegeben bei bnutzerdeffinierten Zahlenformat, liefert dir bei Werten über 38000 ein Datum, Werten über 1000 einen Eurobetrag und bei anderen Eingaben wird nichts angezeigt.
Es können so 2 Bedingungen, jeweils in [ ] Klammern und 3 Formate angegeben werden.
Das heißt nach dem zweiten Symikolon könnte noch ein Format angegeben werden (z.B. 0 für Standart).
Vielleicht hilft dir das ja weiter. ;-)

Gruß

JöKe

PS:
Nur zur Vervollständigung. Auf diese Weise kann auch Text wieder gegeben werden.

[<0]"Zu klein!";0;0

würde bei einem negativen Wert den Text "Zu klein!" in der so formatierten Zelle erscheinen lassen.

Antwort 7 von Aliba

Hi CaroS,

das kommt halt nun mal drauf an, ob das nur eine Darstellungsgeschichte ist, oder ob dann mit diesen "Werten" auch noch gerechnet werden muss.
Wenn nicht könnte man natürlich auf die Funktion TEXT zurückgreifen, z.B. in der Art:

=WENN(A1=1;TEXT($D$1;"TT.MM.JJ");WENN(A1="a";TEXT($D$1;"#.##0,00 €");$D$1))

Wobei ich natürlich jetzt die Bedingungen ein wenig vereinfacht habe und $D$1 für Deine Berechnungsformel steht. Die Standardformatierung der Spalte ist dann das von Dir gewünschte Zahlenformat

Aber es ist halt die TEXT-Funktion und liefert somit TEXT.

Wenn das Datum zum Berechnen nicht gebraucht wird, allerdings die Währungszellen, könnte man auch das Währungskennzeichen per Formel in die Zelle nebenan schreiben. Also quasi aus Spalte D eine Hilfsspalte machen und dann eben bei Zutreffen der Bdingung ein € setzen lassen und bei Nichtzutreffen eben nichts.

CU Aliba

Antwort 8 von CaroS

Hallo allerseits,

erstmal einen Danke an alle, die sich Gedanken gemacht haben. Es läuft wohl darauf hinaus, was Ihr alle auch mehr oder weniger festgestellt habt, richtig setzen kann man das Zellformat per Formel nicht.

Ein Kompromiss wäre möglich. Da ich ja nach den Fallunterscheidungen weiß, welchen Wert ich in C berechne und ausgebe, weiß ich auch, was ich dafür für ein Format bräuchte. Einen Text kann ich gleich so ausgeben, wie er ist. An alles andere muss ich wohl mit TEXT() ran und versuchen, das beste daraus zu machen. Das führt dann zwangsläufig dazu, dass das Ergebnis - wie der Name der Funktion schon vermuten lässt - in Text umgewandelt wird, und das hat nun wieder weitere kleine Nachteile.

Mit den Werten weiter zu rechnen kriege ich schon irgendwie hin, aber die Standard-ausrichtung der Zellen ist damit ja auch im Eimer. Alles steht jetzt linksbündig. Wenn ich jetzt Zahlen und Datumswerte rechtsbündig anordnen will, stehe ich genau wieder vor demselben Problem, dass ich das nicht variabel mit Formeln machen kann.

Ein kleines Extra-Dankeschön an Jöke für den Tipp mit der benutzerdefinierten Zellformatierung, auch wenn ich ihn nicht anwenden werde, weil ich das Format nicht einfach so von der Größe des Zellwertes abhängig machen kann, sondern diese Entscheidung mit Hilfe "komplizierterer" Formeln treffen muss.

Es fehlt ja eigentlich nur in ein kleiner Schritt. Wenn man in [>38000]TT.MM.JJJJ;
[>1000]#.##0,00 €;
anstelle einfacher Größenvergleiche des Zellwertes eine Formel [=UND( ... ; ... )] schreiben könnte, dann wär´s das. Die Formel bräuchte ja nichts weiter tun, als WAHR oder FALSCH zu liefern wie bei einem Größenvergleich.
Die Ursache, dass das eine geht und das andere nicht, ist aber wahrscheinlich der kleine Unterschied, dass es sich das eine Mal um eine Bedingung der Art ´Zellwert ist´ und das andere Mal um eine Bedingung der Art ´Formel ist´ handelt. Ansonsten scheint das ähnlich wie bei der bedingten Formatierung zu funktionieren (max. 3 Formate).

Noch einmal danke, ich glaube, mehr ist da nicht rauszuholen.

Gruß,
CaroS

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: