Rechnen in Tabellen, Wenn-Dann-Funktion

Hallo,
ich vermisse im Rechenfeld die Wenn-Dann-Funktion (IF … THEN).
Es geht darum, in Abhängigkeit eines bestimmten Schwellwertes, einer bestimmten Belegung eines Tabellenfeldes, eine Rechenoperation auszuführen.
… oder bin ich einfach nur blind :astonished: ?
Herzliche Grüße
Berti

Hallo Berti,
In den Feldeigenschaften unter ‘Rechenfeld’ kannst du ‘Wenn-dann’-Funktionen einbringen.
Siehe dazu Handbuch, Teil C:, Absatz 38.3.2

Falls du Beispiele dazu suchst, findest du unter den Beispieldatenbanken die DB ‘Faktura’ mit guten Rechenfeldbeispielen.

Hallo Waba,
vielen Dank für Deine schnelle Antwort.
Gerade habe ich gesehen, dass das für die Datenbank zutrifft. Funktioniert das auch in Tabellen, die ich in ein ganz normales .pap-Dokument einfüge, also wenn ich die Tabelle wirklich nur als Tabellenkalkulation verwende? Beim Abspeichern eines Dokuments mit einer Tabelle habe ich keine extra Datenbankdokumente entdecken können.
Herzliche Grüße
Berti

Hallo Berti,
Das geht auch in einem Tabellenfeld.
Mit Rechtsklick in eine Zelle wählst du ‘Rechenfeld’ und du erhälst die Möglichkeit eine Formel (If Then … usw) einzugeben.
Natürlich braucht es dazu keine Datenbank. Hatte dich nicht richtig verstanden.
Gruss und frohes kalkulieren
Walter

1 „Gefällt mir“

Hallo Waba,
danke, hat wunderbar funktioniert! Allerdings geht das übliche Zeichen für Ungleich <> zumindest bei mir nicht ( die Abhängigkeit ist kein numerischer Wert) sondern != .

Herzliche Grüße
Berti

Geht tatsächlich nicht. Auch bei mir. Es kommt eine Meldung, dass <> in einem Tabellenfeld nicht verfügbar sei.:scream:

1 „Gefällt mir“

Das ist allgemeiner Standard bei Textvergleichen. Das ! steht für “nicht”.

1 „Gefällt mir“

Ja ist klar, aber hier in der Tabelle wird <> nicht akzeptiert, auch wenn man die Tabellenfelder mit dem Datentyp Zahl belegt hat.Das finde ich etwas unlogisch.

Du vergleichst Zelle mit Zelle, oder?

Zelle (auf Typ Zahl gestellt) mit einem Wert.
Also zb.: If B2 <> 3 then 0 else 3 Dies geht nicht, obwohl beide Zellen auf Typ Zahl stehen.

Jedoch geht es mit If B2 != 3 then 0 else 3.

Das ist für mich gegenüber allgemeinem Standard eben unlogisch.

PS: Sehe gerade: Das gleiche Verhalten zeigt sich auch innerhalb Datenbanken.
< oder > ist Ok, aber <> für ungleich, wird nicht akzeptiert.

Du vergleichst eine Zelle mit einer Zahl, nicht eine Zahl mit einer Zahl. Papyrus geht hier vom sicheren Fall aus und interpretiert die Zellenangabe als String. Die Auswertung geschieht wohl erst später, beim Schreiben weiß die Formel daher nicht was B2 für einen Datentyp hat. Bei Tabellenspalten ist das wohl genauso.

Was macht es dann noch für einen Sinn, die Zelle mit einem Datentyp zu versehen???
Ich vergleiche ja nicht mit der Zelle selbst, sondern mit deren Inhalt, und der ist auf numerisch gesetzt.

1 „Gefällt mir“

Der Datentyp beeinflusst die Anzeige der Zelle. Dafür gibst du den Datentyp an.
Würde sich Papyrus bei solchen Vergleichen nicht nur auf Strings beziehen, sondern die Datentypen der Zellen miteinbeziehen, würde deine Formel sofort ungültig werden, wenn du nur den Datentyp einer Bezugszelle änderst. Das wäre ziemlich dämlich.

Das ist nicht dämlich, sondern logisch. Aber es muss ja auch nicht alles immer logisch sein. Wo bliebe da die kreative Freiheit.
Aber lassen wir das doch. Fest steht, dass in Papyrus das ‘Ungleich’ mit ‘!=’ benutzt wird und das ‘<>’, obwohl es ebenfalls im Handbuch aufgeführt wird, nicht so nutzbar ist, wie dies in Kalkulationsprogramm allgemein üblich ist.

1 „Gefällt mir“