Excel Funktion -> Frage

D

dcmbeats

Aktives Mitglied
Thread Starter
Dabei seit
13.02.2005
Beiträge
401
Reaktionspunkte
1
hallo,

mein zahlen und logik-verständnis setzt gerade aus, ich brauche eine bestimmte funktion für excel, und zwar möchte ich:

eine zelle überprüfen lassen, ob in ihr ein positver oder negativer wert steht und dies in einer anderen zelle als text-information anzeigen lassen.

kennt sich jemand gut mit excel funktionen aus oder findet jemand die passende funktion ?

danke im voraus,

DCM
 
Hai,

wenn Du z.B. Zelle A1 überprüfen möchtest, dann schreib in eine beliebige andere Zelle

=WENN(A1>=0;"Positiv";"Negativ")

:)
cu
Claus
 
Jabba schrieb:
=WENN(A1>=0;"Positiv";"Negativ")

Niemals auf Gleichheit zweier Zahlen testen, wenn man deren Format nicht kennt!

=wenn(GANZZAHL((RUNDEN(A1;2))*100)>=0;"Positiv";"Negativ")

Die zwei steht für die Zahl signifikanter Nachkommastellen und 100 bei zwei dieser Stellen, 1000 bei drei dieser Stellen,... Vielleicht reicht Dir ja auch der Befehl Ganzzahl oder du kannst damit leben, dass kleinste negative Werte als Null-Werte betrachtet werden.

Vielleicht solltest Du Dir mal die Funktion Untergrenze anschauen...

Gruß
Peter
 
hi, danke
antwort zwei hat genau meine lösung gebracht !
 
Dann schreib stattdessen den selbstdefinierten Text zwischen die Anführungszeichen.
 
Du kannst die Worte positiv bzw. negativ in den Anführungszeichen durch jeden beliebigen Text ersetzen, oder alles durch eine Funktion oder durch einen Verweis auf eine Zelle oder mehrere Zellen...

Peter
 
peterg schrieb:
Niemals auf Gleichheit zweier Zahlen testen, wenn man deren Format nicht kennt!

=wenn(GANZZAHL((RUNDEN(A1;2))*100)>=0;"Positiv";"Negativ")

Die zwei steht für die Zahl signifikanter Nachkommastellen und 100 bei zwei dieser Stellen, 1000 bei drei dieser Stellen,... Vielleicht reicht Dir ja auch der Befehl Ganzzahl oder du kannst damit leben, dass kleinste negative Werte als Null-Werte betrachtet werden.

Vielleicht solltest Du Dir mal die Funktion Untergrenze anschauen...

Gruß
Peter
Was ist das jetzt fürn schlauer Spruch?
Was macht Deine Funktion anderes?
Du rundest lediglich den Wert und machst dann noch eine ganze Zahl draus...somit ist Deine Formal sogar falsch... denn der Wert -0,001 wird bei Dir positiv, oh, wie schlau gelöst.
:rolleyes:
 
Jabba schrieb:
Was ist das jetzt fürn schlauer Spruch?
Was macht Deine Funktion anderes?
Du rundest lediglich den Wert und machst dann noch eine ganze Zahl draus...somit ist Deine Formal sogar falsch... denn der Wert -0,001 wird bei Dir positiv, oh, wie schlau gelöst.
:rolleyes:

Da war ein „Jung-Theoretiker“ am werkeln. Warum einfach, wenn's auch umständlich geht.

Das beste war der Lehrspruch aus dem „Handbuch für Mathematiker“ Band VII.

Da fällt mir gerade ein, unter dem Menu „Format“ wird eine bedingte Formatierung angeboten, das könnte vielleicht die geschriebene Zelle ersparen. Negative Zahlen lassen sich dann in anderer Farbe hervorheben und stechen wie Bräute ins Auge.

Habe während der letzten Jahre viel mit Excel gearbeitet, kann aber nicht nachvollziehen, was es bringen soll, fünf Zellen weiter Informationen abzulegen, die mit „bedingter Formatierung“ eleganter lösbar sind.
 
Zuletzt bearbeitet:
Hallo,

wenn es gleichgültig ist, ob Null positiv oder negativ ausgewiesen wird, ziehe ich alles zurück und gebe Jabba recht. Wenn Null aber stets positiv oder negativ werden soll oder eine dritte Variante erforderlich macht, dann ist mein Vorschlag zwingend notwendig. Wenns elegantere Lösungen gibt, bin ich dafür offen.

Die bedingte Formatierung ist ein guter Hinweis; das Formelproblem bleibt jedoch. Denn Formatieren reicht nicht - denn das ändert nicht den Inhalt der Zelle.

Peter
 
Hai,
habe vielleicht ein wenig seltsam reagiert.
Was man definitiv überprüfen sollte, ob die Zelle überhaupt eine Zahl enthält... damit keine Fehlermeldung entsteht... ;)
 
peterg schrieb:
Hallo,

