Seite 1 von 1
Datumsvergleich in WENN-Funktion
Verfasst: Sa 19. Okt 2013, 03:57
von Norbert
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
Re: Datumsvergleich in WENN-Funktion
Verfasst: Sa 19. Okt 2013, 06:50
von paljass
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
Re: Datumsvergleich in WENN-Funktion
Verfasst: Sa 19. Okt 2013, 11:40
von OttoZ
... wäre es schön gewesen, du hättest ...
... eine Beispieldatei angefügt.
Ob ich die Problemstellung erkannt habe
Kleines Beispiel anliegend.
Re: Datumsvergleich in WENN-Funktion
Verfasst: Sa 19. Okt 2013, 13:31
von lorbass
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
Re: Datumsvergleich in WENN-Funktion
Verfasst: Sa 19. Okt 2013, 15:37
von Norbert
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"
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
Re: Datumsvergleich in WENN-Funktion
Verfasst: Sa 19. Okt 2013, 16:31
von F3K Total
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 (6.17 KiB) 10844 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
Re: Datumsvergleich in WENN-Funktion
Verfasst: Sa 19. Okt 2013, 20:41
von lorbass
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
[gelöst] Datumsvergleich in WENN-Funktion
Verfasst: Do 24. Okt 2013, 01:43
von Norbert
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
Re: Datumsvergleich in WENN-Funktion
Verfasst: Do 24. Okt 2013, 05:06
von karolus
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 )