Dreidimensionale Tabellenkalkulation mit LDW und K-Spread

Tabellenkalkulationen für MS-DOS-Betriebssysteme haben mächtig dazugelernt. Mit immer neuen Features ist bei steigender Versionszahl zu rechnen. Als ganz besonderer Fortschritt gilt das dreidimensionale Bearbeiten von Daten. Und wie sieht es damit für den Atari-Anwender aus?

Was soll eigentlich ein dreidimensionales Arbeitsblatt sein, wird sich der ein oder andere Leser fragen? Der Bildschirm ist ja doch nur zweidimensional, quillt dann die Tabelle aus dem Monitor? Sicherlich nicht, doch stellen Sie sich vor, Sie laden als Buchhalter eines großen Unternehmens in eine Gesamtbilanzübersicht die Ergebnisse Ihrer Filialen ein. Jede Filiale hat ein Arbeitsblatt mit den Geschäftsergebnissen eingereicht. Für die Gesamtbilanz greift ein Arbeitsblatt auf die einzelnen Teilergebnisse zu, die sich als Tabellenfenster ebenfalls auf dem Bildschirm befinden. Berichtigt eine Filiale das Ergebnis, so wird automatisch im Gesamtüberblick sofort die Änderung berücksichtigt.

Doch wir wollen unsere Überlegungen nicht an langweiligen Zahlen aus der Finanzwelt anknüpfen, sondern ein physikalisches Problem dreidimensional lösen, das zwar komplexere Berechnungen erfordert, jedoch viel leichter für jeden einsehbar ist: Sie möchten einen Quader in einem Ofen zum Brennen geben. Nun überlegen Sie sich, wie die Temperatur im Quader selbst sich wohl verteilen wird, und wo sich kritische Stellen im Quader befinden. Auch hierfür eignet sich eine Tabellenkalkulation hervorragend. Leider beherrscht keine der derzeit für den Atari ST erhältlichen Tabellenkalkulationen von Haus aus das vollständige Handling mit dreidimensionalen Arbeitsblättern. Doch man kann sich sowohl mit LDW als auch mit K-Spread erstaunlich gut behelfen.

Dazu muß man wissen, wie sich der Temperaturverlauf im Körper berechnen läßt. Hierzu wird der Körper in gleich große Würfel unterteilt. Man überlegt sich, daß sich die Temperatur eines solchen Würfels aus dem Mittelwert der sechs umliegenden Würfel berechnet. Folglich addiert man die Temperatur des Würfels dahinter, davor, rechts und links daneben sowie des Würfels darunter und darüber auf und teilt das Ergebnis durch 6 (vgl. Bild 2).

Dabei wird in der Formel die zweidimensionale Arbeitsblattebene verlassen und auf eine Zelle darüber und darunter zugegriffen.

Ein weiteres Problem resultiert daraus, daß ja nun jede Zelle auf ihre Nachbarzellen zugreift und jene wiederum auf die Ausgangszeile. Es entstehen unwillkürlich Schleifen. Das heißt natürlich, daß hier die automatischen Berechnungsmodi der Tabellenkalkulation scheitern und man die Berechnung manuell so lange ausführen muß, bis keine Veränderungen mehr bemerkbar sind.

Bild 1. Ein Quader soll in einem Ofen gebrannt werden
Bild 2. Der schematische Berechnungsvorgang

LDW besitzt zwar eine Funktion ©EXTERN, mit der man von einem Arbeitsblatt aus auf andere Arbeitsblätter zugreifen kann, doch erlaubt LDW nur die gleichzeitige Bearbeitung einer Tabelle auf dem Bildschirm. So müssen wir uns also anders behelfen, vor allem, wenn man mehrere Schichten im Blick behalten möchte. Der Trick dazu ist sehr einfach: man reduziert das Problem von seiner dreidimensionalen Struktur auf zwei Dimensionen, sprich in einem Arbeitsblatt, und schon ist das Problem gelöst Zur Verwirklichung werden die Schichten einfach untereinander in ein Arbeitsblatt eingetragen. Ein Bereich der Tabelle spiegelt demnach die Untertemperatur, der nächste Bereich die erste Quaderschicht, ein weiterer Bereich die Quadermittelschicht usw. wider.

In der Berechnungsformel greift nun eine Zelle auf die Nachbarzellen und den Bereich der Schicht darunter und darüber zu. Um die Übersicht zu wahren, stellt man möglichst jeden Bereich in einem geöffneten Fenster dar. Leider duldet LDW lediglich vier Arbeitsblattfenster. So mußte ich auf die Darstellung der Obertemperatur verzichten, was sich jedoch deswegen verschmerzen läßt, da in unserem Beispiel die Untertemperatur der Obertemperatur sowieso gleich ist. Hier sei gleich ein weiteres Experiment vorgeschlagen: ganz leicht läßt es sich realisieren, daß die Untertemperatur niedriger als die Obertemperatur ist! Durch Betätigung der Taste F9 lassen sich die Berechnungen starten. Die Warntafel SCHL in der rechten obere Ecke weist auf die Schleifenkonstruktion hin (vgl. Bild 3).

Der Vorteil dieser Methode: bei einem Rechengang werden die Daten aller Schichten immer neu berechnet, da sie ja innerhalb eines Arbeitsblattes liegen. Somit läuft die Berechnung verhältnismäßig schnell ab. Doch für echte dreidimensionale Anwendungen ist dieses Verfahren ungünstig, da keine Arbeitsblätter separat bearbeitet werden können (oder nur umständlich, wenn über die Importfunktionen das Arbeitsblatt an die richtige Stelle geladen wird).

