🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Datumsvergleich in WENN-Funktion

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Norbert
Beiträge: 8
Registriert: Mi 9. Okt 2013, 13:33

Datumsvergleich in WENN-Funktion

Beitrag von Norbert » Sa 19. Okt 2013, 03:57

Hallo zusammen,

einen Threat zu meiner Frage habe ich hier nicht gefunden.

Ich möchte abhängig von einem Stichtag Daten aus verschiedenen Tabellenblättern verwenden. Ein Tabellenblatt für Daten vor dem 01.08.2013, ein anderes Tabellenblatt für Daten danach. Die Verwendung des jeweiligen Tabellenblatts ist abhängig von einem Datum, das in C2 eingetragen wird.

Ich hatte an eine WENN-Funktion gedacht:

Code: Alles auswählen

=WENN(DATUMWERT($C$2)<DATUMWERT("01.08.2013");DANN Tabellenblatt1;SONST Tabellenblatt2
Die Ausdrücke von DANN und SONST habe ich richtig gecoded. Die Bedingung zeigt jedoch den Fehlercode Err:502 an. Wenn ich den Zellbezug in Anführungezeichen setze ("C2") gibt es den gleichen Fehlercode. bei einfachen Hochkommas den Fehler #NAME?. Wenn ich in die Bedingung statt $C$2 ein festes Datum eingebe, funktioniert die Formel. Das soll aber nicht so sein.

Wie muss die Bedingung richtig lauten, damit das richtige Tabellenblatt angesprochen wird?

Danke für jede Hilfe.

Gruß Norbert

paljass
* LO-Experte *
Beiträge: 693
Registriert: Fr 18. Mär 2011, 15:34

Re: Datumsvergleich in WENN-Funktion

Beitrag von paljass » Sa 19. Okt 2013, 06:50

Moin Norbert,
zum einen wäre es schön gewesen, du hättest den Fehlercode mit einem Text bezeichnet, der normalerweise unten rechts in der Statusleiste ausgewiesen wird; so muss jeder Helfer, der die Codes nicht auswendig kennt, erst selbst gucken, was er bedeutet.
Der Fehlercode bedeutet "Ungültiges Argument".
Nun habe ich das Problem, dass es die Funktion "Datumwert" in AOO nicht gibt, wodurch ich nicht weiß, was sie macht. Vermuten tät ich, dass sie einen Text in ein Datum umwandelt. Wenn du nun aber in C2 ein Datum stehen hast und das versuchst umzuwandeln, ergibt sich Fehler 502.
Also ausprobieren; wenn der Fehler immer noch auftaucht, Beispieldatei, damit wir sehen können, was in C2 steht.

Gruß
paljass

Benutzeravatar
OttoZ
* LO-Experte *
Beiträge: 386
Registriert: Sa 3. Mär 2012, 13:24

Re: Datumsvergleich in WENN-Funktion

Beitrag von OttoZ » Sa 19. Okt 2013, 11:40

... wäre es schön gewesen, du hättest ...
... eine Beispieldatei angefügt.
Ob ich die Problemstellung erkannt habe :?:
Kleines Beispiel anliegend.
Dateianhänge
Blattselektion nach Datum.ods
(9.44 KiB) 363-mal heruntergeladen
glücklich mit LinuxMintmate64 - & LibreOffice

Benutzeravatar
lorbass
* LO-Experte *
Beiträge: 627
Registriert: Mo 25. Apr 2011, 18:17

Re: Datumsvergleich in WENN-Funktion

Beitrag von lorbass » Sa 19. Okt 2013, 13:31

Norbert hat geschrieben:[…] wäre es schön gewesen, du hättest […]
… mal die Programmhilfe bemüht und Existenz und Syntax der Funktionen überprüft, die du angeblich „richtig gecoded“ haben willst.
  • DATUMWERT(): Diese Funktion gibt's in Calc nicht. Meinst du DATWERT()?
  • DATUMWERT($C$2): Warum willst du auf das „[…] Datum, das in C2 eingetragen wird“, die Funktion DATWERT() (ich unterstelle, dass du diese Funktion meinst) anwenden?
  • Die Syntax der WENN-Funktion kennt zwar einen Dann-Wert und einen Sonst-Wert, aber keine Schlüsselbegriffe DANN und SONST.
Gruß
lorbass

Norbert
Beiträge: 8
Registriert: Mi 9. Okt 2013, 13:33

Re: Datumsvergleich in WENN-Funktion

Beitrag von Norbert » Sa 19. Okt 2013, 15:37

Hallo Zusammen,

danke schon mal für eure Antworten. Also bei meiner LO-Version 4.1.1.2 gibt es die Funktion DATUMWERT. Siehe BildschirmfotoCalc.png. Die Funktion soll ein gültiges Datumsformat in den internen Datumswert umwandeln.
es schön gewesen, du hättest den Fehlercode mit einem Text bezeichnet, der normalerweise unten rechts in der Statusleiste ausgewiesen wird
Sorry, hatte ich bisher gar nicht bemerkt. Danke für den Hinweis für die Zukunft. Ich sollte der Statusleiste sicher mehr Aufmerksamkeit widmen.

OttoZ war schon nah dran mit seiner Vermutung. Hier mein kleines Beispiel im Anhang: "Datumsvergleich.ods"
Datumsvergleich.ods
(8.88 KiB) 535-mal heruntergeladen
Da sollte in B6 das Ergebnis 500 und in C6 das Ergebnis 5000 stehen. Meine Idee ist, einfach den internen Datumswert miteinander zu vergleichen. Diese werden über DATUMWERT ermittelt und dann gesehen, ob B1 kleiner oder größer als der 01.08.2013 ist. Bis zum 31.07.2013 sollte Tabelle1 angesprochen werden, ab dem 01.08.2013 aber Tabelle2. Dass müsste doch hinzukriegen sein.

@ lorbas: Die Programmhilfe habe ich natürlich als erstes befragt, aber dazu nichts gefunden. Kannst du mir angeben, wo ich genau dieses Problem finde? Auch im Internet mit Googlesuche oder in diesem Forum war ich erfolglos. Selbst der Formelassistent konnte mir nur den Fehlercode angeben, aber keine Lösung. Ich weiß die freiwillige Hilfe von Forumsmitgliedern durchaus zu schätzen und nehme diese sicher nicht unnütz in Anspruch. Also nicht böse sein, dass ich überhaupt gefragt habe.
Die Syntax der WENN-Funktion kennt zwar einen Dann-Wert und einen Sonst-Wert, aber keine Schlüsselbegriffe DANN und SONST.
Das ist mir durchaus bewusst. Mit DANN und SONST wollte ich lediglich angeben, dass ich die Alternativen angefügt habe. Diese sind jedoch so lang und kompliziert, dass ich sie nicht vollständig ausführen wollte. Die Formel geht nämlich ohne Zeilenumbruch trotzdem über mehrere Zeilen. Vor dem 01.08.2013, als ich noch keinen Datumsvergleich benötigte, funktionierte die WENN-Funktion auch einwandfrei.

Gruß Norbert
Dateianhänge
BildschirmfotoCalc.png
BildschirmfotoCalc.png (61.18 KiB) 10847 mal betrachtet

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Datumsvergleich in WENN-Funktion

Beitrag von F3K Total » Sa 19. Okt 2013, 16:31

Hi,
Formel in B3:

Code: Alles auswählen

=WENN(B1<DATUMWERT("01.08.2013");Tabelle2.B1;Tabelle3.B1)
Formel in C3:

Code: Alles auswählen

=WENN(C1<DATUMWERT("01.08.2013");Tabelle2.B1;Tabelle3.B1)
F.png
F.png (6.17 KiB) 10842 mal betrachtet
EDIT: @lorbass
Wenn ich die in LO erstellte Datei in AOO öffne, steht dort DATWERT:

Code: Alles auswählen

=WENN(B1<DATWERT("01.08.2013");Tabelle2.B1;Tabelle3.B1)
HTH
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Benutzeravatar
lorbass
* LO-Experte *
Beiträge: 627
Registriert: Mo 25. Apr 2011, 18:17

Re: Datumsvergleich in WENN-Funktion

Beitrag von lorbass » Sa 19. Okt 2013, 20:41

F3K Total hat geschrieben:Wenn ich die in LO erstellte Datei in AOO öffne, steht dort DATWERT
Bei mir auch. Dann ist offenbar die deutsche Übersetzung des Funktionsnamens in den neueren LO-Versionen geändert worden. Wusste ich nicht. Sorry dafür, Norbert.

@Norbert, meine weiteren Kritikpunkte sprechen aber nach wie vor dafür, dass du dich nicht oder wenigstens nicht ausreichend mit der Programmhilfe beschäftigt hast. Die Sichtung deiner Beispieldatei hat das Bild eher noch verschlechtert.

Damit du die Fehler verstehst, die Rik korrigiert hat:
  • Der Werte-Vergleich DATWERT(B1) < DATWERT("01.08.2013") geht nicht!

    Der Funktionsaufruf DATWERT("01.08.2013") übersetzt das in Textform angegebene Datum in eine interne Darstellung. Das Datum in B1 hingegen liegt bereits in dieser internen Darstellung vor, muss und kann nicht mehr von DATWERT übersetzt werden.

    Richtig ist folglich der Vergleich B1 < DATWERT("01.08.2013").
     
  • Die Wert-Zuweisung Tabelle1.B3 = Tabelle2.B1 als Dann-Wert geht nicht!
    (Die Alternative, diesen Term als Werte-Vergleich mit einem Booleschen Ergebnis zu lesen, lasse ich hier außen vor, da du das ganz offensichtlich nicht so gemeint hast. Sonst müssten wir uns auch noch über Rekursion unterhalten.)

    Funktionen, die Calc von Haus aus mitbringt, können den generierten Funktionswert immer nur der Zelle zuweisen, in der sie selbst stehen. Im konkreten Fall wird der Wert der WENN-Funktion der Zelle Tabelle.B3 also immer nur genau dieser Zelle Tabelle.B3 zugewiesen. Er kann niemals einer anderen Zelle wie z.B. Tabelle1.C3 zugewiesen werden. Die Funktionsbeschreibung benutzt ja auch den Begriff Dann-Wert, nicht etwa Dann-Wertzuweisung oder dergleichen.

    Richtig ist daher, nur die Zelle zu benennen, der der zuzuweisende Wert entnommen wird, also Tabelle2.B1.
     
    Dies gilt für den Sonst-Wert entsprechend.
Gruß
lorbass

Norbert
Beiträge: 8
Registriert: Mi 9. Okt 2013, 13:33

[gelöst] Datumsvergleich in WENN-Funktion

Beitrag von Norbert » Do 24. Okt 2013, 01:43

Hallo F3K Total und lorbass,

danke für die Hinweise. Mein Problem ist gelöst, die Tabellen- bzw. Zellenzuweisung funktioniert. Ich musste doch erst noch etwas tiefer einsteigen. Daher besonderen Dank an lorbass Schön, dass man immer etwas Neues dazu lernen kann.

Gruß Norbert

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: Datumsvergleich in WENN-Funktion

Beitrag von karolus » Do 24. Okt 2013, 05:06

Hallo
Norbert hat geschrieben:einen Threat zu meiner Frage habe ich hier nicht gefunden.
Nurmal als Randerwähnung:
  • Threat --> Gefahr, Drohung,...
    Thread --> Faden, Garnrolle, ..., Diskussionsfaden|Diskussionsstrang ( Newsgroups )
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten