Validierung

Einschränkung von Eingabe-Daten

Unabsichtliche Eingabe 'falscher' Daten führt oft zu Programmfehlern. Noch schlimmer ist der Fall, wenn fehlerhafte Daten nicht entdeckt und weiter verarbeitet werden. Professionelle Lösungen zeichnen sich u.a. dadurch aus, dass fehlerhafte Daten bereits bei der Eingabe entdeckt, verhindert oder korrigiert werden - zumindest so weit wie möglich.
*** PHP debug = 1
srv_jts = 1337513735000
frac1(-9.876)=0.124, myfrac(-9.876)=-0.876
frac1(-1.234)=0.766, myfrac(-1.234)=-0.234
frac1(0)=0, myfrac(0)=0
frac1(1.234)=0.234, myfrac(1.234)=0.234
frac1(9.876)=0.876, myfrac(9.876)=0.876
Kalkulation Zahlen-Werkzeug, Profi- Tipps und Tricks
Eingabefilter Test vor Beginn der Verarbeitung
Zahlen Gleitkomma oder Ganze Zahlen
Datum und Zeit Beschränkungen und Tricks
Text Einschränkung auf die Länge
Liste Auswahl aus einer Werteliste
Formel Freie Programmierung
Leerzellen Leere Zellen annehmen oder Regel anwenden

Eingabefilter - Test vor Beginn der Verarbeitung

In den meisten Fällen enthält eine Kalkulation viele Formel-Zellen, aber nur wenige Zellen für manuelle Eingabe. Importierte Daten (z.B. aus einer Datenbank) sind wenigere anfällig für Fehler, daher konzentriert sich diese Webseite auf die manuelle Eingabe. In den meisten Fällen lässt sich die Gültigkeit von Daten sinnvoll beschränken. Das ist kein Luxus, sondern eine Verpflichtung - Daten müssen so weit beschränkt werden, wie das überhaupt möglich ist.
Ein gutes Kalkulations-Programm bietet u.a. folgende Möglichkeiten:

Einschränklung nach Typ:

Zahl (Dezimalzahl)
Ganze Zahl
Datum
Zeit

Einschränkung nach Wert:

Untergrenze, Obergrenze, Auswahl-Liste, Text-Länge, ...

Einschränkungs-Formel:

frei programmierbare Einschränkung, inkl. Möglichkeit zur Kombination mehrerer Bedingungen.

Eingabemeldung:

ist ein Hilfe-Text für die Eingabe. Je komplizierter die Daten, desto angenehmer, wenn AnwenderInnen unmittelbar vor der Eingabe (Aktivierung der Zelle) einen kurzen Hinweis erhalten, was hier einzutragen ist.

Fehlermeldung:

ist die unerlässliche (!) Erklärung, was bei der Eingabe falsch gemacht wurde, und wie zu verfahren ist, um den Fehler zu vermeiden.

Allgemeine Vorgangsweise:

Markieren sie eine Zelle oder einen Bereich.
Menübefehl Daten | Gültigkeit | Einstellungen.
Wählen sie die größtmögliche sinnvolle Einschränkung und geben sie allenfalls dafür benötigte Parameter ein.

Zahlen

Eingabe von Zahlen ist der häufigste Fall. Wählen sie die Einschränkung 'Dezimalzahl'. In diesem Fall müssen sie Unter- und Obergrenzen für die Gültigkeit angeben. Wenn sie alle Werte zulassen wollen, dann genügt meistens die Eingabe von -10.000.000 bis +10.000.000. Die Beschränkung auf Ganze Zahlen ist wesentlch effizienter - falls möglich. In diesem Fall kann es keine Probleme mit dem Dezimalkomme (z.B. Punkt oder Beistrich) geben.

Grenzen:

Durch die Art der Anwendung werden die gesetzten Grenzen bestimmt. Wählen sie die Grenzwerte so, dass alle in der Praxis absehbaren Fälle sicher abgedeckt werden, und so, dass alle denkbaren Fehler möglichst sicher erkannt und zurückgewiesen werden.

Tipps: Oft sollten negative Zahlen zurückgewiesen werden.
Die Grenzen müssen nicht durch Zahlen eingegeben werden. Eingabe einer Adresse (Bezug) ermöglicht die Programmierung der Grenzwerte !

Datum und Zeit

Daten dieser Art werden intern als → Gleitkomma-Zahlen behandelt:
M$ Excel zählt Kalender-Tage als ganze Zahlen, beginnend (ungefähr) ab 1900-01-01, Uhrzeit als Dezimalzahlen mit einem Wert von 1/24 je Stunde. Auf diese Weise wird jede Kombination Datum+Zeit durch eine Gleitkommazahl dargestellt, z.B.

 Jetzt()Zahlenwert
