Calc: Datum-Prüfung_3

Hallo, Liste

ich möchte es noch einmal mit nachstehender Anfrage versuchen.

Vorgänger war vielleicht doch zu knapp formuliert.
Daher das Ganze noch einmal und ausführlicher.

Aufgabe: Darstellung und Wirkungen von Funktionen ( Es gibt > 160 in Calc die von Niemanden alle beherrscht werden können) an einem analytischen Gesamt-Beispiel mit steigendem Schwierigkeitsgrad.

Erläuterung: in: Zelle G7: .Datums-Eingabe (Z.-formatiert: 31.12.99) tägl., monatl., jährl.
Wenn Eingabe korrekt, dann in F7: . . (F6+1) = Zeilen-Nr.-Generierung, sonst schreibe
" " (Nichts)
Weiterer Ausbau: sonst: Meldung: a) "Datum falsch"; b) "Datum falsch" in Farbe z.B. 'rot'

Gesucht wird: Funktions-Direkt-Prüfung auf Richtigkeit: Datum-Eingabe
mit automat. Generierung einer Zeilen-Nr.:

Bitte nicht Hinweis auf Menü -> Daten -> Gültigkeit ; etc. Diese Lösung soll es nicht sein.
Es wird zwar auf Richtigkeit geprüft mit Fehler-Meldung, aber man kann die benutzten Funktionen und damit die inneren Zusammenhänge nicht erkennen.

Sondern Lösung ähnlich : wie an nachfolgenden Beispielen dargestellt:

z.B. ähnlich: =WENN(ISTFEHLER("=Datum");"";(F7+1)) funktioniert nicht

kann auch nicht. Es wird auf String geprüft, Datum wird aber durch Zahlen-Kombination dargestellt.
(F7+1) beinhaltet Summen-Funktion zwecks Zeilen-Nr.-Generierung.
Wobei diese Zeilen-Nr. nicht die des Tab.-Blattes ist.

oder : =WENN(Wochentag(A1;2)=5;A1+3;A1+1) funktioniert,

hier wird auf W.-Tag geprüft. Wenn dieser ein Freitag ist, dann in A1+3 ist Mo,
sonst A1+1 ist 'Di; Mi; Do'.

oder : =WENN(ISTLEER(B...);"";(A...+1) funktioniert,

prüft aber nicht, wie gefordert, die Datum-Eingabe auf Korrektheit z.B. (Heute) ab.

Die Funktions-Formeln sind funktionsgeprüft und korrekt, d.h. kein Schreibfehler drin.

Für eine konstruktive Lösung vielen Dank im Voraus.
Ich hoffe, ich habe mich verständlich ausgedrückt.

Mit freundlichem Gruß!
          JoLa

Hallo Jost

Bitte nicht Hinweis auf Menü -> Daten -> Gültigkeit ; etc. Diese Lösung soll es nicht sein.
Es wird zwar auf Richtigkeit geprüft mit Fehler-Meldung, aber man kann die benutzten Funktionen und damit die inneren Zusammenhänge nicht erkennen.

Sondern Lösung ähnlich : wie an nachfolgenden Beispielen dargestellt:

z.B. ähnlich: =WENN(ISTFEHLER("=Datum");"";(F7+1)) funktioniert nicht

Datum wird aber durch Zahlen-Kombination dargestellt.

Falsch! Es wurde Dir schon mehrfach geschrieben: In Calc ist ein Datum *eine Zahl*, was Du siehst ist eine besondere Formatierung dieser Zahl.

Was Du da machst, ist sehr gefährlich. Du willst offensichtlich ein Lehrbuch schreiben, verstehst aber ganz offensichtlich nicht, worüber Du schreibst. Das ist Besch.... oder Arroganz, nenn es wie Du willst. Ganz offensichtlich verwechselst Du Calc mit einer Programmierumgebung. Dort musst Du solche Dinge von Grund auf neu programmieren. In Calc ist aber genau dafür die Gültigkeitsüberprüfung vorgesehen. Und das Beispiel Datum zeigt wunderbar, dass Du bzw. Deine Lernenden so oder so "nicht in die Tiefe blicken". Es handelt sich eben *nicht*, wie Du immer wieder behauptest, um Zahlenkombinationen. Das ist nur die Oberfläche, das Erscheinungsbild; das Wesen ist etwas ganz Anderes, und darum funktioniert Dein Ansatz nicht.

Du kommst mir im übrigen wie einer vor, der bei der Feuerwehr anruft: mein Keller ist voller Wasser, aber bitte nicht mit der grossen Pumpe absaugen - ich will, dass ihr es mit dem Löffel macht, damit ich es überwachen kann.

Also, bitte, überdenke Dein Projekt nochmals, bevor Du die Liste mit solch unsinnigen und weltfremden Anfragen belästigst.

Das nächste Mal landest Du definitiv im Spam-Filter.

Ernst

Hallo Jost,

leider verwendest Du Begriffe, die es eigentlich nicht gibt und
Formulierungen, die kaum verständlich sind. Ich lese Deine Fragen
zur "Datum-Prüfung" seit einiger Zeit mit und glaube, im Prinzip
verstanden zu haben, was Du willst.

Du willst eine Formel, die erkennt, ob in einer bestimmten Zelle
eine Eingabe gemacht wurde, die als Datum interpretierbar ist. Dabei
setzt Du selbst voraus, dass das Zahlenformat der Zelle ein
Datumsformat ist.

Erläuterung: in: Zelle G7: .Datums-Eingabe (Z.-formatiert:
31.12.99) tägl., monatl., jährl.
Wenn Eingabe korrekt, dann in F7: . . (F6+1) =
Zeilen-Nr.-Generierung, sonst schreibe
" " (Nichts)
Weiterer Ausbau: sonst: Meldung: a) "Datum falsch"

