PC-Anwendung Tabellenkalkulation am Beispiel MS-EXCEL Skript zur Vorlesung Grundlagen der Informatik III Prof. Dr. Hermann Johannes Dezember 2003 Inhalt: Tabellenkalkulation am Beispiel MS-Excel ............................................ 3 Grundlagen .............................................................................................. 4 Anwendungen mit einem Tabellenkalkulationsprogramm .................. 4 Erstellen und Bearbeiten einer Tabelle ................................................ 5 Erstellen eines Diagramms................................................................... 5 Arbeiten mit einer Liste (Datenbank) in einer Tabelle ........................ 5 Drucken einer Tabelle .......................................................................... 6 Kurzübersicht ....................................................................................... 7 Funktionen (Tabellenfunktionen) .......................................................... 11 Mathematische und trigonometrische Funktionen ............................. 11 Statistische Funktionen ...................................................................... 12 Datenbankfunktionen ......................................................................... 14 Matrixfunktionen ............................................................................... 16 Logische Funktionen .......................................................................... 19 Informations-Funktionen ................................................................... 21 Datums- & Zeit-Funktionen ............................................................... 21 Funktionen der Finanzmathematik..................................................... 23 Weitere Eigenschaften und Möglichkeiten ........................................... 25 Fremdbezug........................................................................................ 25 Zellen/Datei schützen ......................................................................... 25 Analysieren und Berechnen von Daten .............................................. 26 Weitere Methoden zur Analyse von Tabellendaten ........................... 28 Tabellen-Anwendung ............................................................................ 29 Aufbau einer Tabellen-Anwendung ................................................... 29 Gestaltung der Benutzeroberfläche .................................................... 30 Aufzeichnen von Makros ................................................................... 31 Benutzerdefinierte Funktionen und Prozeduren ................................ 31 Formulare ........................................................................................... 31 Tabellenkalkulation am Beispiel MS-Excel Grundlagen Anwendungen mit einem Tabellenkalkulationsprogramm Erstellen und Bearbeiten einer Tabelle Erstellen eines Diagramms Arbeiten mit einer Liste/Datenbank in einer Tabelle Drucken einer Tabelle Kurzübersicht Funktionen (Tabellenfunktionen) Einbindung von Funktionen in Formeln Funktionskategorien: * Mathematik & Trigonometrie * Statistik * Listen-/Datenbankfunktionen * Matrixfunktionen * Logische Funktionen * Informationsfunktionen * Datum & Zeit * Finanzmathematik Weitere Eigenschaften und Möglichkeiten Fremdbezug Zellen/Datei schützen Analysieren und Berechnen von Daten Zielwertsuche, Solver, Was-wäre-wenn, Pivot Tabellen-Anwendung Aufbau einer Tabellenanwendung Gestaltung der Benutzeroberfläche Aufzeichnen von Makros Benutzerdefinierte Funktionen und Prozeduren Formulare Anhang: Grundelemente von Excel Grundlagen Anwendungen mit einem Tabellenkalkulationsprogramm Beipiele für Tabellenkalkulationsprogramme: MS Excel, Multiplan, Lotus 1-2-3, Lotus Notes, Questor, Wings, ... Was kann man mit einem Tabellenkalkulationsprogramm machen: Daten tabellarisch darstellen (kleinere Datenmengen) Berechnungen mit den Daten durchführen, z.B. statistische Werte ermitteln Daten mit Hilfe von Diagrammen darstellen Daten verdichten, konsolidieren Formeln auf Daten anwenden Vordefinierte Funktionen benutzen "Was wäre wenn ..." - Analyse, Zielwertsuche, Solver (lineare Optimierung), ... "Listen"-Funktionen benutzen (in Excel 4.0: Datenbank) Kleinere Anwendungen ohne/mit Makroprogrammierung erstellen Was nicht: große Datenmengen verwalten ( Datenbankverwaltungssystem, z.B. MS Access) größere Anwendungen erstellen (Programmiersystem, z.B. Borland Pascal, MS Access, Clipper, C++, Visual Basic, ORACLE-SQL*FORMS, ...) Anwendungsmöglichkeiten: Budgetverwaltung Kostenrechnung, Betriebliche Kennzahlen Kostenkalkulation (z.B. Produktionskosten, Zweitwagen, Hausbaukosten) Haushaltsplanung Reisekostenabrechnung Klausurverwaltung, Notenermittlung Vorsteuerberechnung Verkaufsanalyse und -prognose Simulationen (z.B. OPEX) Client-Server-Anwendungen: Excel als Front-End zu einer Datenbank-Anwendung Erstellen und Bearbeiten einer Tabelle Beim Aufruf von Excel wird automatisch eine neue Arbeitsmappe zur weiteren Bearbeitung angelegt. Sie kann unter einem benutzerspezifischen Namen gespeichert werden. Die Arbeitsmappe enthält zunächst einige leere Tabellen. In eine Tabelle können beliebig Daten (Zahlen, Text, Formeln, Funktionen, ...) eingegeben werden. Es kann ein Listen-/Datenbankbereich und ein Druckbereich definiert werden. Beim Bearbeiten der Tabelle stehen u.a. folgende Bearbeitungsmöglichkeiten zur Verfügung: Kopieren von Zellen oder Bereichen (markieren, kopieren, einfügen) Einen Bereich nach rechts/unten ausfüllen Zellen/Bereiche einfügen/löschen Suchen und ersetzen Ordnen eines Bereichs Drucken der Tabelle / eines Bereichs Transponieren von Bereichen (via Inhalte einfügen) Erstellen eines Diagramms Um ein Diagramm zu erstellen, müssen zunächst die Daten, die im Diagramm grafisch dargestellt werden sollen, erfaßt werden. Nach Markieren des Datenbereichs inkl. Kopfzeile und Führungsspalte kann über ein Symbol das Diagramm direkt erzeugt werden. Die Darstellungsart ist nachträglich änderbar. Die Kopfzeile des betreffenden Datenbereichs kann die Werte enthalten, die die Rubrikenachse (X-Achse) des Diagramms beschriften soll; die Größenachse (Y-Achse) wird automatisch mit einer geeigneten Skalierung versehen. Die Führungstexte in der ersten Spalte jeder Datenzeile werden bei 2-dimensionalen Diagrammen in der Legende dargestellt, bei 3dimensionalen Diagrammen als Z-Achsen-Beschriftung angezeigt. Arbeiten mit einer Liste (Datenbank) in einer Tabelle Ein Bereich kann als Liste festgelegt werden. Mit einer Maske, die von Excel automatisch erzeugt wird, können Listenzeilen erfaßt, geändert, gelöscht, sortiert (bis zu drei Sortierschlüssel) oder über spezielle Suchkriterien gesucht werden. Dem Tabellenkopf der Liste werden automatisch die Feldnamen (Führungstexte) der Maske entnommen. Beim Erfassen neuer Datensätze mittels einer Standard-Maske kann die Liste nach unten erweitert werden. Dazu müssen allerdings die nachfolgenden Zeilen leer sein. Eine einfache Form, nach bestimmte Daten einer Liste zu suchen, bietet ein Filter (Menüpunkt Daten). Mit einem Standardfilter kann aus jeder Spalte ein Wert zur Filterung genutzt werden. Mit einem Spezialfilter können zusätzliche Suchkriterien in der Tabelle definiert und zur Filterung angewendet werden. Beim Suchen nach bestimmten Datensätzen kann das Ergebnis auch in die Tabelle eingefügt werden. Dazu müssen in der Tabelle Suchkriterien und ein Zielbereich definiert werden. Es sind bei den Suchkriterien auch Wildcards erlaubt. Drucken einer Tabelle Zum Drucken einer Tabelle oder eines Tabellenbereichs stehen eine Reihe von Möglichkeiten zur Verfügung: - Druck der ganzen Tabelle Druck eines vorher definierten Druckbereichs Zum Druckbereich aufheben vorher ganze Tabelle markieren Seitenlayout verändern inkl. Kopf- und Fußzeile Seitenansicht Drucken eines Diagramms Kurzübersicht Hilfe Hilfeinformationen; Index oder Suchen nach einem Wort z.B. Suchen: ”Tastenkombinationen” Zelle, Zellbereich Einzelne Zelle mit Koordinaten; kann genau einen Wert enthalten B5, C3:C8, C5:E12 Zellinhalt Text, Zahl (auch Datum) oder Formel "Ein Text", 15, =C1+D3, =D1 & " " & D2 Funktion mit Parametern Ist Teil einer Formel und liefert einen oder mehrere Werte =SUMME(A3:B7); =SUMMEWENN(B4:B8;B10;D4:D8) Hilfe: (Index) Funktionen Zellbezug variabel: B5; wird beim Kopieren verändert fest: $B$5; wird beim Kopieren nicht verändert WENN WENN(Bedingung; Ja-Teil; Nein-Teil) Bedingung: wahr (ja) oder falsch (nein) =WENN(A1=1;B1;C1) Hilfe: Logische Funktionen ODER ODER(Bedingung1; Bedingung2; Bedingung3; ...) Verknüpft die Bedingungen mittels ODER =ODER(A1=A2;A1=1) liefert wahr, falls A1=A2 oder A1=1, sonst falsch Siehe auch UND, NICHT Hilfe: Logische Funktionen ISTLEER ISTLEER(Bezug) Liefert falsch oder wahr äbhängig davon, ob die Zelle leer ist oder nicht. =ISTLEER(B5) Siehe auch ISTZAHL usw. Hilfe: Informationsfunktionen SUMMEWENN SUMMEWENN(Suchbereich; Suchkriterium; Suchspalte) =SUMMEWENN(A2:A4;"Meier";B2:B4) =SUMMEWENN(A2:A4;C5;B2:B4) =SUMMEWENN(D37:D42;">=" & C50;D37:D42) Hilfe: Mathematische und trigonometrische Funktionen ZÄHLENWENN ZÄHLENWENN(Suchbereich; Suchkriterium) =ZÄHLENWENN(A2:A4;"Meier") =ZÄHLENWENN(A2:A4;C5) Hilfe: Mathematische und trigonometrische Funktionen MAX, MIN, MITTELWERT, ... MAX(Zahl1;Zahl2; ...) ANZAHL ANZAHL(Wert1;Wert2; ...) Zählt die Anzahl der Zahlwerte ANZAHL2 ANZAHL2(Wert1;Wert2; ...) Zählt die Anzahl der Werte (der nichtleeren Zellen) SUMMENPRODUKT SUMMENPRODUKT(Matrix1;Matrix2) Multipliziert die sich entsprechenden Komponenten der angegebenen Matrizen miteinander und gibt die Summe dieser Produkte zurück. =SUMMENPRODUKT(B47:B49;C47:C49) Matrixformel Arbeitet mit einer Matrix von Werten und liefert 1 oder mehrere Werte zurück; im Fall von mehreren Werten können diese nur in verschiedenen Zellen angezeigt werden. {=SUMME(WENN(C37:C42=C56; WENN(B37:B42=C57;D37:D42)))} =SUMMENPRODUKT({2;4;3}; {3;5;1}) DATUM interne Darstellung von Datum und Zeit als eine Dezimalzahl; 1.9.97 10:00 entspricht 35674,416667, wobei 35674 Tage seit 1.1.1900 vergangen sind Darstellung abhängig vom Format Hilfe: Datums- und Zeitfunktionen SVERWEIS SVERWEIS(Suchkriterium;Matrix;Spaltenindex) Sucht in der Matrix nach dem 1. Vorkommen des Suchkritieriums, geht dann in der Zeile nach rechts und liefert den Wert der Zelle in der Spalte gemäß Spaltenindex =SVERWEIS(B7;A2:D5;3) VERGLEICH VERGLEICH(Suchkriterium;Suchmatrix;Vergleichstyp) Sucht Werte innerhalb eines Bezuges oder einer Matrix. =VERGLEICH(B8;B1:D1;0) SVERWEIS, VERGLEICH =SVERWEIS(B7;A2:D5;VERGLEICH(B8;B1:D1;0)) INDEX (Bezugsform) INDEX(Bezug;Zeile;Spalte;Bereich) Liefert den Bezug auf eine oder mehrere Zellen, die zu dem per Bezug angegebenen Bereich gehören. =SUMME(C1:INDEX(C1:C3;B4)) INDEX (Matrixform) INDEX(Matrix;Zeile;Spalte) Liefert den Bezug auf eine oder mehrere Zellen, die zur angegebenen Matrix gehören. DBSUMME DBSUMME(Datenbank;Feld;Suchkriterien) Summiert die Zahlen aus einer Spalte einer Liste oder einer Datenbank, welche die angegebenen Bedingungen erfüllen. =DBSUMME(A3:E7;"Gehalt";B1:B2) =DBSUMME(Datenbank;"Gehalt";Suchkriterien) DBANZAHL DBANZAHL(Datenbank;Datenbankfeld;Suchkriterien) Gibt die Anzahl der Zellen in einer Spalte einer Liste oder Datenbank zurück, welche die angegebenen Bedingungen erfüllen. = DBANZAHL(Datenbank;"Alter";A1:F2) RGP RGP(Y_Werte;X_Werte;Konstante;Stats) Liefert die Parameter eines linearen Trends und zwar die Werte m und b der Geradengleichung y = m*x+b. =INDEX(RGP($D$74:$M$74;$D$73:$M$73);1) RKP RKP(Y_Werte;X_Werte;Konstante;Stats) Liefert die Parameter eines exponentiellen Trends und zwar die Werte m und b der Gleichung y = b*m^x. TREND TREND(Y_Werte;X_Werte;Neue_x_Werte;Konstante) Liefert Werte, die sich aus einem linearen Trend ergeben. Diese Funktion paßt den als Matrizen Y_Werte und X_Werte übergebenen Werten eine Gerade an (nach der Methode der kleinsten Quadrate). Als Ergebnis liefert die Funktion die auf der Geraden liegenden y-Werte, die zu den von Ihnen in Neue_x_Werte angegebenen x-Werten gehören. REST Rest einer Division; REST (14;5) ergibt 4 Ggfs. Add-In für Analyse aktivieren (Extras + Add-InsManager) QUOTIENT Ganzzahliges Ergebnis Division; QUOTIENT (14;5) ergibt 2 Ggfs. Add-In für Analyse aktivieren (Extras + Add-InsManager) KGRÖßTE(Bereich, Nr) Zeigt aus dem Bereich den <Nr> größten Wert Textfunktionen TEIL(B65;6;3) LINKS(B65;4) SUCHEN("text";B65) Suchen beachtet nicht Gross- und Kleinschreibung ERSETZEN(B65;10;3;"kein") Finanzmathematik RMZ, ZZR, ZINS, KAPZ, BW, ..., siehe Finmath.xls. Ausblenden von Zellen Fremdbezug =Bestseller!$D$64 Bezug auf andere Tabelle in derselben Mappe =[Excbei.xls]Umsatz!$E$56 Bezug auf andere Tabelle in einer anderen Mappe Namen festlegen Datenbank Datenbankaufbau Datenbankfunktionen Sonstiges Sortieren, Filter, Maske, Text in Spalten, Konsolidieren, Rechtschreibung, Zellen schützen, Detektiv Sonderfunktionen Iteration, Zielwertsuche, Solver, Pivot Abfrage auf externe Daten Add-Ins-Manager: Solver (Extras + Add-Ins-Manager) Makros / Visual Basic Aufzeichnen eines Makros Verändern / Erstellen eines Makros Funktionsmakro Funktionen (Tabellenfunktionen) In diesem Kapitel werden zu den einzelnen Funktionskategorien jeweils einige Funktionen erläutert. In der Online-Hilfe ist eine Übersicht und eine Detailbeschreibung aller Funktionen enthalten. Mathematische und trigonometrische Funktionen SUMME(Zahl1;Zahl2;...) Die Funktion liefert als Ergebnis die Summe der Zahlen, die in der Argumentliste stehen. Für Zahli kann auch ein Feld oder ein Bereich stehen. Zahlen, Wahrheitswerte und als Zeichenketten vorliegende Zahlen werden in die Summe eingerechnet (WAHR hat den Wert 1). Bei der Angabe eines Bereichs werden nur echte Zahlen berücksichtigt. Beispiele SUMME(3;2) ergibt 5 SUMME("3";2;WAHR) ergibt 6 SUMME(A4:C8) summiert alle Zahlen in dem angegebenen Bereich Siehe auch ANZAHL ANZAHL2 MITTELWERT PRODUKT SUMMENPRODUKT SUMMEWENN zählt, wieviel Zahlen die Liste der Argumente enthält zählt, wieviel nichtleeren Werte die Liste der Argumente enthält liefert den Mittelwert der Argumente multipliziert die angegebenen Argumente liefert die Summe von Produkten liefert die Summe von Datensätzen, die bestimmte Bedingungen erfüllen SUMMENPRODUKT(array1;array2;array3;...) Die Funktion multipliziert die sich entsprechenden Komponenten der angegebenen Arrays (mind. 2, max. 30 Arrays) und liefert die Summe dieser Produkte. Beispiel SUMMENPRODUKT(A1:A3;B1:B3) = 27 (=3*3+8*2+1*2) bei folgender Tabelle: A 1 2 3 B 3 8 1 3 2 2 Siehe auch MMULT PRODUKT SUMME liefert das Matrizenprodukt zweier Arrays multipliziert die angegebenen Argumente addiert die angegebenen Argumente SUMMEWENN(Bereich; Suchkriterien; Summe_Bereich) Die Funktion addiert die Zahlen im Summe_Bereich, für die die Werte im Bereich mit den Suchkriterien übereinstimmen. Beispiel 1 2 3 4 5 6 7 A Verkäufer Meier Müller Meier B Umsatz 10.000 15.000 8.000 C Datum 03.05.93 03.02.93 04.01.93 D Monat 5 2 1 18.000 = SUMMEWENN(A2:A4;"Meier";B2:B4) 2 = ZÄHLENWENN(A2:A4;"Meier") In B6 und B7 stehen die o.g. Funktionen; es werden die Umsatzzahlen des Verkäufers Meier addiert bzw. die Anzahl Meier gezählt Siehe auch SUMME WENN ZÄHLENWENN addiert die angegebenen Argumente prüft eine Bedingung und führt abhängig davon eine Aktion aus ermittelt die Anzahl Werte in einem Bereich, die die Suchkriterien erfüllen Statistische Funktionen MAX(Zahl1;Zahl2;...) Die Funktion liefert die größte Zahl in der Liste der Argumente. Kann bis zu 30 Argumente haben. Argumente sollten entweder Zahlen sein, oder Arrays oder Bezüge, die Zahlen enthalten. Es werden Argumente benutzt, die aus Zahlen, leeren Zellen, logischen Werten oder Textdarstellungen von Zahlen bestehen. Argumente, die aus Fehlerwerten bestehen oder aus Text, der nicht in Zahlen umgewandelt werden kann, ergeben Fehler. Ist ein Argument ein Array oder ein Bezug, werden nur die Zahlen im Array oder im Bezug benutzt. Beispiele Wenn der Bereich A1:A5 die Zahlen 10, 7, 9, 27 und 2 enthält, gilt: MAX(A1:A5) = 27 MAX(A1:A5;30) = 30 Siehe auch DBMAX MIN Liefert den größten Wert von ausgewählten Datenbankeinträgen. Liefert die kleinste Zahl in der Liste der Argumente. MITTELWERT(Zahl1;Zahl2;...) Die Funktion liefert als Ergebnis den Mittelwert (arithmetisches Mittel) der Argumente. Kann 1 bis 30 Argumente haben. Die Argumente sollten entweder Zahlen sein, oder aber Arrays oder Bezüge, die Zahlen enthalten. Beispiele MITTELWERT(10;7;9;27;2) liefert den Wert 11. Wenn der Bereich A1:A5 die Zahlen 10, 7, 9, 27 und 2 enthält, gilt: MITTELWERT(A3:A7) = 11 Siehe auch DBMITTELWERT MEDIAN SUMME Liefert den Mittelwert ausgewählter Datenbankeinträge. Liefert den mittleren Wert in einem Datensatz. Addiert die Argumente. ANZAHL2(Wert1;Wert2;...) Die Funktion ermittelt in der Liste der Argumente (mind. 1, max. 30) die Zahl der Werte, die keine leeren Werte sind, d.h. anzahl2 ermittelt die Zahl der Zellen mit Daten. Beispiele A 1 2 3 4 5 6 7 8 Eingang 15.01.93 12 22,42 #DIV/0! In der obigen Tabelle liefert: ANZAHL2(A2:A8) den Wert 5, ANZAHL2(A5:A6) den Wert 2, ANZAHL2(A3:A6;7) den Wert 4, ANZAHL(A2:A8) den Wert 3, s.u. Siehe auch ANZAHL DBANZAHL DBANZAHL2 zählt die Zahlen in der Liste der Argumente zählt die Zellen einer Datenbank, die Zahlen enthalten, unter Berücksichtigung von Suchkriterien zählt die Zellen einer Datenbank, die Werte enthalten, unter Berücksichtigung von Suchkriterien RGP(Bekannte_y_Werte;Bekannte_x_Werte;Konstante;Stats) Die Funktion paßt eine gerade Linie an vorgegebene Daten an und liefert ein Array in der Form {m,n}, das die Gerade y=mx+n beschreibt. Die Genauigkeit der Geraden hängt von der Streuung der Daten ab. Je linearer die Daten sind, desto genauer ist das RGP-Modell. Die Funktion RGP verwendet die "Methode der kleinsten Quadrate" zur Berechnung einer Geraden, die die beste Anpassung an die Daten darstellt. Die Argumente Bekannte_x_Werte, Konstante und Stats sind optional. Hinweis: Auf die Elemente des Arrays kann mit der Funktion INDEX(Array;Zeile;Spalte) zugegriffen werden. Weitere Informationen in der Online-Hilfe bzw. in der Dokumentation. Beispiel RGP({1.9.5.7};{0.4.2.3}) ergibt {2.1}, also Steigung 2 und 1 als Schnittpunkt durch YAchse. Siehe auch RKP STEIGUNG ACHSENABSCHNITT TREND VARIATION Beispieldatei: Liefert Parameter einer exponentiellen Anpassung. Liefert die Steigung einer Regressionsgeraden Liefert den Schnittpunkt der Regressionsgeraden Liefert Werte, die sich aus einem linearen Trend ergeben Liefert Werte einer exponentiellen Anpassung. finmath.xls statist.xls Datenbankfunktionen Die folgenden Funktionen können auch mit Daten+Teilergebnisse realisiert werden. DBANZAHL2(Datenbank;Datenbankfeld;Suchkriterien) Die Funktion liefert die Anzahl der nichtleeren Zellen, die mit den Suchkriterien im Datenbankfeld der Datensätze der Datenbank übereinstimmen. Beispiele In der folgenden Tabelle sei die Datenbank als A3:E7 und die Suchkriterien seien als A1:E2 festgelegt. 1 2 3 4 5 6 7 A Name Name Müller, H. Meier, E. Schmidt, K. Braun, E. B Einstell.datum >1.1.84 Einstell.datum 5.6.81 1.10.86 4.4.82 1.1.90 C Alter Alter 40 31 35 26 D Geschlecht E Gehalt Geschlecht Gehalt 35.000 33.000 37.000 26.000 w w m w Dann liefert: DBANZAHL2(Datenbank;"Name";Suchkriterien) den Wert 2. Diese Funktion zählt die nichtleeren Namensfelder der Datensätze, die die Suchkriterien (Einstell.datum > 1.1.84) erfüllen. Siehe auch ANZAHL2 DBANZAHL Liefert die Anzahl der Werte in der Liste der Argumente. Zählt Zellen, die Zahlen enthalten, aus ausgewählten Datenbankeinträgen. In der obigen Tabelle ergibt DBANZAHL(Datenbank;"Gehalt";Suchkriterien) ebenfalls den Wert 2, da die Gehaltsspalte Zahlen enthält. Beispieldateien dnstreis.xls, lohn.xls, umsatz4.xls DBSUMME(Datenbank;Datenbankfeld;Suchkriterien) Die Funktion addiert die Zahlen der Datensätze der Datenbank in der Spalte Datenbankfeld, deren Sätze den Suchkriterien entsprechen. Beispiel DBSUMME(Datenbank;"Gehalt";Suchkriterien) ergibt in der Tabelle von DBANZAHL2 den Wert 59.000. Diese Funktion addiert die Gehaltsfelder der Datensätze, die die Suchkriterien (Einstell.datum > 1.1.84) erfüllen. Siehe auch DBMITTELWERT DBPRODUKT SUMME Bildet den Mittelwert der Werte in einem Datenbankfeld. Multipliziert die Werte in einem Datenbankfeld. Addiert alle als Argumente angegebenen Zahlen. Matrixfunktionen INDEX(Bezug;Zeile;Spalte;Bereich) (Bezugs-Form) Die Funktion liefert einen Bezug auf eine Zelle oder auf einen Zellbereich in Bezug. Bezug ist ein Bezug auf einen oder mehrere Zellbereich(e). Es kann sich auch um einen komplexen Bezug auf mehr als einen nicht angrenzenden Bereich handeln, beispielsweise A1:B4;D1:E4;G1:H4. Weitere Details siehe Online-Hilfe. Beispiel Für folgende Tabelle liefert die Formel =SUMME(C1:INDEX(C1:C3;B4)) im Feld C5 den Wert 8. A 1 2 3 4 5 Anzahl Summanden Summe B C 3 5 6 2 8 Siehe auch BEREICH.VERSCHIEBEN Liefert als Ergebnis den Versatz eines Bezugs mit einer bestimmten Zeilen- und Spaltenanzahl. INDEX (Array) Liefert den Wert einer Zelle oder eines Arrays von Zellen in Array. SVERWEIS Sucht in der ersten Spalte eines Arrays und geht dann die Zeilen durch, um den Wert einer Zelle zu liefern. VERGLEICH Liefert als Ergebnis die relative Position eines Wertes in einem Array, der mit einem angegebenen Wert übereinstimmt. VERWEIS Sucht Werte in einem Vektor oder Array. WVERWEIS Sucht in der obersten Zeile eines Arrays und liefert den Wert der angegebenen Zelle. INDEX(Array;Zeile;Spalte) (Array-Form) Die Funktion liefert den Wert einer angegebenen Zelle in Array oder ein angegebenes Array von Werten in Array. Formeln, die Arrays liefern, müssen als Arrayformeln eingegeben werden. Array ist ein Zellbereich, der als Array eingegeben wird. Zeile und Spalte wählen die Zeilen- und Spaltennummer der gewünschten Zelle innerhalb von Array. Zeile 1 ist die erste Zeile und Spalte 1 die erste Spalte im Array. Wenn Zeile den Wert 0 besitzt, wird für die gesamte Zeile ein Array von Werten geliefert. Wenn Spalte den Wert 0 besitzt, wird für die gesamte Spalte ein Array von Werten geliefert. Für ein Array mit einer einzelnen Zeile benutzen Sie INDEX(Array;Spalte). Für ein Array mit einer einzelnen Spalte benutzen Sie INDEX(Array;Zeile). Wenn Zeile und Spalte auf eine Zelle außerhalb von Array verweisen, wird der Fehlerwert #BEZUG! geliefert. Beispiel INDEX(A1:C5;2;3) liefert Wert in C2 Falls in A20:M20 Bekannte_y_Werte und in A21:M21 Bekannte_x_Werte stehen, liefert INDEX(RGP(A20:M20;A21:M21);1) den Wert für m der Regressionsgeraden und INDEX(RGP(A20:M20;A21:M21);2) den Wert für n, siehe RGP Siehe auch INDEX (Bezug) SVERWEIS VERGLEICH VERWEIS WVERWEIS Beispieldateien: Liefert einen Bezug auf eine Zelle oder einen Bereich von Zellen in einem Bezug. Sucht in der ersten Spalte eines Arrays und geht dann die Zeilen durch, um den Wert einer Zelle zu liefern. Liefert als Ergebnis die relative Position eines Wertes in einem Array, der mit einem angegebenen Wert übereinstimmt. Sucht nach Werten in einem Vektor oder Array. Sucht in der obersten Zeile eines Arrays und liefert den Wert der angegebenen Zelle. finmath.xls umsatz4.xls SVERWEIS(Suchkriterium;Mehrfachoperationsarray;Spaltenindex) Die Funktion sucht im Mehrfachoperationsarray nach einer Zeile, in deren erster Spalte das Suchkriterium enthalten ist, bewegt sich in der Zeile entsprechend dem Spaltenindex und liefert den Wert der Zelle. Ein Spaltenindex von 1 liefert den ersten Spaltenwert im Mehrfachoperationsarray, ein Spaltenindex von 2 liefert den zweiten Spaltenwert in Mehrfachoperationsarray, usw. Die Werte in der ersten Spalte des Mehrfachoperationsarrays können Text, Zahlen oder Wahrheitswerte sein. Die Werte müssen in aufsteigender Reihenfolge angeordnet werden: ..., -2, -1, 0, 1, 2, ... , A-Z, FALSCH, WAHR. Texte mit Groß- und Kleinbuchstaben sind gleichwertig. Wenn SVERWEIS das Suchkriterium in der 1. Spalte des Mehrfachoperationsarrays nicht findet, nimmt es den größten Wert, der kleiner oder gleich dem Suchkriterium ist. Ist das Suchkriterium kleiner als der kleinste Wert in der ersten Spalte des Mehrfachoperationsarrays, so liefert SVERWEIS den Fehlerwert #NV. Ist der Spaltenindex kleiner als 1, wird der Fehlerwert #WERT! geliefert. Ist der Spaltenindex größer als die Anzahl der Spalten im Mehrfachoperationsarray, wird der Fehlerwert #BEZUG! geliefert. Beispiel Folgende Tabelle liegt vor: A 1 2 3 4 5 Datum 5.1.93 5.2.93 5.3.93 5.4.93 B Chemie-AG 100 DM 150 DM 215 DM 210 DM C Bank-AG 255 DM 260 DM 250 DM 270 DM D Auto-AG 310 DM 300 DM 320 DM 340 DM Falls in A7 das Datum 5.3.93 steht, liefert SVERWEIS(A7;A2:D5;3) den Wert 250 DM Falls in A7 das Datum 6.3.93 steht, liefert SVERWEIS(A7;A2:D5;3) ebenfalls 250 DM Siehe auch INDEX VERGLEICH VERWEIS WVERWEIS Beispieldateien: Verwendet einen Index, um einen Wert aus einem Array oder einem Bezug zu wählen. Liefert als Ergebnis die relative Position eines Wertes in einem Array, der mit einem angegebenen Wert übereinstimmt. Sucht nach Werten in einem Vektor oder Array. Sucht in der obersten Zeile eines Arrays und liefert den Wert der angegebenen Zelle. auftrag.xls dnstreis.xls klausur.xls tel.xls VERGLEICH(Suchkriterium;Sucharray;Vergleichstyp) Die Funktion liefert die relative Position eines Elements in Sucharray, das mit Suchkriterium übereinstimmt, entsprechend dem Vergleichstyp. Die drei möglichen Vergleichstypen sind: Vergleichstyp 1 oder fortgelassen -1 0 VERGLEICH Findet den größten Wert, der kleiner oder gleich dem Suchkriterium ist; Sucharray muß in aufsteigender Reihenfolge sein: ..., -1, 0, 1, ..., A-Z, FALSCH, WAHR. Findet den kleinsten Wert, der größer oder gleich dem Suchkriterium ist; Sucharray muß in absteigender Reihenfolge sein: WAHR, FALSCH, Z-A, ..., 1, 0, -1, ... Findet den ersten Wert, der dem Suchkriterium genau entspricht; Sucharray erfordert keine bestimmte Anordnung. Wird der Vergleichstyp nicht angegeben, wird er als 1 angenommen. Wird keine Übereinstimmung gefunden, gibt VERGLEICH den Fehlerwert #NV an. Groß- und Kleinbuchstaben sind gleichwertig. Ist der Vergleichstyp 0 und das Suchkriterium Text, kann das Suchkriterium die Stellvertreterzeichen * und ? enthalten. In diesem Fall sucht VERGLEICH nach Text mit einem beliebigen einzelnen Zeichen an Position ? und einer beliebigen Zeichenfolge an Position * . VERGLEICH ermittelt die Position des übereinstimmenden Wertes, nicht den Wert selbst. Beispiel Siehe die Tabelle im Beispiel von SVERWEIS. Falls in A7 das Datum 5.3.93 und in A8 der Text Bank-AG steht, liefert SVERWEIS(A7;A2:D5;VERGLEICH(A8;A1:D1;0)) den Wert 250 DM Siehe auch INDEX SVERWEIS VERWEIS WVERWEIS Beispieldatei: Verwendet einen Index, um einen Wert aus einem Array oder einem Bezug zu wählen. Sucht in der ersten Spalte eines Arrays und geht dann die Zeilen durch, um den Wert einer Zelle zu liefern. Sucht nach Werten in einem Vektor oder Array. Sucht in der obersten Zeile eines Arrays und liefert den Wert der angegebenen Zelle. finmath.xls umsatz4.xls ZEILE(Bezug) Die Funktion liefert die Zeilennummer des Bezugs. Beispiel ZEILE(A3) ergibt 3 Siehe auch ZEILEN SPALTE liefert die Anzahl Zeilen in einem Bezug liefert die Spaltennummer eines Bezugs Logische Funktionen WENN(Wahrheitsprüfung;Dann_Wert;Sonst_Wert) Die Funktion liefert den Dann_Wert, wenn die Wahrheitsprüfung WAHR ergibt. Ergibt die Wahrheitsprüfung den Wahrheitswert FALSCH, liefert die Funktion den Sonst_Wert. Die Funktion WENN wird benutzt um zu überprüfen, ob Zellwerte und Formeln bestimmte Bedingungen erfüllen. Wenn der Sonst_Wert ausgelassen wird und die Wahrheitsprüfung FALSCH ergibt, liefert die Funktion FALSCH. Das Ergebnis der Wahrheitsprüfung bestimmt den von WENN gelieferten Wert. Die Argumente dann_Wert und Sonst_Wert können beliebige Werte sein. Zur Erstellung von komplizierteren Prüfungen können bis zu sieben WENN-Funktionen als Argumente Dann_Wert und Sonst_Wert verschachtelt werden. Beispiele WENN(WAHR;1;2) = 1 WENN(FALSCH;1;2) = 2 Siehe auch NICHT ODER UND Kehrt die Logik des angegebenen Argumentes um. Liefert WAHR, wenn mindestens ein Argument WAHR ist. Liefert WAHR, wenn alle Argumente wahr sind. ODER(Wahrheitswert1;Wahrheitswert2;...) Die Funktion liefert den Wahrheitswert WAHR, wenn mindestens eines der angegebenen Argumente wahr ist. Sie liefert den Wert FALSCH, wenn alle Argumente falsch sind. Kann 1 bis 30 Argumente haben. Die Argumente sollten Wahrheitswerte sein oder aber Arrays oder Bezüge, die Wahrheitswerte enthalten. Text und Leerzellen werden in Arrays und Bezügen nicht berücksichtigt. Wenn keine Wahrheitswerte im Bereich angegeben sind, wird der Fehlerwert #WERT! geliefert. Beispiele ODER(WAHR) = WAHR ODER(1+1=1;2+2=5) = FALSCH Wenn der Bereich A1:A3 die Werte WAHR, FALSCH und WAHR enthält, lautet das Ergebnis: ODER(A1:A3) = WAHR Folgende Funktion liefert abhängig von den angegebenen Zellen-Werten einen bestimmten Wert: WENN(ODER(A1=3;B1=4);"";WENN(C1=5;"Nein!";SUMME(A1:C1))) A1 3 1 3 1 1 B1 4 4 2 2 2 C1 5 5 5 5 6 Ergebnis leeres Feld leeres Feld leeres Feld Nein! 9 Siehe auch NICHT UND Kehrt die Logik des angegebenen Argumentes um. Liefert WAHR, wenn alle Argumente WAHR sind. Informations-Funktionen ISTZAHL(Wert) Diese Funktion liefert WAHR, wenn Wert eine Zahl ist; andernfalls lautet das Ergebnis FALSCH. Beispiel Wenn die Zelle B5 den Wert 75,90, d.h. eine Zahl enthält, liefert ISTZAHL(B5) das Ergebnis WAHR. Siehe auch ZELLE TYP ISTLEER Liefert Informationen über die Formatierung, Position oder den Inhalt einer Zelle. Liefert als Ergebnis eine Zahl, die den Datentyp eines Wertes angibt. Liefert wahr, wenn der Wert / die Zelle leer ist N(Wert) Ist Wert eine Zahl, wird diese Zahl ausgegeben. Ist Wert ein Datum, wird die serielle Zahl des Datums ausgegeben. Ist Wert WAHR, wird 1 ausgegeben, in allen anderen Fällen 0. Die Funktion ist zur Kompatibilität mit anderen Tabellenkalkulationsprogrammen vorgesehen. Siehe auch T ZELLE Wandelt das Argument in Text um. Liefert Informationen über Formatierung, Position oder Inhalt einer Zelle. Datums- & Zeit-Funktionen DATUM(Jahr;Monat;Tag) Die Funktion liefert die serielle Zahl des Datums, das Jahr, Monat und Tag entspricht. Jahr muß eine Zahl zwischen 1900 und 2078 sein. Um ein Jahr im Bereich 1920 bis 2019 festzulegen, können die letzten zwei Ziffern des Jahres eingegeben werden. Um ein Jahr vor 1920 oder nach 2019 festzulegen, müssen alle vier Ziffern des Jahres eingegeben werden. Monat ist eine Zahl, die einen Monat im Jahr darstellt. Wenn der Wert Monat größer als 12 ist, addiert Monat die Anzahl der Monate zu dem ersten im Jahr angegebenen Monat und gleicht das Jahr entsprechend an. Tag ist eine Zahl, die einen Tag im Monat darstellt. Wenn der Wert Tag größer als 31 ist, addiert Tag die Anzahl der Tage zu dem ersten angegebenen Monat und gleicht Monat und Jahr entsprechend an. Es können auch negative Zahlen als Argumente verwenden werden, solange die daraus folgende serielle Zahl positiv ist. Beispiel DATUM(91;1;1) ist gleich 33239, die serielle Zahl entspricht dem 1. Januar 1991 im Datumssystem 1900. Siehe auch DATWERT HEUTE Ist wie DATUM, akzeptiert aber ein Textargument. Liefert die serielle Zahl des gegenwärtigen Datums. Beispieldateien: dnstreis.xls lohn.xls JETZT() Die Funktion liefert die serielle Zahl des aktuellen Datums und der aktuellen Uhrzeit entsprechend der Uhr des Computers. Hinter JETZT müssen leere Klammern angegeben werden, andernfalls erkennt Microsoft Excel nicht, daß es sich um eine Funktion handelt. Beispiel Wenn die im Computer eingebaute Uhr auf 12:30:00, 1. Jan 1991 eingestellt ist, lautet das Ergebnis: JETZT() =33239,52 10 Minuten später lautet das Ergebnis: JETZT() =33239,53 Siehe auch DATUM HEUTE ZEIT Liefert die serielle Zahl des angegebenen Datums. Liefert die serielle Zahl des aktuellen Datums. Liefert die serielle Zahl einer bestimmten Zeit. TAG(Serielle_Zahl) Die Funktion liefert als Ergebnis den Tag, der dem Argument Serielle_Zahl entspricht. Der Tag wird als eine ganze Zahl von 1 bis 31 angegeben. Serielle_Zahl ist der Code für Datum und Zeit, den Microsoft Excel für Datums- und Zeitberechnungen verwendet. Wenn als Text angegeben, wird der Text automatisch in eine serielle Zahl umgewandelt. Beispiele TAG("4. Jan") = 4 TAG("15. Apr. 1992") = 15 TAG("11.8.91") = 11 Siehe auch HEUTE() JAHR() JETZT() MINUTE() MONAT() SEKUNDE() STUNDE() WOCHENTAG() Liefert die serielle Zahl des aktuellen Datums. Wandelt serielle Zahlen in Jahre um. Liefert die serielle Zahl des aktuellen Datums und der aktuellen Uhrzeit. Wandelt serielle Zahlen in Minuten um. Wandelt serielle Zahlen in Monate um. Wandelt serielle Zahlen in Sekunden um. Liefert Stunde (0-23). Wandelt serielle Zahlen in Wochentage um. Funktionen der Finanzmathematik RMZ(Zins;Zzr;Bw;Zw;F) Die Funktion RMZ (Regelmäßige Zahlungen / Annuität) liefert die Zahlung für eine Investition auf der Basis regelmäßiger, konstanter Zahlungen und eines konstanten Zinssatzes. Bei den finanzmathematischen Funktionen werden folgende Abkürzungen verwendet: Zins Zzr Bw Zw F Zinssatz pro Periode Anzahl der Perioden; gibt an, über wieviel Perioden die jeweilige Annuität (Rente) gezahlt wird. Barwert Endwert oder Kontostand; der Endwert eines Darlehens ist 0. Fälligkeit am Ende (=0) oder am Anfang (=1) der Periode Es muß dieselbe Einheit für Zins und Zzr benutzt werden, z.B. Monat. Wenn Zins ein Jahreszinssatz ist, gibt RMZ die Anzahl der Zahlungen pro Jahr zurück und Zzr steht für die Anzahl der Jahre. Zw und F sind wahlfrei; werden sie nicht angegeben, verwendet RMZ jeweils den Wert 0. Beispiele RMZ(8%/12;12;10000) = -869,88 DM d.h. ein Darlehen von 10.000 DM wird in 12 Monaten bei einem Jahres-Zinssatz von 8% mit monatlich 869,88 DM getilgt. RMZ(8%/12;10;0;10000;1) = -963,94 DM RMZ(8%/12;10;0;10000) = -970,37 DM RMZ(12%/12;5;-5000) = 1030,20 DM Siehe auch KAPZ ZINS Liefert die Tilgung für eine Investition für eine bestimmte Periode. Liefert den Zinssatz pro Zeitraum für eine Investition. ZINSZ ZW ZZR() BW Beispieldatei: Liefert die Zinszahlung für eine Investition für eine bestimmte Periode. Liefert den zukünftigen Wert einer Investition. Liefert die Anzahl der Zeiträume (Zahlungen) für eine Investition. Liefert den Barwert einer Investition, d.h. den Gesamtbetrag, den eine Reihe zukünftiger Zahlungen derzeit wert ist. finmath.xls GDA(Ansch_Wert;Restwert;Nutzungsdauer;Periode;Faktor) Die Funktion liefert den Abschreibungswert eines Anlageobjekts für eine bestimmte Periode und verwendet dabei das Verfahren der geometrisch degressiven Abschreibung, die auf den Anfangskosten des Anlageobjekts (Ansch_Wert), seinem Restwert am Ende seiner Nutzungsdauer und der Rate, um die der Restwert abnimmt (Faktor) beruht. Alle Argumente müssen positive Zahlen sein. Der Standardwert für Faktor ist 2, was darauf hinweist, daß er der doppelten linearen Abschreibung entspricht. Beispiel Sie haben eine neue Maschine für 2.400,00 DM gekauft. Sie hat eine Nutzungsdauer von 10 Jahren und einen Restwert von 300,00 DM. Nun gilt: GDA(2400;300;10;1) = 480,00 DM, Abschreibung für das erste Jahr GDA(2400;300;10;2;1,5) = 306,00 DM, Abschreibung für das zweite Jahr; dabei wird ein Faktor oder 1,5 benutzt, anstatt der Methode der geometrisch degressiven Abschreibung. GDA(2400;300;10;10) = 22,12 DM, Abschreibung für das zehnte Jahr. Siehe auch DIA LIA VDB GDA2 Liefert die digitale Abschreibung für einen bestimmten Zeitraum. Liefert die lineare Abschreibung. Liefert die Abschreibung eines Anlageobjekts für einen partiellen Zeitraum. Liefert den Abschreibungswert eines Anlageobjekts über einen bestimmten Zeitraum mit der degressiven Abschreibungsmethode. Weitere Eigenschaften und Möglichkeiten Fremdbezug Ein Fremdbezug auf eine andere Datei in einer Zelle einer Zieltabelle wird dadurch angegeben, daß in der Zellenformel der Bezug in der Form (Beispiel) = [mappe1.xls]Tabelle1!$A$1 angegeben wird. Beispiel: Bei einer Auftragsverwaltung werden die Artikelpreise in einer Datei preise.xls gespeichert. Die Artikelbezeichnungen sollen in A4:A100 und die Einzelpreise in C4:C100 stehen. In der Rechnungserstellung in der Datei auftrag.xls soll dann der Einzelpreis aufgrund der Artikelbezeichnung in der Spalte B (z.B. in B20) mittels einer Formel mit sverweis aus preise.xls gesucht werden: = sverweis(B20;[preise.xls]Tabelle1!A2:C100;3) Der Einzelpreis steht in der 3. Spalte der Matrix A4:C100. Falls die Preise in einer weiteren Tabelle mit Namen "PreiseDB" derselben Arbeitsmappe stehen, wird über = sverweis(B20;PreiseDB!A2:C100;3) auf die Preise zugegriffen. In beiden Fällen wird die Nutzung eines Bereichsnamens empfohlen. Zellen/Datei schützen Mit dem Menüpunkt Extras+Dokument schützen werden Dokumente (Arbeitsmappen oder Blätter) geschützt. Damit können Änderungen an Daten, Formeln und Formaten eines Dokuments verhindert. Achtung: Wenn man das Kennwort vergessen hat, kann man den Dokumentschutz nicht aufheben. Der Menüpunkt Zellen+Schutz aus dem Menü Format bestimmt die Art des Zellschutzes für jede einzelne Zelle und schützt den Inhalt gesperrter Zellen vor Änderungen. Der Zellschutz wird erst wirksam, wenn das Dokument geschützt wird. Ein Kennwort kann bis zu 255 Zeichen lang sein und sich aus jeder Kombination von Zeichen, Zahlen und Buchstaben zusammensetzen. Kennwörter unterscheiden zwischen Groß- und Kleinschreibung und sind optional. Analysieren und Berechnen von Daten Mehrfachoperation mit einem oder zwei Eingabefeldern Durch eine Mehrfachoperation mit einem oder zwei Eingabefeldern kann man feststellen, wie sich die Änderung einer Zahl bzw. zweier Zahlen auf eine oder mehrere Formeln auswirkt. In dem folgenden Beispiel soll die monatliche Rückzahlung einer Hypothek (RMZ) abhängig von unterschiedlichen Zinssätzen und Laufzeiten ermittelt werden. A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 B C D E F Hypothekenanalyse Anzahlung Zinssatz Laufzeit Anleihebetrag 702,06 9,00% 9,25% 9,50% 9,75% 10,00% 180 811,41 823,35 835,38 847,49 859,68 keine 10% 360 80.000 = Spalten-Eingabefeld = Zeilen-Eingabefeld 240 719,78 732,69 745,70 758,81 772,02 300 671,36 685,11 698,96 712,91 726,96 360 643,70 658,14 672,68 687,32 702,06 420 627,19 642,20 657,29 672,47 687,74 In A9 steht die RMZ-Formel zur Berechnung der monatlichen Rückzahlung. Nachdem der Bereich A9:F14 markiert worden ist, kann mit Daten+Mehrfachoperation die Matrix ausgefüllt werden (Wert aus Zeile: C6; Wert aus Spalte: C5). Iteration zur Lösung einer Zirkelbezugsformel Wenn eine Formel direkt oder indirekt von dem Wert in der Zelle abhängt, in der die Formel steht, handelt es sich um einen Zirkelbezug. Eine solche Formel kann nur über eine Iteration (Extras+Optionen+Berechnen: Iteration: x) berechnet werden, wobei diese Iteration sooft wiederholt wird, bis eine bestimmte numerische Bedingung erfüllt ist. Beispiel: In der folgenden Tabelle soll der Bonus mittels Nettogewinn*10% und der Nettogewinn mittels Bruttogewinn-Bonus errechnet werden. Dann ist in B3 ein Zirkelbezug, der iterativ ermittelt werden kann. 1 2 3 A Bruttogewinn Nettogewinn Bonus B 1.000,00 909,09 90,91 Weitere Methoden zur Analyse von Tabellendaten Neben der Mehrfachoperation stehen weitere Analyse-Methoden in Excel zur Verfügung. Zielwertsuche Mit der Zielwertsuche kann der Eingabewert einer Formel solange verändert werden, bis die Formel ein gewünschtes Ergebnis liefert. Als Beispiel sollen die monatlichen Verkaufszahlen bei vorgegebenem Verkaufspreis, Einkaufspreis und Gemeinkosten/Monat ermittelt werden, wobei die anvisierte Gewinnspanne 8% sein soll. Aus der Gleichung n*(VP-EP)-GK = GS*n*(VP-EP) ergibt sich die Formel in C5 GS = 1 - GK/(n*(VP-EP)) A 1 2 3 4 5 6 B Verkaufspreis (VP) Einkaufspreis (EP) Gemeinkosten/Monat (GK) Gewinnspanne (GS) Verkaufszahlen/Monat (n) C 130 DM 90 DM 2.580 DM 8% 70 D E = 1-C4/(C6*(C2-C3)) = veränderbare Zelle Um die Zielwertsuche (Menü Formel) durchzuführen, muß die Zielzelle ausgewählt werden. Der Zielwert ist entsprechend einzugeben. Excel-Solver Mit dem Solver können Optimierungen mit Nebenbedingungen durchgeführt werden. Dabei werden die Zielzelle, der Bereich der Nebenbedingungen und der Bereich veränderbarer Zellen angegeben. Letztere werden solange verändert, bis das Optimum erreicht ist. Nach Vorgabe der Definitionen kann das Optimierungsproblem gelöst werden. Der Lösungsvorgang kann gesteuert werden, indem eine maximale Zeit zur Berechnung der Lösung, eine max. Anzahl Iterationsschritte, eine minimale Genauigkeit oder ein Toleranzwert vorgegeben werden. Nachdem eine Lösung gefunden worden ist, können zusätzliche Informationen den vom Solver erzeugten Berichten entnommen werden. Beipiele dazu sind in beispiel\solver enthalten. Ggfs. ist der Add-In Solver zu aktivieren (Extras + Add-Ins-Manager) "Was-wäre-wenn"-Analyse und Szenario-Manager Mit dem Menüpunkt Extras+Scenario-Manager können "Was-wäre-wenn"-Analysen durchgeführt werden. Damit können in einer Datentabelle verschiedene Eingabewerte zur Berechnung von Ergebnissen in mehreren Formeln gehalten werden. Mit dem ScenarioManager können bestimmte Sätze von Eingabewerten als benannte Scenarien gespeichert werden. Beispiel für eine "Was-wäre-wenn"-Analyse: Es sollen aus einem Zinssatz und einem Anzahlungswert die monatlichen Raten für ein Darlehen berechnet werden. Um herauszufinden, wie sich die Raten bei mehreren Zinssätzen und unterschiedlichen Anzahlungsbeträgen ändern, kann mit der "Was-wäre-wenn"-Analyse rasch durch alle Kombinationen von Zinssätzen und Anzahlungswerten gegangen werden. Pivot-Tabelle Mit dem Menüpunkt Daten+Pivot-Tabelle (sinnvoll mit Ansicht+Symbolleisten+Pivottabelle) können Pivot-Tabellen erstellt werden. Mit einer Pivot-Tabelle können Daten, die i.a. in einer Datenbank vorliegen, detailliert analysiert werden. Z.B. können Umsätze nach Regionen, Produkten, Zeitdimensionen usw. aufgeschlüsselt angezeigt werden, wobei dynamisch kleinere Einheiten ausgewählt werden können (”drill down”). Beispiel: siehe pivot.xls Tabellen-Anwendung Aufbau einer Tabellen-Anwendung Bevor damit begonnen wird, eine Tabelle bzw. eine Tabellen-Anwendung zu erstellen, sollten einige grundlegende Überlegungen hinsichtlich des Tabellen-Layouts, der Benutzerführung und der Anwendungsstruktur angestellt werden. Beim Tabellen-Layout muß festgelegt werden, wohin die einzelnen Teilbereiche (z.B. Datenbank, Diagramm usw.) plaziert werden sollen, um die Tabelle übersichtlich und änderungsfreundlich zu halten. Die Lage von Bereichen kann zwar nachträglich relativ einfach verändert werden; gelegentlich entsteht dabei aber erheblicher Zusatzaufwand, wenn beim Ändern des Layouts Formeln oder andere Bereiche manuell überarbeitet werden müssen. Es sollen folgende Dinge berücksichtigt werden: welche Teilbereiche werden benötigt soll eine Datenbank angelegt werden; diese kann nur nach unten wachsen sollen Daten in einer 2./3./... Tabelle gehalten werden, z.B. eine weitere Datenbank welche Bereiche sollen gedruckt werden; evtl. eigenen Druckbereich definieren werden feste Konstante verwendet, z.B. die MWSt sollen Zellen versteckt werden wie sollen besondere Zellen hervorgehoben werden (Schriftart, Rahmen) Gerade bei einer Tabellenkalkulation kommt es häufig vor, daß Daten zu aussagefähigen Informationen verdichtet werden sollen. Dann empfiehlt sich eine Verdichtung von unten nach oben, d.h. im oberen Bereich der Tabelle stehen die verdichteten Daten. Bei größeren Tabellen kann die Verdichtung auch in eine weitere Tabelle verlagert werden. Selbst bei einfachen Tabellen sollte die Benutzerführung Fehlbedienung bereits weitgehend ausschließen. Dies gilt besonders dann, wenn die Tabellen längerfristig oder von anderen Benutzern verwendet werden soll. Besonders zu beachten sind: in welche Zellen soll der Benutzer Daten eingeben; wo stehen die Führungstexte wie und wo werden komplexere Formeln o.ä. dokumentiert sollen Felder, die der Benutzer nicht verändern darf (z.B. Formelfelder) geschützt werden Falls immer wiederkehrende Tätigkeiten in der Tabelle durchgeführt werden sollen, falls die Bedienerführung weiter verbessert werden soll (Auswahl von Datenbanken, Auswahl von Druckbereichen, Menüsteuerung, Eingabedialoge, benutzerdefinierte Hilfetexte, benutzerdefinierte Symbole oder Anwahl-Buttons) oder falls benutzerspezifischen Funktionen benötigt werden, sollen Makros eingesetzt werden. Makros können einerseits als Folge von Benutzeraktivitäten aufgezeichnet und bei Bedarf jederzeit abgerufen werden. Andererseits können sie auch programmiert werden, was jedoch grundlegende Kenntnisse in der Programmierung von Anwendungen erfordert. Mit der Programmierung in Visual Basic steht ein großes Repertoire an Möglichkeiten zur Erstellung von richtigen Anwendungen zur Verfügung. Bevor eine eigene Tabellen-Anwendung erstellt werden soll, sollte diese sorgfältig geplant werden. Hier können grundsätzlich ähnliche Vorarbeiten geleistet werden, wie bei der Erstellung einer Anwendung in einer Programmiersprache. Funktionalität der Anwendung und zielgruppenorientierte Benutzerschnittstelle sind vor der Erstellung der Anwendung festzulegen. Weiterhin sollte der Entwurf der Anwendung (Strukturierung, Ablaufdiagramme) und die Planung des Tests (Testfälle) sorgfältig durchgeführt werden. Die Tabelle selbst ist Teil der Benutzeroberfläche oder, falls der Benutzer die Tabelle nicht mehr sehen soll, eine strukturierte Datenbasis mit Daten und Formeln. Beispieldateien: auftrag.xls, lohn.xls, umsatz4.xls, excbei.xls Gestaltung der Benutzeroberfläche Individuelle Symbolleisten Die Symbolleisten können einzeln oder zu mehreren eingeblendet bzw. ausgeblendet werden (Menü Optionen). Sie sind beliebig auf dem Bildschirm anordbar. Es können auch einzelne Symbole umgruppiert werden, bzw. neue, benutzerdefinierte zu vorhandenen Symbolleisten hinzugefügt werden. Dazu werden die Symbole mit der Maus verschoben, während das Menü Optionen+Symbolleisten geöffnet ist. Schaltelemente Über das entsprechende Symbol für Schaltelemente (Symbolleiste Zeichnen) kann ein Schaltelement für das Starten eines Makros in der Tabelle abgelegt werden. Mit der StrgTaste und Maus kann das Schaltelement verändert werden. Individuelle Menüleisten Die Menüleisten können mit dem Menü-Editor (Menüpunkt Extras) individuell zusammengestellt werden, wobei auch aufgezeichnete Makros oder benutzerspezifische Funktionen und Prozeduren den Menüpunkten zugeordnet werden können. Aufzeichnen von Makros Gleiche Arbeiten in Tabellen, die immer wieder erledigt werden müssen, können als Makro aufgezeichnet und danach jederzeit wiederholt werden, indem das Makro ausgeführt wird. Beispiele sind die Makros zum Sortieren und Unsortieren einer Namensliste. Es kann mit relativen (relativ zur Position des Feldcursors) oder absoluten Zellbezügen gearbeitet werden. Ein Makro kann als Modul im Einzelschritt getestet werden. Dazu werden die betreffenden Symbole in der Visual Basic-Symbolleiste genutzt. Benutzerdefinierte Funktionen und Prozeduren Mit Hilfe von Visual Basic kann eine benutzerdefinierte Tabellenfunktion erstellt werden, die einen ermittelten Wert liefert. Sie kann in Formeln wie eine Standardfunktion benutzt werden. Ebenso kann eine Prozedur erstellt werden, die bestimmte Aktivitäten durchführt, z.B. durch Weiterentwicklung eines aufgezeichneten Makros. Beispiel: Funktion Reingewinn im Modul Gewinn. Function Reingewinn(Stückzahl, Kosten, Preis, Steuersatz) Dim Bruttogewinn As Double If Stückzahl < 0 Or Kosten < 0 Or Preis < 0 Then Reingewinn = 0 Else Bruttogewinn = Stückzahl * (Preis - Kosten) Reingewinn = Bruttogewinn * (1 - Steuersatz) End If End Function Formulare Formulare dienen zur Eingabe von Daten mittels zusätzlicher Eingabehilfen wie Textfelder, Listenelemente, Schaltflächen, Kontrollkästchen, Options(-gruppen-)felder u.a.. Bestimmte Aktionen können beim Auftreten von sogen. Ergeignissen mittels Visual Basic programmiert werden. Damit kann man z.B. einen eingegebenen Wert überprüfen, um dem Benutzer ggfs. eine geeignete Meldung anzuzeigen. Weitere Details siehe unter der Online-Hilfe / Inhalt / Erstellen von Formularen Anhang Grundelemente von Excel Add-Ins Es können diverse Add-Ins aktiviert werden. Mit einem Add-In steht ein weiterer Funktionsbereich zur Verfügung: Arbeitsblatt kann von folgendem Typ sein: - Tabelle - Diagramm - Dialog Arbeitsmappe Eine Arbeitsmappe enthält 1 oder mehrere Arbeitsblätter. Damit kann eine komplette Arbeitsumgebung als ganzes gespeichert oder geöffnet werden. Array Ein Array dient zum Aufbau von Formeln, die auf eine Gruppe von Argumenten wirken, die in Zeilen oder Spalten angeordnet sind. Assistent Zu einigen komplexeren Vorgängen existieren Assistenten, die den Benutzer beim Erstellen unterstützen. Beipiel: der Pivot-Tabellen-Assisten Ausschnitt Ein Arbeitsblatt kann im Fesnter vertikal und/oder horizontal unterteilt werden, so daß bis zu 4 Ausschnitte entstehen. Benutzerdef. Funktion wird mit einem Visual Basic Modul erstellt. Dabei werden Formeln und eingebaute Funktionen zu einer neuen Funktion kombiniert. Eine solche Funktion wird genauso verwendet wie eine eingebaute, z.B. wie SUMME. Es müssen folgende Elemente festgelegt werden: Argumente der Funktion Formeln der Funktion Ergebniswert der Funktion Benutzerdef. Hilfe Der Benutzer kann zu benutzerdefinierten Dialogfeldern, Menüs, Befehlen oder Meldungen eigene Hilfe-Informationen erstellen und anzeigen. Bereich Ein rechteckiger Teil einer Tabelle kann als Bereich (Array, Matrix) definiert werden. Dies geschieht durch Angabe der linken oberen und der rechten unteren Zelle, getrennt durch einen ":", z.B. B4:E7. D:D ist ein Bezug auf die ganze Spalte D, 3:5 auf die Zeilen 3 bis 5 und A:IV oder 1:16384 auf die ganze Tabelle. Bezug Ein Zell- oder Bereichsbezug in einer Formel besagt, daß die betreffende Zelle oder ihr Wert bzw. der Bereich in der Formel eingesetzt werden soll. Bezüge zu Zellen in anderen Tabellen werden "externe Bezüge" genannt. Es gibt zwei Grundtypen von Bezügen: relativer Bezug, z.B. D5 absoluter Bezug, z.B. $D$5 Ein relativer Bezug in einer Formel wird beim Kopieren der Formel entsprechend der neuen Lage der Formelkopie in der Tabelle automatisch abgeändert. Ein absoluter Bezug wird dagegen beim Kopieren nicht verändert. Neben der o.g. Bezugsdarstellung kann noch die Z1S1-Schreibweise benutzt werden. Sie eignet sich besonders in Makros oder um Zellen über ihren Abstand von der aktiven Zelle anzusprechen. Dabei entspricht z.B. Z5S4 dem absoluten Bezug $D$5 (5. Zeile 4. Spalte = D-Spalte). Mit Z(2)S(3) dagegen wird ein zur aktiven Zelle relativer Bezug angegeben: hier auf die Zelle, die sich 2 Zeilen weiter rechts und 3 Spalten weiter unten befindet. Mit Z(-2)S(3) wird die Zelle 2 Zeilen zurück und 3 Spalten weiter angesprochen, mit Z(2)S die Zelle 2 Zeilen weiter und gleiche Spalte. Mit Z(-1) wird z.B. die ganze Zeile oberhalb der aktiven Zelle angeprochen. Datenbank siehe Liste / Datenbank DDE, OLE DDE (Dynamic Data Exchange) ermöglich den statischen oder dynamischen Austausch von Daten zwischen Excel und anderen Windows-Programmen. Die einfachste Art, Daten mit anderen Tabellen oder anderen WindowsAnwendungen auszutauschen, ist die Benutzung der Zwischenablage: Daten markieren, kopieren, einfügen. Dabei werden die betreffenden Daten in dem aktuellen Zustand in die Excel-Tabelle eingefügt bzw. von der ExcelTabelle in die andere Anwendung übertragen. Sollen dagegen die jeweils aktuellen Daten in einer Tabelle benutzt werden, muß das OLE (Object Linking and Embedding = Objekte verknüpfen und einbetten) benutzt werden. Dazu werden die Daten nach dem Markieren und Kopieren mittels Verknüpfung einfügen bzw. Inhalte einfügen in die Zieltabelle eingefügt. Die Zieltabelle (abhängige Datei) enthält damit einen Fernbezug auf die Quelldatei. DDE kann auch in Makros verwendet werden. Dazu wird ein Kanal zu der betreffenden Anwendung eröffnet, über den Daten gesendet oder angefordert werden. Dabei ist ggfs. das entsprechende Kommando dieser Anwendung, z.B. ein SQL-SELECT, mitzuliefern. Diagramm Daten in der Tabelle können mit Hilfe eines Diagramms grafisch visualisiert werden. Dazu sind viele Darstellungsmöglichkeiten auswählbar (Säulen, Linien, Kreise, 3D-Säulen u.a.). Die Beschriftungen der Achsen sowie die Legende werden automatisch erstellt und können individuell abgeändert werden. Mehrere Diagramme können überlagert werden. Dialogfeld Neben einem einfachen Eingabefeld kann ein komplexes Dialogfeld für den Benutzerdialog erstellt werden. Diaschau Mit Excel kann eine Diaschau aus Tabellen, Diagrammen und Grafiken zusammengestellt werden. Dabei lassen sich Überblendeffekte, die Geschwindigkeit des Übergangs, die Art des Bildwechsels und Toneffekte (nur mit der Multimedia Extension und geeigneten Wiedergabegeräten) festlegen. Es wird das Add-In für die Bearbeitung von Dias benötigt. DLL Eine dynamisch verknüpfte Bibliothek (DLL = Dynamic Link Library) ist eine Gruppe von Funktionen, die in C, Pascal oder Fortran geschrieben ist. Eine solche Funktion kann in einem Makro aufgerufen werden. Fenster Ein Windows-Fenster zur Darstellung eines Arbeitsblatts. Fehler Falls Fehler auftreten, werden sie angzeigt bzw. können mittels Formeln abgefragt und behandelt werden. Anzeige #DIV/0! #NV #Name? #NULL! #ZAHL! Bedeutung Division durch 0 Kein Wert verfügbar Unbekannter Name Leere Schnittmenge zweier Bereiche Es besteht ein Problem mit einer Zahl #BEZUG! #WERT! Bezug auf unzulässige Zelle Falscher Arguments- oder Operandentyp Filter dient zur Auswahl von bestimmten Daten aus einer Liste/Datenbank Formel Eine Formel verbindet Werte mit Operatoren, um dadurch einen neuen Wert zu erzeugen. Das Berechnen der Ergebnisse aller Zellen mit Formeln geschieht automatisch immer dann, wenn der Benutzer einen Wert in die Tabelle eingibt oder ein Makro startet, das auf der Tabelle arbeitet. Eine Formel kann Konstanten, mathematische Verknüpfungen, Funktionen und Zellbezüge auf andere Zellen enthalten. Beispiel: =(3*D5+D6)/$A$2+SUMME(E7:H7) Array-Formeln erzeugen aus einer Gruppe von Argumenten mehrere Werte. Funktion Eine (eingebaute) Funktion liefert einen (oder mehrere) Wert(e) als Folge einer Operation auf einem (oder mehreren) Argument(en). Beispiel: Für =A1+A2+A3+A4 kann auch die Funktion =SUMME(A1:A4) verwendet werden. Der Benutzer kann eigene benutzerdefinierte Funktionen mit Hilfe von Visual Basic-Moduln schreiben. Grafikobjekt In einer Tabelle können Grafikobjekte gezeichnet werden. Dazu stehen Zeichenfunktionen für Linien, Ellipsen/Kreise, Rechtecke/Quadrate, Bögen, Vielecke und Pfeile zur Verfügung, sobald die entsprechende Symbolleiste mit eingeblendet wird. Es können die üblichen Bearbeitungsfunktionen für die erstellten Objekte (Markieren, Kopieren, Verschieben, Vergrößern/Verkleinern, Löschen, In Vordergrund/Hintergrund stellen, Gruppieren, Formatieren, Ausblenden, Füllmuster u.a.) angewendet werden. Es können externe Bilder (Diagramme, Grafiken von anderen Grafikprogrammen) in einer Tabelle positioniert werden. Liste / Datenbank Ein Bereich der Tabelle kann als Liste (ehem. Datenbank) definiert werden. Mit einer Eingabe-Maske können Datensätze (Zeilen) der Liste geändert, gelöscht, hinzugefügt, sortiert oder über spezielle Suchkriterien gesucht werden. Dem Tabellenkopf der Liste werden automatisch die Führungstexte der Maske entnommen. Daten in einer Liste können sortiert, gefiltert, analysiert, konsolidiert und in Kreuztabellen dargestellt werden. Makro Ein Makro ist ein Visual Basic-Modul, das per Aufzeichnung einer manual durchgeführten Menge von Aktivitäten erstellt wird. Ein Makro kann dann beliebig oft ausgeführt werden, um die betreffenden Aktivitäten zu wiederholen. Damit kann man häufig auszuführende Aufgaben automatisieren. Makros können über ihren Namen, ein Tastenkürzel, eine Schaltfläche, ein Symbol oder ein Grafikobjekt aufgerufen werden. Ein Makro kann auch automatisch ausgeführt werden, wenn ein bestimmtes Ereignis eintritt, z.B. ein bestimmtes Dokument geöffnet wird, eine bestimmte Taste gedrückt wird usw. Ein Makro wird als Visual Basic-Modul (Sub) in einem neuen Arbeitsblatt der Arbeitsmappe gespeichert. Es kann als Modul weiterbearbeitet (programmiert) werden. Zum Testen kann ein Makro auch im Einzelschritt ausgeführt werden. Maske Eingabe von Daten in eine Liste/Datenbank über eine Standard-Maske Menü Es können benutzerdefinierte Menüleisten angelegt werden. Modul Ab Excel 5.0 steht Visual Basic als eingebettete Programmiersprache zur Verfügung. Damit können Makros aufgezeichnet sowie benutzerdefinierte Funktionen oder Prozeduren programmiert werden. Zum Testen eines Moduls stehen die Test- und Debug-Funktionen zur Verfügung. Name Für eine Zelle oder einen Bereich kann ein Name zur Benutzung in Formeln definiert werden. Ein Name muß im Arbeitsblatt eindeutig sein. ODBC Open Database Connectivity. Damit kann über eine Standard-Schnitstelle auf Daten in Fremdformaten zugegriffen werden (kein Import!). Beispiel: Zugriff auf ORACLE-Daten. OLE siehe DDE / OLE Online-Hilfe Über das Symbol "?" in der Menüleiste steht eine umfangreiche und kontextsensitive Online-Hilfe zur Verfügung. Diese ist als Hypertext organisiert, so daß direkt zu verwandten Themen weiterverzweigt werden kann. Operatoren In einer Formel sind folgende Operatoren einsetzbar, wobei die angegebene Reihenfolge der Priorität der Ausführung (zuerst höchste Prio) entspricht; mit Klammern wird die Priorität verändert: Operator : Leerzeichen ; % ^ * bzw. / + bzw. & = < > <= >= <> Beschreibung Bereich Schnittmenge Vereinigung Negation (nur 1 Operand) Prozent Exponentialrechnung Multiplikation bzw. Division Addition bzw. Subtraktion Textzusammenfassung Vergleich Pivot-Tabelle Auf Basis einer Datenbank können Daten zwecks besserer Übersicht komprimiert dargestellt und nach unterschiedlichen Aspekten analysiert werden. Query Mit diesem Tool können komplexe Abfragen auf zu importierende Daten anderer Datenbanken (MS Access, dBASE) erstellt werden. Tabelle Eine Tabelle ist ein rechteckiger Speicher zur Aufnahme von Daten und Formeln. Sie besteht aus n Zeilen und m Spalten, wobei die Zeilen mit 1, 2, 3, ... und die Spalten mit A, B, C, ... durchnumeriert sind. Text In einer Zelle kann Text einfach eingegeben werden, während er in einer Formel mit "" eingeschlossen werden muß, z.B. = "Text” Umwandlung Excel wandelt ggfs. automatisch Werte um, soweit dies möglich ist. Dabei wird immer in den Wert umgewandelt, der an der betreffenden Stelle in der Formel erwartet wird. Zahl Für Zahlen können viele Darstellungsformen ausgewählt werden, u.a.: Gruppe Alle Zahl Währung Prozent Bruch Wissenschaft Datum Format Standard 0 0,00 #.##0,00 #.##0,00 DM;-#.##0,00 DM 0% 0,00% # ?/? # ??/?? 0,00E+00 T.M.JJ Anzeige 17,5 18 17,50 17,50 17,50 DM 17% 17,50% 17 1/2 17 1/2 17,50E+00 4.8.92 Uhrzeit Zelle Zelle T.MMM JJ h:mm [ROT] 4.Aug 92 20:50 rote Zeichen in der Zelle Eine Zelle ist das kleinste Element der Tabelle und befindet sich im Schnittpunkt einer Zeile mit einer Spalte. Die betreffenden Koordinaten dienen zum Anprechen der Zelle und werden Bezug genannt, z.B. D5. Eine Zelle kann enthalten: eine Zahl mit einem bestimmten Format einen Text eine Formel, die mit "=" eingeleitet wird. Eine Zelle, die eine Zahl oder einen Text enthält, kann mit einer Variablen einer Programmiersprache verglichen werden; mit einer Formel enthält sie dagegen eine Rechen- oder Verarbeitungsvorschrift.