Datum
2004-05-06
38123
Zeit
12:34:56
0.52426
Summe  
38123.52426

Details zu Datum & Zeit und zum Y1900 Datum-Format (LibreOffice, OpenOffice, Excel, ..)
Sie können die Eingabe auf den Typ Datum begrenzen, z.B. von 1982-02-18 bis 2009-07-06 , oder auf Ganze Zahl mit den Grenzen 30000 bis 40000 - Die Wirkung ist genau identisch. In beiden Fällen können sie entweder Datum-Werte oder ganze Zahlen eingeben.
Eine Einschränkung auf eine bestimmte Datum-Formatierung ist so nicht möglich.

Mit der Einschränkung auf den Typ Zeit lassen sich (derzeit) nur Zeiten 00:00:00 bis 23:59:59 verbinden. Begrenzung mit Typ Dezimal auf Bereich 0..1 ist identisch, damit lassen sich jedoch auch größere zulässige Bereiche definieren.
In letzterem Falle muss auch noch die Zeit-Formatierung ausgetrickst werden, die (derzeit) nur Zeiten<1 Tag anzeigen kann: Stellen sie das Zellformat z.B. auf "TT hh:mm:ss" ein.

Text

Text lässt sich mit einfachen Methoden nur in der Länge einschränken, z.B. auf 3 bis 6 Zeichen. Komplexe Kontrolle erfordert aufwändige Formeln, da Kalkulationsprogramme die Standardmethode der → Regulären Ausdrücke - nicht beherrschen.
Eine häufige Methode zur Einschränkung ist die Beschränkung auf Werte-Listen. Für Texte ist oft auch wichtig, ob Leere Zellen zulässig sind.

Liste

Die Beschränkung auf eine Liste von Werten ist nicht nur eine wirksame Sicherung, sondern steigert auch den Komfort der Eingabe.
Legen sie zuerst eine Liste an, welche alle zulässigen Eingabe-Werte enthält.
Werteliste Beispiel einer Werteliste: Sie kann Texte (wie hier) oder Zahlen enthalten, die Zellen können auch aus Formeln berechnet werden.
Definieren sie die Einschränkung wie üblich mit Menü Daten | Gültigkeit, geben sie für "Quelle" die Adresse der Eingabeliste (hier z.B. $G25:$G27). Ein Beispiel der Winkung sehen sie unterhalb. Variable Listen:
Formeln in den Zellen, z.B. =WENN(...;...;...)
Indirekte Adressen, d.h. z.B. Angabe von =INDIREKT(G24) als Quelle, wenn G24 den Text-Wert "G25:G27" hat.
Eingabeliste Wirkung:
Das Bild zeigt 2x die gleiche Zelle, deren Eingabewert auf eine Liste beschränkt wurde.

Oben der 'Normalzustand'.
Unten: Beim Markieren erscheint rechts ein Auswahl-Pfeil und die Auswahl aus der Liste wird möglich.

Formel - Freie Programmierung der Regeln

Mit "Benutzerdefiniert" können sie frei programmierte Formeln zur Begrenzung der Eingabewerte angeben. Die Form: ein "="-Zeichen, danach eine Bedingung, welche als Ergebnis WAHR oder FALSCH liefert. Das sieht zunächst ungewöhnlich aus, daher einige Beispiele.
Normalerweise wird die "Zelle selbst" überpfüft, d.h. die Adresse der Zelle wird in der Formel angeführt !.
Beispiele: Einschränkung der Zelle A1, eingegeben ebenfalls in Zelle A1.
Formeln werden angewendet, wenn komplizierte Regeln anzuwenden sind, wie z.B. im 3. Beispiel: hier sind sowohl Zahlen -10..-1 als auch Werte 1..10 zulässig.
Das 4. Beispiel zeigt eine Text-Beschränkung: max. 10 Zeichen, Anfang mit "A"
Benutzerdefinierte Formeln in A1:
=A1<10
=UND(A1>=1;A1<=10)
=ODER(UND(A1>=1;A1<=10);UND(A1>=-10;A1<=-1))
=UND(LÄNGE(B18)<11;LINKS(B18;1)="A")

Leerzellen

In jedem Dialogfenster für die Einschränkung finden sie die Checkbox "Leere Zellen ignorieren".
Damit steuern sie das Verhalten, wenn die/der AnwederIn die Eingabezelle löscht.
Leere Zellen ignorieren Wendet die ausgewählte Regel auf Leerzellen nicht an, d.h. leere Zellen sind zulässig.
Wendet die ausgewählte Regel auch auf Leerzellen an, das bedeutet in den meisten Fällen, dass sie nicht zulässig sind.

Letzte Änderung dieser Seite: 2011-11-30 12:16:50