Hier die Lösung:

=WENN(ISTZAHL(G7);F6+1;""Datum falsch")

Du kannst und musst lediglich prüfen, ob der Inhalt der Zelle eine
Zahl ist. Denn nur dann konnte das, was eingetippt wurde, als Datum
interpretiert werden.

Dass ein Datum nichts Anderes, als ein besonders formatierter
Zahlenwert in der Zelle ist, wurde Dir ja schon erklärt.

Gruß

Stefan

Hallo Jost,

Hallo, Liste

ich möchte es noch einmal mit nachstehender Anfrage versuchen.

Vorgänger war vielleicht doch zu knapp formuliert.
Daher das Ganze noch einmal und ausführlicher.

Aufgabe: Darstellung und Wirkungen von Funktionen ( Es gibt > 160 in Calc die von Niemanden alle beherrscht werden können) an einem analytischen Gesamt-Beispiel mit steigendem Schwierigkeitsgrad.

Erläuterung: in: Zelle G7: .Datums-Eingabe (Z.-formatiert: 31.12.99) tägl., monatl., jährl.
Wenn Eingabe korrekt, dann in F7: . . (F6+1) = Zeilen-Nr.-Generierung, sonst schreibe
" " (Nichts)
Weiterer Ausbau: sonst: Meldung: a) "Datum falsch"; b) "Datum falsch" in Farbe z.B. 'rot'

Gesucht wird: Funktions-Direkt-Prüfung auf Richtigkeit: Datum-Eingabe
mit automat. Generierung einer Zeilen-Nr.:

Bitte nicht Hinweis auf Menü -> Daten -> Gültigkeit ; etc. Diese Lösung soll es nicht sein.
Es wird zwar auf Richtigkeit geprüft mit Fehler-Meldung, aber man kann die benutzten Funktionen und damit die inneren Zusammenhänge nicht erkennen.

Sondern Lösung ähnlich : wie an nachfolgenden Beispielen dargestellt:

z.B. ähnlich: =WENN(ISTFEHLER("=Datum");"";(F7+1)) funktioniert nicht

kann auch nicht. Es wird auf String geprüft, Datum wird aber durch Zahlen-Kombination dargestellt.
(F7+1) beinhaltet Summen-Funktion zwecks Zeilen-Nr.-Generierung.
Wobei diese Zeilen-Nr. nicht die des Tab.-Blattes ist.

oder : =WENN(Wochentag(A1;2)=5;A1+3;A1+1) funktioniert,

hier wird auf W.-Tag geprüft. Wenn dieser ein Freitag ist, dann in A1+3 ist Mo,
sonst A1+1 ist 'Di; Mi; Do'.

oder : =WENN(ISTLEER(B...);"";(A...+1) funktioniert,

prüft aber nicht, wie gefordert, die Datum-Eingabe auf Korrektheit z.B. (Heute) ab.

Die Funktions-Formeln sind funktionsgeprüft und korrekt, d.h. kein Schreibfehler drin.

Für eine konstruktive Lösung vielen Dank im Voraus.
Ich hoffe, ich habe mich verständlich ausgedrückt.

Mit freundlichem Gruß!
         JoLa

Calc prüft bei der Eingabe, ob eine Eingabe ein korrektes Datumsformat ist. Falls ja, wird dieses intern in eine Zahl umgewandelt, sonst ist das Ergebnis ein Text. Der 2. Teil könnte also ähnlich wie:
=WENN(ISTZAHL(A1);"ok";"nok")
geprüft werden.

Der 1. Teil ist etwas komplizierter zu lösen. Es existieren aber zum Glück die Funktionen ZÄHLENWENN; INDIREKT, ADRESSE und ZEILE. Damit kann man die Anzahl der "ok"s bis zu einer gewissen Zeile bestimmen.
Angenommen, die "ok"s stehen in der Spalte B. Dann lautet eine mögliche Formel:
=ZÄHLENWENN(INDIREKT("$B$1:" & ADRESSE(ZEILE();2));"=ok")
. Es ist mir beweusst, dass immer noch Fehleingaben möglich sind. Alles abzudecken würde aber Makros bedeuten.

Grüße
Wolfgang

Calc prüft bei der Eingabe, ob eine Eingabe ein korrektes Datumsformat
ist. Falls ja, wird dieses intern in eine Zahl umgewandelt, sonst ist
das Ergebnis ein Text.

Nein, das ist so nicht ganz richtig. Calc akzeptiert auch eine ganze
Reihe vermeintlich /irregulärer/ Datumsangaben, wie z. B. den
'35.05.12'. Allerdings interpretiert es in dem genannten Fall den
Zelleninhalt überraschenderweise auf amerikanische Art (Jahr voraus) als
den 12.05.1935. Nur wenn Calc den Wert *überhaupt* nicht interpretieren
kann (wie z. B. beim '35.05.2012'), betrachtet es den Zelleninhalt als Text.

Der 2. Teil könnte also ähnlich wie:
=WENN(ISTZAHL(A1);"ok";"nok")
geprüft werden.

Yepp.

Es ist mir beweusst, dass immer noch Fehleingaben möglich sind.

Yepp; insbesondere da Calc eine ganze Reihe davon automatisch
korrigiert, so daß der zu überprüfende Zelleninhalt gar nicht mehr
fehlerhaft *ist*.

Wolfgang