wenn es gleichgültig ist, ob Null positiv oder negativ ausgewiesen wird, ziehe ich alles zurück und gebe Jabba recht. Wenn Null aber stets positiv oder negativ werden soll oder eine dritte Variante erforderlich macht, dann ist mein Vorschlag zwingend notwendig. Wenns elegantere Lösungen gibt, bin ich dafür offen.

Die bedingte Formatierung ist ein guter Hinweis; das Formelproblem bleibt jedoch. Denn Formatieren reicht nicht - denn das ändert nicht den Inhalt der Zelle.

Peter

Der Zellinhalt soll doch gar nicht geändert werden. Die Formatierung hilft nur, indem sie die Schriftfarbe und/oder den Zellhintergrund ändert.

@Jabba

Hai,
habe vielleicht ein wenig seltsam reagiert.
Was man definitiv überprüfen sollte, ob die Zelle überhaupt eine Zahl enthält... damit keine Fehlermeldung entsteht...

Ist bei der bedingten Formatierung nicht erforderlich. Die fragt nach der Bedingung und wenn keine Zahl drin steht, wird auch nichts geändert.
 
Wolfgang Rausch schrieb:
Der Zellinhalt soll doch gar nicht geändert werden. Die Formatierung hilft nur, indem sie die Schriftfarbe und/oder den Zellhintergrund ändert.

Das Formelproblem bleibt - denn in der Bedingung musst Du nun angeben, ob und wann sich die Farbe oder was auch immer ändern soll. Bei dem angesprochenen Problem geht es um die Null. Was soll mit dem Nullwert geschehen? Rot, schwarz, grün oder was? Das kann gleichgültig sein oder halt wichtig. Davon hängt der Umstand ab.

Peter
 
peterg schrieb:
Das Formelproblem bleibt - denn in der Bedingung musst Du nun angeben, ob und wann sich die Farbe oder was auch immer ändern soll. Bei dem angesprochenen Problem geht es um die Null. Was soll mit dem Nullwert geschehen? Rot, schwarz, grün oder was? Das kann gleichgültig sein oder halt wichtig. Davon hängt der Umstand ab.

Peter

Das ist Unsinn!

Abfrage: if Zellinhalt < 0 dann 'Rote Schrift'

Ist der Zellinhalt dann ≥ 0 bleibt die Schrift unverändert. Wo liegt jetzt das Problem? Excel kennt jetzt zwar Integer- und Fließkommazahlen, doch reicht die Abfrage genau in dieser Art.
 
Hallo Wolfgang:

wie wichtig ist >= 0? Excel kennt eben keine Integerzahlen, sondern nur Fließkommazahlen. Wegen der endlichen Zahl von Nachkommastellen kommt es dann zur Anzeige von "-0". Wenn es egal ist, wo der Wert dann steht, dann stimme ich Dir zu. Doch in meinem Beruf kommt es manchmal auf solche Kleinigkeiten an.

Gruß
Peter
 
peterg schrieb:
Hallo Wolfgang:

wie wichtig ist >= 0? Excel kennt eben keine Integerzahlen, sondern nur Fließkommazahlen. Wegen der endlichen Zahl von Nachkommastellen kommt es dann zur Anzeige von "-0". Wenn es egal ist, wo der Wert dann steht, dann stimme ich Dir zu. Doch in meinem Beruf kommt es manchmal auf solche Kleinigkeiten an.

Gruß
Peter

Falsch, Excel kennt Integerzahlen. Wenn du die Zellen „jungfräulich“ beläßt, und eine Ganzzahl hineinschreibst, wird diese Zahl auch als Ganzzahl behandelt. Dafür sind ja gerade die zig Formatierungsmöglichkeiten der Zahlen da. Die bedingten Formatierungen sind nur noch einmal ein „optisches Schmankerl“.

Wenn tatsächlich eine -0 auftauchen sollte, wird diese Zahl nach der Multiplikation mit 0 zu einer exakten, positiven Null und ansonsten ist die Zahl nicht 0 – sondern -0,0000000 whatever.

Außerdem kann noch die exakte 0,0 als zweite Bedingung ergänzt werden. Denn ± 0,0000000 whatever ist ja weder bei positivem noch negativem Vorzeichen 0,0000000 zero.

Grüße
Wolfgang
 
OT
@Wolgang
Beschäftigst Du Dich auch mit VBA?
Wenn, nutzt Du Mac oder Win? Der Mac Editor ist nämlich sowas von grausam... da brauch ich mal jemanden, mit dem ich mich zusammen ärgern kann... :p
 
Hallo Wolfgang,

Du kannst natürlich Bedingungen schaffen, in denen Deine Behauptungen wahr werden. Das habe ich auch nicht bestritten. Sondern ich behaupte:

Wenn Du das Ergebnis mehrerer arithemtischer Operationen auf die Gleichheit irgendeiner Ganzzahl prüfst (egal ob in einer separaten Tabellenzelle oder als Bedingung einer bedingten Formatierung), dann kann es zu unerwarteten Effekten kommen, da die erwartete Ganzzahl nicht getroffen wird. Wegen dieser Probleme von Daten des Typs FLOAT gibt es z.B. in Java den Datentyp BIGDECIMAL. Deshalb werden in vielen Programmen zur Finanzmathematik oder Statistik die Daten als INTEGER (bzw. einem LONG-Typ davon) gespeichert und für bestimmte Operationen gewandelt (und zurück).