K-Spread hat bei dieser Problemstellung die Nase gehörig vorne. Nicht nur, daß K_Spread verschiedene Tabellen gleichzeitig im Speicher hält und auf dem Bildschirm darstellt. Das Programm vermag von einer Zelle aus auf Daten eines anderen Arbeitsblattes zuzugreifen. Leider wird diese phantastische Möglichkeit im Handbuch fast vollständig verschwiegen. Deswegen hier kurz die Arbeitsweise des Verfahrens. Den ersten Hinweis auf dieses Feature erhielt ich dankenswerter Weise von Herrn M. Odenwaeller.

Mit =ARBEITSBLATT.SPD!A0 können Sie beispielsweise vom Arbeitsblatt TEST aus auf den Inhalt der Zelle A0 im Arbeitsblatt ARBEITSBLATT.SPD zugreifen. Die Eingabe dieser Formel muß von Hand erfolgen, ein »Zeigen mit der Maus« in Verbindung mit Control scheitert hier.

Bild 3. LDW löst dreidimensionale Probleme in zwei Dimensionen
Bild 4. Die Außentemperatur einer Schicht wird eingegeben
Bild 5. Die K_Spread-Lösung nach fünf Neuberechnungen

Diese Verweise auf andere Arbeitsblätter lassen sich selbstverständlich auch innerhalb komplizierterer Formeln oder in Verbindung mit Funktionen oder sogar bei Funktionen, die auf Bereiche eines anderen Arbeitsblattes zugreifen, anwenden. So können Sie beispielsweise mit =SUM(ARBEITSBLATT.SPD!A0:B7) einen ganzen Bereich eines anderen Arbeitsblattes addieren.

Mit diesem Verfahren läßt sich fast wie mit einer vollwertigen 3D-Tabellenkalkulation rechnen. Die Einschränkungen sind nur gering: zum einen duldet K—Spread bei der Formeleingabe kein »Zeigen« auf ein anderes Arbeitsblatt, zum anderen werden die Neuberechnungen nur im aktuellen Arbeitsblatt durchgeführt. Doch mit diesen kleinen Einschränkungen läßt sich gut leben.

Für unser Beispielproblem betrachten wir nun schrittweise die Lösung mit K_Spread. Dazu legen wir uns zunächst fünf Arbeitsblätter für UNTERTEP.SPD, SCHICHTU.SPD, SCHICHTM.SPD, SCHICHTO.SPD und OBERTEMP.SPD an und stellen jeweils die Spaltenbreite auf 4 global in allen Arbeitsblättern ein. Dann wird in jeder Zelle der Arbeitsblätter eingetragen =OBERTEMP.SPD!A0 und das Formelformat der Arbeitsblätter global auf 0-Nachkommastellen festgelegt. Nur im Arbeitsblatt OBERTEMP.SPD tragen wir in die Zelle AO den Wert 500 ein. Er ermöglicht es uns nun, die Temperatur des Ofens einzugeben. Alle Außentemperaturen beziehen sich nun auf diesem Wert. Jetzt lassen sich die Außentemperaturen des Körpers entsprechend kopieren. Haben wir die Obertemperatur des Quaders eingetragen, folgt die Untertemperatur genauso (auch wenn Sie hier eine niedere Temperatur realisieren könnten). Achten Sie darauf, daß die Formel lautet: =<A0>, also absolut auf diese Zelle AO verwiesen wird. Beim Kopieren verwenden Sie Replikat als Kopieranweisung.

In einer Schicht, dem Schnitt durch den Körper, sieht die Außentemperatur genauso aus. Doch nur der äußere Rahmen gibt die Außentemperatur an. Hier sind es 10 auf 10 Felder. Für den Temperaturverlauf im Inneren bleiben also noch 8 auf 8 Zellen (vgl. Bild 4). Die Temperatur in einer Zelle des Körpers berechnet sich nun ganz einfach wieder aus dem Mittelwert der umgebenden Zellen: so lautet die Formel in der Zelle C2 des Arbeitsblattes SCHICHTO.SPD -(C1+B2+C3+D2+SCHICHM.SPD!C2+OBERTEMP.SPD!C2)/6 Man muß allerdings bei allen mittleren Arbeitsblättern die automatische Berechnung ausschalten und auf die manuelle Berechnung zurückgreifen. Schließlich greifen hier ja die Zellen untereinander auf die ausgerechneten Werte zu, in denen die eigenen Ergebnisse berücksichtigt sind. Deshalb muß die Berechnung manuell über die F10-Taste erfolgen. Es ist durchaus sinnvoll, sich ein Makro zu schreiben, das die einzelnen Arbeitsblätter der Reihe nach aufruft und die Neuberechnung durchführt. Deshalb auch die elegante Bildschirmdarstellung der Fenster, so kann der Aufruf immer fensterweise leicht durchgeführt werden. Im Bild 5 sehen Sie die Temperaturverteilung nach fünf Neuberechnungen.

Betrachtet man die K-Spread-Lösung, so ist die Eingabe zwar etwas komplizierter und die Berechnung langsamer als bei der LDW-Lösung, doch dafür hat man eine fast echte 3D-Lösung erhalten, mit der sich vor allem dreidimensionale Problemfälle aus dem Geschäftsbereich lösen lassen. Sind Sie stolzer K-Spread- oder K-SPREAD-light-Besitzer, empfiehlt es sich, mit diesen Möglichkeiten ausgiebig zu experimentieren. Ihre späteren Anwendungen werden es Ihnen durch hohen Bedienungskomfort danken. (wk)


Christian Opel
Aus: TOS 02 / 1993, Seite 64

Links

Copyright-Bestimmungen: siehe Über diese Seite