Nikis TabellenKalkulation
Niki unterstützt eine einfache Tabellenkalkulation. Die Funktionen werden interpretiert, wenn die Tabellenkalkulation in den NikiEinstellungen aktiviert wurde.
Berechnete Felder einer Tabelle
Ein Feld einer Tabelle, dessen erstes nicht leere Zeichen ein =* oder *$variable= ist, wird berechnet. Dabei kann auf alle Felder der Tabelle zugegriffen werden.
Die Felder werden mit $A1, $A2, ... $B1, ... $U00, ... bezeichnet.
$A1 bezeichnet den Wert der ersten Spalte der ersten Reihe.
Die Spalte Y adressiert die aktuelle Spalte ( $AY ).
Die Zeile X adressiert die aktuelle Zeile ( $X3 ).
Formeln
Numerische Formeln wie 5 + $A8 / ($B4 + 5.99) werden akzeptiert.
Strings können mit dem . (Punkt) verbinden werden. Text-Konstanten müssen in ' gesetzt werden: $A1 . '$'
Vordefinierte Funktionen
Es gibt einige VordefinierteFunktionen wie
- die numerischen Funktionen abs, init, round cos
- die String-Funktionen lc, uc, ucfirst, substr, numeric
- Datums-Funktionen day, mounth, year, minute, hour, locatime, time
- einfache Entscheidungen durch =day() < 25 ? 'habe Geld' : 'bin pleite'
- numerische Vergleiche wie <, <=, ==, !=, >=, >
- String-Vergleiche wie lt, gt, ge, lt, eq, ne und $A1 =~ m/a.*b/
- Tabellen-Funktionen wie SUM, MAX, MIN, COUNT, CELL, ROW, COLUMN
NikiVariablen
Nikis Tabellenkalkulation unterstützt NikiVariablen in Ausdrücken wie :$Variable:.
Außerdem kann eine Variable mit $Variable=... definiert werden.
Dieses setzt $Variable und die Zelle auf das Ergebnis des Ausdrucks.
Fehlerbehandlung
Falls bei der Berechnung der Werte einer Zelle ein Fehler auftaucht erhält sie den Wert #error. Die Ursache kann sowohl eine Syntax-Fehler als auch einer sein, der bei der Berechnung auftaucht. Dieses schließt zyklische Abhängigkeiten zwischen Zellen ein. Über die NikiEinstellungen kann der Dialog NikiMeldungen aktiviert bzw. angezeigt werden.
Beispiel
Die Tabelle
-|| =CELL() || =COLUMN() || =COLUMN() || =COLUMN()
-|+ =ROW() || part || price || acceptable
-|| =ROW() || limit || 25.00 || ='if < ' . $C3
-|| =ROW() || mouse 1 || 15.00 || =$CY < $C3 ? 'yes' : 'no'
-|| =ROW() || mouse 2 || 20.00 || =$CY < $C3 ? 'yes' : 'no'
-|| =ROW() || mouse 4 || 25.00 || =$CY < $C3 ? 'yes' : 'no'
-|| =ROW() || mouse 5 || 30.00 || =$CY < $C3 ? 'yes' : 'no'
-|| =ROW() || mouse 7 || 35.00 || =$CY < $C3 ? 'yes' : 'no'
-|| =ROW() ||
-|+ =ROW() || result || ='min=' . MIN($C4:C8)
|| $the_result = COUNT ( 'yes', $X4:X8 ) . ' of ' .
COUNT ( '', $X4:X8 )
There are :$the_result: mice aceptable.
ergibt
There are ERROR('the_result') mice aceptable.