Beispiel 1:
Zelle A1 =10/3 Zelle A2 =A1*3 Zelle A3 =A2-10
Zelle A3 =WENN(A3=0;"Richtig";"Falsch")
Das funktioniert wie erwartet.

Beispiel 2:
Zelle A2 =3,333333333333333333333*3, Zelle A3 = A2-10
Zelle A3 =WENN(A3=0;"Richtig";"Falsch")
Jezt bin ich gespannt. Du kannst die 3 mit so vielen Nachkommastellen eingeben, wie Du willst. Die Zelle A3 wird 0,0000 anzeigen - aber die Bedingung wird nicht wahr. Du kannst Dir das Ergebnis mit beliebig vielen Nachkommastellen anschauen und Dich wundern. Die Division aus Beispiel 1 wird z.B. nach 14 Nachkommastellen abgeschnitten und erscheint weniger genau als die Eingabe in Beispiel 2.

Der Themenstarter hat nicht angegeben, in welchem Zusammenhang er sein Problem gelöst haben möchte. Wenn er jedoch das Ergebnis mehrerer arithemetischer Operationen auswerten möchte und der Wert "0" eindeutig der einen oder anderen Seite zugeordnet werden muss, dann ist die Typumwandlung zwingend erforderlich. Das mag einfacher gehen und darauf wäre ich gespannt. Wenn er eine Liste manuell eingegebener Daten auswerten möchte, dann ist die Typumwandlung nicht zwingend erforderlich, da die Eingabe ja ausreichend genau ist (er wird ja nicht 0,000000001 eingeben wo er 0 meint).

Zum internen Datenformat von Excel: Wenn ich eine Ganzzahl eingebe, dann wird sie als Ganzzahl angezeigt (und intern als FLOAT gespeichert). Die Formatierung ist etwas ganz anderes und betrifft nur die Anzeige. Typisches Beispiel: 0,025 wird zu 2,50 % ... und bleibt 0,025. Die Genauigkeit ist eine Frage der Operationen, die durchgeführt werden.

Das solls gewesen sein. Einigen wir uns darauf, dass ich umständlich weiter arbeiten darf und Du einfach und elegant die Probleme löst. Der geneigte Leser mag entscheiden und sich für einen dritten Weg entscheiden.

Peter
 
Mein Güte,
der Themenstarter wollte doch nur wissen, wie bzw. mit was für einer Funktion er das checken kann... mehr nicht.

Die Genauigkeit oder gar exakte Lösung kann man hier gar nicht liefern, da man die weiteren Variablen nicht weis. Die WENN Funktion ist die Richtige Lösung, ebenso wie die bedingte Formatierung (sofern die Excel Version neu genug ist) ebenso wie eine dritte, vierte, fünfte noch unbekannte. Den Rest soll dcmbeats dann selber entscheiden... er ist ausserdem doch mit petergs Antwort zufrieden, voila!

Die Excelfans müssen zusammenhalten, yes! :)
 
Jabba schrieb:
Mein Güte,
der Themenstarter wollte doch nur wissen, wie bzw. mit was für einer Funktion er das checken kann... mehr nicht.

Die Excelfans müssen zusammenhalten, yes! :)

Stimme Dir grundsätzlich zu. Doch der Unterschied ist mir wichtig und berührt einen Aspekt des arbeitstäglichen Einsatzes von Excel.

Als Controller in einer Bank ist Excel mein tägliches Werkzeug. Wie Du Dir leicht vorstellen kannst, können an solchen wenn/dann-Entscheidungen viele weitere Entscheidungen hängen. In wissenschaftlichen Arbeiten (z.B. bei der Auswertung empirischer Daten) kann ein ganzes Arbeitsergebnis an solchen kleinen, aber feinen Unterscheidungen hängen. Es geht also keineswegs allein um die 12. Stelle hinterm Komma, sondern schlicht darum, ob das Ergebnis richtig ist. Knapp daneben ist halt auch vorbei.

Unsere Beiträge habe sich da ja gut ergänzt und wenn die weiteren etwas zur Aufhellung beigetragen haben, wäre das ja auch eine Hilfe.

Gruß
Peter

P.S.: Es wäre ein interessantes Forschungsgebiet der angewandten Informatik, wie es um die Validierung bzw. Qualität selbst erstellter Arbeitsblätter von Tabellenkalkulationen in Unternehmen bestellt ist. M.W. arbeitet das Institut der Wirtschaftsprüfer derzeit an Prüfungsrichtlinien…
 
peterg schrieb:
Als Controller in einer Bank ist Excel mein tägliches Werkzeug.
Aha, daher auch Deine Ganzahlenstory. (Ist jetzt nicht negativ gemeint!)
Aber es dreht sich nicht alles um Geld.;)

Excel ist auch mein täglich Werkzeug... seid 89 :p
(Soll jetzt nicht zum Schwanzverglaich ausarten!)
 
Zurück
Oben Unten