| Kalkulations-Programme (SpreadSheets) zählen zu den "Klassikern" der Büro-Programme. Mit ihnen konnte man schon zu DOS-Zeiten umfangreiche Berechnungen ausführen. |
Derzeit wird der Markt noch von einem Hersteller dominiert. Die kostenfreien Alternativen LibreOffice und OpenOffice gewinnen jedoch rasch Anteile. |
| Kalkulation | SpreadSheet-Programme als Universal-Werkzeug der Informatik |
| Geschichte | Die kurze aber erfolgreiche Geschichte der Kalkulations-Programme |
| Software | Standard-Software mit Kalkulations-Programmen: LibreOffice, OpenOffice, MS-Office, ... |
| Datei-Formate | Konservativ und universell (*.xls) oder modern als XML-Dokument |
| (Visual) Basic | Ergänzung durch Funktionen in Basic-Varianten |
| Große Zahlen | Rechnen mit beliebiger Genauigkeit, Grenzen von Genauigkeit und Werte-Bereich |
| Speziell | Ausgewählte Themen: Zufallszahlen |
| Profi | Initialisierung, Navigation, Bedienung, Schutz, Szenario, Validierung ... |
| Beispiele | für Kalkulations-Programme, auch mit 'Benutzer-definierten' Basic-Funktionen |
| Web-Kalkulation | Kalkulation auf Webseiten, mit jedem Browser bedienbar |
| Web-Tabellen | Erzeugung von HTML-Tabellen aus Kalkulations-Programmen |
Kalkulations-Programme (Spreadsheets) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GrenzenJede Kalkulations-Datei kann mehrere Arbeitsblätter umfassen, je nach Einstellung schon 3-5 in einer neuen Datei. Man kann die Blätter sinnvoll benennen, ihre Reihenfolge ändern, löschen oder neue Blätter ergänzen. Unabhängig von der theoretisch maximalen Anzahl ist es sinnvoll, eine Kalkulation auf 10..20 Arbeitsblätter zu begrenzen. Noch größere Projekte teilt man auf mehrere Kalkulations-Dateien auf, oder verlagert sie in eine Datenbank.Jedes Blatt kann ca. 65000 Zellen umfassen, je nach Version auch mehr. Auch hier ist die theoretische Grenze wenig wichtig, da eine gute Kalkulation immer übersichtlich bleiben soll. Zur Verarbeitung von größeren Mengen von Daten verwendet man besser Datenbanken. Die Anzahl der Spalten überschreitet oft jene der 26 zur Verfügung stehenden Buchstaben. Ab der 27. Spalte bezeichnet man die Spalten mit AA, AB, AC, ...AZ, BA, BB, BC... usw. |
InhaltJede Zelle kann leer sein oder einen von 3 Inhalten haben:(1) Zahlen, Datum und Zeit werden ohne weitere Maßnahmen linksbündig angezeigt. Gleitkomma-Zahlen verwenden international immer einen Komma-Punkt, nur im deutschen Sprachraum einen Beistrich. (2) Texte werden ohne weitere Maßnahme rechtsbündig angezeigt. (3) Formeln: In diesen Zellen unterscheidet sich der Inhalt (eine Formel) vom berechneten Wert. Der Inhalt wird in der Eingabe-Zeile (oben) angezeigt, wenn die Zelle markiert wird. Der mit der Formel berechnete aktuelle Wert wird im Arbeitsblatt angezeigt. Jede Formel beginnt mit einem = Zeichen. Nach jeder Änderung mindestens einer Zelle werden alle davon abhängigen Formeln neu berechnet. Das geschieht sehr rasch, d.h. das Ergebnis wird 'sofort' angezeigt. Nur bei Berechnung von mehreren 1000 Zellen tritt eine merkbare Verzögerung auf. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OperatorenDie 4 Grundrechnungs-Arten werden - wie allgemein üblich - mit den Operatoren + (Addition), - (Subtraktion), * (Multiplikation) und / (Division) ausgeführt. |
Beispiel einer Formel: = A1*10+B1 Bedeutung: Multipliziere den Wert von Zelle A1 mit 10 und addieren den Wert von Zelle B1 . Das Ergebnis wird als Wert jener Zelle angezeigt, welche diese Formel enthält. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FunktionenJedes Standard Kalkulations-Programm bietet eine sehr große Anzahl von Funktionen.Beispiel: =SUMME(A10:A20) Bedeutung: Summiere die Werte aller Zellen von A1 bis A20 Hilfs-Rechnungen: Komplizierte Aufgaben löst man am besten schrittweise: Man verwendet eigene Zellen für Neben- und Hilfs-Rechnungen. So bleibt das 'Programm' übersichtlich. Bei geschickter Anwendung kann man damit erstaunlich komplexe Probleme lösen. |
Programmiersprachen: Wenn die Möglichkeiten der vorgegebenen Funktionen nicht ausreichen, kann man zusätzliche Funktionen programmieren, oder fertige Funktionen bzw. Programme importieren. Die Integration derartiger 'Benutzer-definierten' Funktionen ist besonders einfach. Eine Programmiersprache bietet praktisch unbegrenzte Möglichkeiten, indebsondere die Ausführung von Schleifen (wiederholten Programm-Teilen). Von allen Kalkulations-Programmen wird die Programmiersprache → Basic (LibreOffice-Basic, Visual Basic VBA) unterstützt, von LibreOffice und OpenOffice zusätzlich → Javascript, BeanShell, Python und indirekt auch → Java (in LibreOffice ist derzeit allerdings nur Basic verfügbar). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Geschichte |
|
Quelle:
Wikipedia (modif.)
1979 startete wurde ihr revolutionäres Programm VisiCalc auf einem Apple-II Computer eingeführt. Zu dieser Zeit gab es keine AnwenderInnen-Programme im heutigen Sinne. Man programmierte selbst mit → BASIC. |
Quelle:
B.Frankston (mod.)
Visicalc arbeitete problemlos mit dem 32kB Hauptspeicher des Apple-II PC. (Heutige PC bieten >100000mal so viel Speicher). Das war nur möglich, weil Visicalc direkt in der 'Maschinensprache' (Assembler) des legendären Prozessors 6502 von Chuck Peddle geschrieben war. |
|
Quelle:
Wikipedia (modif.)
Das änderte sich allerdings rasch, denn die relativ kleinen PC-Hersteller waren weit flexibler als etwa später Microsoft beim Umstieg von DOS auf Windows. |
Quelle:
Wikipedia
Das Programm alle grundlegenden Merkmale heutiger Kalkulations-Programme: Organisation in Spalten, Zeile, Zellen, Zellen mit Texten, Daten und Formeln. |
|
Die ersten IBM-PC konnten mit ihrer (einfachen) Textverarbeitung die damals überall
vorhandenen Schreibmaschinen kaum verdrängern. Erst mit dem Tabellenkalkulations-Programm Lotus-1-2-3 begann der Siegeszug des Personal-PC. Vor allem kleinere Unternehmen kauften PC, und führten mit Visicalc oder Lotus ihre gesamte wirtschaftliche Kalkulation durch. Der Apple Macintosh-PC führte erstmals eine moderne grafische Oberfläche ein, vom Konkurrenten Microsoft zuerst verhöhnt, danach schleunigst nachgeahmt. Damit wurde auch die grafische Darstellung der berechneten Daten rasch und einfach zugänglich. Microsoft bot zunächst das wenig erfolgreiche Programm Multiplan an, erst ab 1985 Excel auf Apple Macintosh System (!) und ab 1987 auf dem damals noch recht instabilen Windows-System. Dank der raschen Verbreitung von Windows und der Monopol-artigen Position von Microsoft verdrängte Excel praktisch alle anderen (durchaus gleichwertigen) Programme vom Markt. |
Quelle:
Knubbelmac
Tabellen-Kalkulation Lotus 1-2-3 auf Apple Macintosh:
|
Das Projekt wurde ursprünglichn unter dem Namen StarOffice entwickelt, 1999 von
Sun aufgekauft und ist heute weltweit in großen Stückzahlen verbreitet.
Es bietet alle üblichen Komponenten, darunter mit 'Calc' ein voll kompatibles
Kalkulations-Programm. |
Das jüngste Büro-Paket
LibreOffice ist eine unabhängige Weiterentwicklung des weit verbreiteten
Pakets ← OpenOffice. Praktisch alle EntwicklerInnen von OpenOffice
(und anderer Projekte) verließen diese nach der Übernahme durch
Oracle und gründeten das LibreOffice Projekt.
|
IBM - Lotus SymphonyDas von IBM vetriebene Office-Paket Lotus Symphony scheint zumindest in wesentlichen Teilen den gleichen Code zu verwenden wie OpenOffice.IBM ist von der Sun-Übernahme durch Oracle hauptsächlich auf dem Datenbank-Sektor betroffen. Symphony wird sicher weitergeführt, es ist allerdings fraglich, ob man den hohen Anteil an → Java beibehält. |
Web-Kalkulation (Online Spreadsheet)Die aktuelle Entwicklung verbindet die traditionellen Büro-Programme (inkl. Kalkulation) mit moderner Intranet- und Datenbank-Technik. Der Umstieg wird einige Zeit dauern, ist aber vorhersehbar.Es ist kein Zufall, dass ausgerechnet Dan Blicklin, der Erfinder der Kalkulations-Programme, jetzt Chef eines derartigen Projekts ist. ♦ Details und Live-Demo einer Web-Kalkulation |
Software |
|
Büro-PaketMindestens 1 Paket von Büro-(Office)-Programmen ist heute auf fast jedem Arbeits-(Desktop)-PC installiert. Jedes dieser Software-Pakete enthält auch ein Kalkulations-Progrgramm (Tabellen-Kalkulation, Spreadsheet).Darüber hinaus enthält jedes Standard-Paket mindestens Programme zur Textverarbeitung und zur Präsentation. Alle gängigen Linux-Desktop-Distributionen enthalten ein Büro-Paket, normalerweise bereits installiert und gebrauchsfertig konfiguriert. Auf Windows-Systemen muss man die gewünschten Büro-Pakete normalerweise selbst installieren, nicht unbedingt jedoch die Software des gleichen Herstellers. |
KompatibilitätAlle gängigen Kalkulations-Programme sind derzeit miteinander weitgehend kompatibel:● Man kann alle typischen Dokumente (Text, Kalkulation, Präsentation) mit jedem der Büro-Pakete herstellen, öffnen, ansehen, ändern und wieder speichern. Voraussetzung ist lediglich die Kenntnis und Verwendung der dazu geeigneten Datei-Formate. • In einigen Details unterscheiden sich die einzelnen Produkte und Versionen. Diese kleinen Unterschiede sind in der Praxis kaum relevant. Die in diesem Web vorgestellten Beispiele sind (mit wenigen ausdrücklich bezeichneten Ausnahmen) so formuliert, dass sie mit allen gängigen Kalkulations-Programmen ohne Änderung verwendbar sind. |
Das jüngste Büro-Paket
LibreOffice ist eine unabhängige Weiterentwicklung des weit verbreiteten Pakets
↓ OpenOffice. |
LibreOffice gibt es kosten- und lizenzfrei für alle gängigen Betriebssysteme und in einer großen Anzahl von Sprachen, darunter Deutsch.
Es ist empfehlenswert, vor der Installation des Programms den
Original Java Runtime Engine (JRE)
zu installieren, den man ebenfalls kostenfrei für alle gängigen Betriebssysteme
laden kann.LibreOffice bietet derzeit vermutlich die beste Funktionalität aller Büro-Pakete, hat allerdings auch einige Fehler. |
ist der unumstrittene Marktführer in der Kategorie der kommerziellen Programm-Pakete.
Das bewährte Programm ist weltweit in großen Stückzahlen installiert. |
Man kann zusätzlich zu MS-Office auch ↑ LibreOffice und ↑ OpenOffice installieren und verwenden. In den neuesten Versionen wurde das Layout radikal verändert. Erfahrene AnwenderInnen empfinden das meist als unangenehm und unübersichtlich. ♣ Tipp: Verwenden sie (auch auf neuen Windows Betriebssystemen) weiter ihre gewohnte MS-Office Version. Die Funktionalität hat sich in den letzten 10 Jahren nur minimal verändert. ♣ Alternative: LibreOffice bietet ein sehr ähnliches Layout, jedoch neueste Technologie und volle Kompatibilität, und ist auch auf allen gängigen Betriebssystemen verwendbar. |
|
Unabhängig von den hier angeführten Software-Paketen gibt es noch
eine Reihe weiterer Produkte, die jedoch weniger weit verbreitet sind. Das sagt über die Qualität nichts aus. Kleine spezialisierte Produkte sind den Standard-Paketen oft in Details überlegen, die man bei Bedarf und Kenntnis nutzen kann. |
Die Zukunft liegt vermutlich bei
→
Intranet Kalkulations-Programmen (Online SpreadSheets) in Verbindung
mit den jeweiligen Datnebanken der Betriebe. Tabellen-Kalkulation in Form von lokalen Programmen ist weit verbreitet und gut eingeführt, daher wird die Ablöse noch einige Zeit dauern. |
Datei-Formate |
|
|
Jedes Kalkulations-Programm bietet Möglichkeiten, um Kalkulations-Dokumente
unterschiedlicher Datei-Formate zu öffnen und zu speichern. Im Laufe der Entwicklung wurden zahlreiche verschiedene Datei-Formate verwendet, um einerseits möglichst viele vorhandene Dokumente weiter zu verwenden, und andererseits die zusätzlichen Möglichkeiten neuer Versionen auszunutzen. |
XLSDas meist verbreitete Datei-Format von Kalkulations-Dokumenten ist jenes mit der Datei-Endung *.xlsEs wird je nach Programm und -Version unterschiedlich bezeichnet, meist als 'MS-Excel 97-2003' oder ähnlich. Das Datei-Format ist 'binär' codiert, d.h. für Text-Programme unlesbar und nur mit Büro-Programmen zu öffnen. Dieses Datei-Format wird als einziges von allen gängigen Kalkulations-Programmen auf allen Betriebssystemen problemlos unterstützt. Wenn ein Dokument zur Verwendung auf anderen PC vorgesehen ist, dann sollte man es nach Möglichkeit als Datei *.xls speichern. Das wird sich ändern, wenn ältere Software-Versionen ausgelaufen sind. |
XMLAlle neueren Office-Programme speichern Dokumente vorzugsweise in den Formaten der modernen Informatik. → XML ist eine ganze Familie verschiedener Standards. Allen gemeinsam ist die Organisation von Daten mit sog. 'Auszeichnungs-Elementen' (tags), und die Verwendung von einfachem Text (text/plain) zur Codierung. Die XML-Formate sind jedoch wesentlich einfacher universell zu verarbeiten:• Zur Einsparung von Speicherplatz werden alle zu einem Dokument gehörenden XML-Text-Dateien in ein Archiv komprimiert. Dazu wird meist das weit verbreitete Archiv-Format *.zip verwendet. • Es ist für Programme relativ einfach, derartige *.zip Archive auszupacken, den darin enthaltenen Text zu analysieren und nach Bedarf auch zu ändern und wieder zu komprimieren. Solche Programme kann man in allen modernen Programmiersprachen herstellen. Das hat nichts mit Spionage zu tun, denn alle getroffenen Schutz-Maßnahmen werden davon nicht angetastet. Die XML-Text-Codierung bietet u.a. effiziente Methoden zur Archivierung, Beschlagwortung und zum Suchen. Mit einem derartigen Programm kann man z.B. bestimmte Formeln oder Daten in einigen 100 oder 1000 Dateien in wenigen Sekunden finden oder nach Bedarf ändern. |
Test-Beispiel:
•
Erstellen sie ein Dokument in einem der neueren Office-Formate,
z.B. *.ods oder *.xlsxPacken sie die Datei mit einem Archiv-Programm aus. Das ist einfacher, wenn sie die Datei vorher in *.zip umbenennen. • Sie erhalten ein Verzeichnis (Ordner) von Text-Dateien. Man kann jede der XML Text-Dateien mit jedem beliebigen Text-Editor Programm öffnen, ansehen und ändern. • Verwenden sie zur Ansicht einen professionellen Text-Editor, auf Windows z.B. Notepad++ • Die wichtigsten Daten befinden sich beim *.ods Format in der Datei content.xml, beim *.xlsx Format in xl/worksheets/sheet*.xml • Die Dateien sind meist ohne Zeilen-Umbruch gespeichert. Verwenden sie den Notepad++ MenüBefehl mit Suchmodus = Erweitert und Suchen nach > und Ersetzen durch >\n Damit sollten alle XML-Dateien leicht lesbar werden. • Wenn sie das Verzeichnis komprimieren und umbenennen, kann man es in allen Standard Kalkulations-Programmen (LibreOffice, OpenOffice, MS-Office, ...) wieder als Büro-Dokument verwenden. |
(Visual) Basic |
|
MS-Excel + VBAAlle Standard Kalkulations-Programme lassen sich durch Funktionen in mindestens einer Programmiersprache ergänzen. Damit werden die Berechnungs-Möglichkeiten fast unbegrenzt erweitert: Die - schon recht zahlreichen - fix eingebauten Funktionen werden durch beliebig viele Spezial-Funktionen ergänzt.Der kommerzielle Klassiker - MS-Excel - lässt sich mit der Programmiersprache → Visual Basic for Applications (VBA) ergänzen. Dazu braucht man keine zusätzlichen Komponenten installieren, denn jede Excel-Version enthält bereits alle Werkzeuge, um VBA-Programme selbst herzustellen, zu importieren, und in einem Kalkulations-Dokument anzuwenden. Der VBA-Editor (Programmteil zur Herstellung eigener VBA-Programme) ist vorbildlich ausgestattet, und derzeit das mit Abstand beste (Visual)-Basic Werkzeug. Es gibt eine sehr große Anzahl zusätzlicher VBA-Funktionen und ganzer Pakete von VBA-Funktionen, großteils sogar kostenfrei zum Download. Es ist eine gewisse Vorsicht geboten, da solche Programme auch schädlichen Code enthalten können, und die Qualität durchaus unterschiedlich ist: Nicht jede VBA-Funktion rechnet korrekt, und sogar wenn man das überprüft, dann ist nicht sicher, ob die Funktion unter allen Bedingungen richtig rechnet. ♣ Tipp: Verwenden sie nur solche VBA-Funktionen, zu denen bzw. zu deren HerstellerIn sie volles Vertrauen haben, oder die sie ansehen und selbst kontrollieren dürfen. |
LibreOffice- und OpenOffice-BasicLibreOffice und OpenOffice sind wesentlich jüngere Produkte. Sie mussten und müssen sich zwar in einem stark besetzten Markt durchsetzen, können jedoch ohne Rücksicht auf Uralt-Versionen neue Technologie einsetzen.Beide lassen sich durch Basic ergänzen, das genau gleich funktioniert, jedoch aus juristischen Gründen ursprünglich StarBasic, heute LibreOffice-Basic bzw. OpenOffice-Basic genannt wird. Man kann daher alle verfügbaren (und sauber programmierten) VBA-Funktionen unverändert auch für die neuen Büro-Programme einsetzen. Die Unterstützung zur Entwicklung von Basic-Funktionen ist jedoch deutlich geringer als bei MS-Excel: Um neue Basic-Funktionen zu erstellen, braucht man wesentlich mehr Programmier-Kenntnisse. Wenn möglich, programmiert man daher mit MS-Excel und überträgt die Basic-Funktionen auf alle anderen Büro-Programme. Die modernen Büro-Programme lassen sich außerdem in anderen Programmiersprachen ergänzen, z.B. Java, Javascript, Python ♦ Details zu Verwendung von Basic für Kalkulations-Funktionen |
Start mit Kalkulations-Programmen |
|
| Dieses Web enthält derzeit keine Daten für Kalkulations-AnfängerInnen. | → Fortgeschrittene AnwenderInnen finden einige ausgewählte Themen. |
Beispiele |
|
Kalkulations-Programme sind zwar nicht der Schwerpunkt dieses Webs,
sie sind jedoch für IT-EntwicklerInnen unentbehrlich. Mit keinem anderen
Programm-Typ kann man Algorithmen so rasch und einfach ausprobieren.
|
Sie finden in diesem Kapitel Links zu einigen der Kalkulations-Beispiele,
die sich im Laufe der Zeit angesammelt haben. Die Liste enthält sowohl 'reine' Kalkulations-Beispiele als auch solche mit 'Benutzer-definierten' → Basic-(VBA)-Funktionen. |
Berechnung, vorwiegend mit Iterationen (Reihen-Entwicklung)Bernoulli-Zahlen, Binomial-Koeffizienten und Pascal-Dreieck, Cosinus, Ellipse, Exponential, Julia-Mengen, Kreiszahl Pi, Legendre-Polynome, Logarithmus, Mandelbrot-Menge, Mittelwerte, Quadratwurzel und allgemeine Wurzeln, Sinus, ... |
String-ManipulationZerlegung und Zusammensetzung von "Strukturierten Texten", Funktionen Split() und Join(), z.B. Datei- oder Internet-Pfade, IP-Adressen, Datum und Zeit, BitLevel (Bool-Funktionen), Rechnen mit (Ziffern-Strings) beliebiger Genauigkeit |