Wenn die Meldung erscheint „Das Dateiformat und die Dateierweiterung von 'Loading' passen nicht zueinander…“, kann das an einem geladenen Add-In liegen, das sich nicht mit Excel oder der aktuellen Excel-Version verträgt.
Lösung: Auf Registerkarte „Entwicklertools“ in der Gruppe „Add-Ins“ die Add-Ins der Reihe nach ausschalten und Excel jedes Mal beenden und erneut starten, bis das Add-In gefunden wurde, das die Probleme verursacht hat. Kutools for Excel kann z.B. die Quelle solcher Probleme sein.
Syntax: =Filter(array;include;(if_empty))
Mehr Information: „Dynamic Arrays“ auf Site https://www.excelyourself.com.au
Es gibt im Grunde 3 Fälle: der Bedingungswert steht
Man kann für eine Zelle oder einen Zellbereich beliebig viele Bedingungen gleichzeitig definieren. Sie werden in der Reihenfolge, wie sie definiert wurden, von Excel verwaltet und zur Formatierung angewendet.
Um die definierten Regeln zu sehen und ggf. zu bearbeiten, Menüband <Bedingte Formatierung - Regeln verwalten> aufrufen. Es geht ein Fenster auf, in dem die Regeln editiert werden können und die Reihenfolge geändert werden kann. Hier lässt sich z.B. auch der Bereich ändern, der formatiert werden soll: einfach bei „Wird angewendet auf“ die Werte ändern. Soll eine Regel nicht verwendet werden (aber trotzdem erhalten bleiben), so kann sie druch Setzen eines Häkchens „angehalten“ werden.
Falls die Regeln nicht zu sehen sind, muss evtl. „Formatierungsregeln anzeigen für“ auf „Dieses Arbeitsblatt“ eingestellt werden.
Auf diese Weise kann z.B. auch das „Persönliche Arbeitsblatt“ zum Vorschein geholt werden, in dem man aufgezeichnete Makros abgelegt hat.
Funktion | Erläuterung |
---|---|
ASC | Ändert lateinische Buchstaben mit voller Breite (Double-Byte) oder Katakana in einer Zeichenfolge in Zeichen mit halber Breite (Single-Byte) |
BAHTTEXT | Wandelt eine Zahl in einen Text um und verwendet dabei das Währungsformat ß (Baht) |
CODE | Gibt die Codezahl des ersten Zeichens in einer Textzeichenfolge zurück |
DM | Wandelt eine Zahl in Text um, wobei das Währungsformat DM verwendet wird |
ERSETZEN | Ersetzt Zeichen in einem Text ab einer angegebenen Position; die Position kann mit der Finden- oder der Suchen-Funktion ermittelt werden |
FEST | Formatiert eine Zahl als Text, wobei eine feste Anzahl von Dezimalstellen verwendet wird |
FINDEN | Sucht eine Textzeichenfolge in einem anderen Text (mit Unterscheidung von Groß-/Kleinschreibung) und gibt die Position des ersten Zeichens der Zeichenfolge zurück; wichtig als Vorbereitung für die Ersetzen-Funktion; kann auch dazu dienen, Muster zu finden: Muster vorhanden, wenn die Finden-Funktion einen Wert > 0 liefert; falls Muster nicht vorhanden, wird die Fehlermeldung !Wert) ausgegeben; die Finden-Funktion kann also dazu dienen, herauszufinden, ob eine Zeichenfolge in einer Zelle enthalten ist oder nicht. |
GLÄTTEN | Entfernt Leerzeichen aus Text, aber nur die, die am Anfang oder Ende stehen; die Leerzeichen zwischen Wörtern bleiben erhalten |
GROSS | Wandelt Text in Großbuchstaben um |
GROSS2 | Wandelt jeden ersten Buchstaben in jedem Wort eines Textwertes in Großbuchstaben um |
IDENTISCH | Prüft, ob zwei Textwerte identisch sind |
JIS | Ändert lateinische Buchstaben mit halber Breite (Single-Byte) oder Katakana in einer Zeichenfolge in Zeichen mit voller Breite (Double-Byte) |
KLEIN | Wandelt Text in Kleinbuchstaben um |
LÄNGE | Gibt die Anzahl von Zeichen in einer Zeichenfolge zurück |
LINKS | Gibt das linke Zeichen eines Textwertes zurück |
PHONETIC | Extrahiert die phonetischen (Furigana) Zeichen aus einer Textzeichenfolge |
RECHTS | Gibt die rechten Zeichen eines Textwertes zurück |
SÄUBERN | Löscht alle nicht druckbaren Zeichen aus einem Text |
SUCHEN | Sucht einen Textzeichenfolge in einem anderen Text (ohne Unterscheidung von Groß-/Kleinschreibung) und gibt die Position des ersten Zeichens der Zeichenfolge zurück; wichtig als Vorbereitung für die Ersetzen-Funktion; kann auch dazu dienen, Muster zu finden (Muster nicht vorhanden, wenn Fehlermeldung !Wert) |
T | Wandelt die Argumente in Text um |
TEIL | Liefert eine bestimmte Anzahl Zeichen einer Zeichenfolge ab der von Ihnen bestimmten Stelle |
TEXT | Formatiert eine Zahl und wandelt sie in Text um |
VERKETTEN | Verknüpft mehrere Textelemente zu einem Textelement; kann anstelle des Verkettungszeichens & verwendet werden |
WECHSELN | Ersetzt in einer Textzeichenfolge alten Text durch neuen Text, ohne dass die Position des Textes angegeben werden muss |
WERT | Wandelt ein Textargument in eine Zahl um |
WIEDERHOLEN | Wiederholt einen Text so oft wie angegeben |
ZEICHEN | Gibt das durch die Codezahl angegebene Zeichen zurück |
Mit den Verweisfunktionen lassen sich auf flexible und einfache Weise Daten aus anderen Bereichen derselben Tabelle oder aus anderen Tabellen „holen“.
Man kann Verweisfunktionen als eine bestimmte Art von Suche auffassen.
Benötigt werden v.a. zwei Zellen:
Darüber hinaus wird eine Bereichsangabe benötigt, denn Excel muss wissen, wo es suchen soll. Der Suchbereich muss auf eine bestimmte Weise aufgebaut sein, sonst funktionieren die Verweisfunktionen nicht. Das wichtigste Kriterium für den Suchbereich:
Das heißt umgekehrt:
Sind alle Kriterien erfüllt, kann man den Suchbegriff in die entsprechende Zelle eingeben mit dem Effekt, dass Excel in der Eindeutigkeits/Sortiert-Spalte/Zeile des Suchbereichs danach sucht und bei Erfolg einen Wert liefert. Welchen Wert? Das hängt davon ab, was man in der Verweisfunktion mit einem weiteren Parameter, dem sog. Spalten- oder Zeilenindex, fordert:
Beim Spalten- oder Zeilenindex handelt es sich einfach um eine Zahl.
Spalten/Zeilen-Index 1 bedeutet z. B., dass Excel den Suchbegriff in der Eindeutigkeits/Sortiert-Spalte/Zeile des Suchbereichs sucht und - falls gefunden - einfach wieder zurückgibt. Das wäre nur eine Bestätigung dafür, dass der Begriff in der Eindeutigkeits/Sortiert-Spalte/Zeile des Suchbereichs enthalten ist. Trotzdem kann auch eine solche Suche schon sinnvoll sein, nämlich dann, wenn eine sehr große Tabelle vorliegt und man, ohne den aktuellen Arbeitsblattbereich verlassen zu müssen, prüfen kann, ob der Begriff in der Tabelle vorkommt.
Meist wird es aber um ein anderes Ansinnen gehen, nämlich einen Wert zu holen, der innerhalb des Suchbereichs
„Andere“ Spalte/Zeile heißt nichts anderes, als dass der Spalten- oder Zeilenindex eine andere Nummer als 1 haben muss, also z. B. 3.
Ein typisches Beispiel ist die Eingabe einer Kundennummer in die Suchzelle, und in der Zelle daneben wird per Verweisfunktion z. B. der Nachname des Kunden geholt. Geholt wird er von einem zweiten Arbeitsblatt, das alle Kundendaten enthält, wobei in der ersten Spalte des Blattes die Kundennummern stehen (und zwar numerisch sortiert), in der 3. Spalte die Nachnamen. Das heißt, ohne das Arbeitsblatt wechseln zu müssen, kann ich den korrekten Nachnamen anzeigen lassen. Sobald in die Suchzelle eine andere (vorhandene) Nummer eingetippt wird, erscheint daneben der zugehörige andere Nachname.
Die beiden wichtigsten Verweisfunktionen sind WVerweis und SVerweis (englisch HLookup und VLookup).
Syntax der beiden Verweisfunktionen:
= WVerweis(<Suchbegriff>;<Suchbereich>;Zeilenindex>)
= SVerweis(<Suchbegriff>;<Suchbereich>;Spaltenindex>)
Hinweis: In den meisten Excel-Anleitungen wird von „Suchkriterium“ anstatt von „Suchbegriff gesprochen.
Die Tatsache, dass die Eindeutigkeits/Sortiert-Spalte/Zeile immer die erste Spalte/Zeile sein muss, bedeutet, das der Spalten/Zeilen-Index nicht 0 oder < 0 sein kann!
Wenn man möchte, kann man das Ergebnis noch „verschönern“, indem man als vierten Parameter „falsch“ oder „wahr“ eintippt. Lässt man diese Eingabe weg, nimmt Excel als Default-Wert „wahr“. „Falsch“ führt dazu, nur im Falle einer exakten Übereinstimmung des Suchbegriffs mit einem Wert in der Eindeutigkeits/Sortiert-Spalte/Zeile des Suchbereichs überhaupt etwas Sinnvolles angezeigt wird; bei fehlender Übereinstimmung wird eine Fehlermeldung der Art „Wert!“, „NV“ oder Ähnliches angezeigt wird (vgl. unten Fehlermeldungen und Fehlertypen). Bei Eingabe von „wahr“ (oder gar keiner Eingabe) wird bei Nichtübereinstimmung irgendein Wert aus dem Suchbereich geholt, was aber nur in bstimmen Situationen etwas bringen dürfte. Das heißt, klare Ergebnisse erhält man nur bei Eingabe von „falsch“. Die komplette Syntax z. b. der SVerweis-Funktion wäre also:
= SVerweis(<Suchbegriff>;<Suchbereich>;<Spaltenindex>;falsch)
Was ist, wenn aus irgendeinem Grund die Eindeutigkeits/Sortiert-Spalte/Zeile nicht die erste Spalte/Zeile des Suchbereichs ist und man die Anordnung nicht ohne Weiteres verändern kann?
Dann lassen sich SVerweis und WVerweis nicht anwenden!
Um trotzdem Werte aus dem Suchbereich holen zu können, bietet die Excel eine Funktion an, die einfach nur Verweis heißt. Darin muss der Nutzer selbst angeben, ob waagerecht oder senkrecht gesucht werden soll; darüber hinaus sind beliebige Spaltenindizes möglich.
Die Syntax des Verweis-Feldes lautet:
=Verweis(<Suchbegriff>,<Suchvektor>,<Ergebnisvektor>)
Wenn Excel nun im Suchvektor den Suchbegriff findet, sind damit die Koordinaten der Findezelle bekannt. Handelt es sich um einen Spaltenvektor, geht Excel mit der Zeilenkoordinate der Findezelle hinüber zum Ergebnisvektor und holt dort den Wert, der angezeigt werden soll; handelt es sich dagegen um einen Zeilenvektor, nimmt Excel die Spaltenkoordinate und geht hinauf oder hinunter zum Ergebnisvektor und holt dort den Anzeigewert.
Da der Ergebnisvektor an beliebiger Stelle innerhalb des Gesamtsuchbereichs liegen kann, ist in diesem Sinne der Spaltenindex ebenfalls beliebig. Eine konkrete Angabe des Spaltenindex kann damit aber entfallen.
Der Gesamtsuchbereich bietet mehrere Möglichkeiten, Ergebnisvektoren festzulegen. Sie müssen lediglich immer parallel zu den Suchvektoren sein. Wegen der Vielzahl der möglichen Ergebnisvektoren hat man es also mit einer Ergebnismatrix zu tun.
Weil dem so ist, bietet Excel noch eine zweite, allgemeinere Möglichkeit für die Verweisfunktion an: Man lässt einfach die separate Angabe von Such- und Ergebnisvektor weg und gibt nur die Matrix an! Die Syntax wäre:
=Verweis(<Suchbegriff>,<Matrix>)
Dann weiß Excel natürlich nicht mehr genau, was es tun soll, aber es scheint Situationen zu geben, in denen diese Unschärfe zum Produzieren sinnvoller Ergebnisse ausreicht. Es scheint so zu sein, dass sich Excel am Aufbau der Matrix orientiert: Gibt es mehr Zeilen als Spalten, wendet Excel einen Suchvektor in waagerechter Richtung an und umgekehrt. Als Ergebnisvektor wird immer die letzte Zeile oder Spalte der Matrix genommen.
Neben der Funktion „Verweis“ sind noch die Funktionen „Vergleich“ und „Index“ erwähnenswert.
Die Vergleichsfunktion liefert nicht direkt einen Wert, der in einem Suchbereich enthalten sind, sondern dessen Koordinaten oder nur einfach eine Zahl (z. B. eine Zahl für die Spalte oder Zeile). Wichtig kann das z. B. sein, wenn man einen Spalten- oder Zeilenindex für die SVerweis- bzw. WVerweis-Funktion automatisch ermitteln lassen möchte.
Die Indexfunktion erwartet als Parameter neben dem Suchbegriff die Koordinaten des Wertes, der geholt werden soll. Die Koordinaten selbst können mit der Verweisfunktion bestimmt werden.
Sub verdoppeln_eintrag() ' ' verdoppeln_eintrag Makro ' ' ActiveCell.Rows("1:1").EntireRow.Select Selection.Insert Shift:=xlDown ActiveCell.Offset(1, 0).Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Selection.Copy ActiveCell.Offset(-1, 0).Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False End Sub
Sub swap() ' ' swap Makro ' Dim ht As String Dim ut As String ht = ActiveCell.Value ut = ActiveCell.Offset(0, 1).Value ActiveCell.Value = ut ActiveCell.Offset(0, 1).Value = ht End Sub
siehe Indexing. Dort geht es auch um die Konvertierung von alten Registern, die als Word- oder PDF-Dateien vorliegen.
Einige Aspekte (wie der Datenaustausch) werden bei den Programmen QuIndex und Cindex beschrieben.
Die in Excel relevanten Datentypen sind
Die Funktion T wandelt ein Argument in einen Text um. Zahlen werden in leere Zeichenfolgen umgewandelt. Die Funktionen N und WERT wandeln ein Argument in eine Zahl um. Für alphanumerische Zeichen liefert WERT einen Fehlerwert. N macht stattdessen eine 0 draus.
Die Funktionen TYP und FEHLER.TYP geben eine Ganzzahl zurück, die angibt, um welchen Datentyp bzw. Fehlertyp es sich bei dem Argument handelt. Der Fehler #WERT! hat z.B. den Fehlertyp 3.
Fehlermeldung | Fehlertyp-Nummer |
---|---|
#NULL! | 1 |
#DIV/0! | 2 |
#WERT! | 3 |
#BEZUG! | 4 |
#NAME? | 5 |
#ZAHL! | 6 |
#NV | 7 |
Sonstiges | #NV |
Eine ähnliche Aufgabe erfüllen die Funktionen ISTFEHL, ISTBEZUG, ISTFEHLER, ISTKTEXT, ISTLEER, ISTLOG, ISTNV, ISTTEXT und ISTZAHL. Das Ergebnis dieser Funktionen ist aber keine Ganzzahl, sondern ein boolescher Wert: WAHR oder FALSCH.
Sub Zeilenumbrueche() Cells.Replace What:="#", Replacement:=Chr$(13), _ LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False End Sub
Menü [Ansicht - Neues Fenster]
Damit wird das aktuelle Arbeitsblatt dupliziert, woraufhin der Name des Fensters am Ende eine „2“ erhält; es kann wie jedes andere Fenster auf dem Bildschirm an geordnet werden. Gut ist, dass „Nebeneinander anzeigen“ direkt als Funktion gewählt werden kann - das macht das Erreichen dieser Anordnung einfacher.
Es lassen Duplikate mehrerer Arbeitsblätter erzeugen (die Nummern im Fensternamen werden hochgezählt) und parallel anschauen.
Zweck von Pivot-Tabellen („Kreuztabellen“) ist es, Daten schnell gruppieren und umgruppieren zu können.
Um von der modernen zur klassischen Anordnung zu kommen, muss in den Pivot-Tabellen-Optionen auf dem Reiter Anzeige eine Einstellung vorgenommen werden, und zwar muss das entsprechende Häkchen gesetzt werden:
Nach OK werden die Daten nebeneinander angeordnet. Der umgekehrte Weg schient nicht so einfach möglich zu sein. Aber man kann auf der Basis derselben Ausgangsdaten einfach eine neue Pivot-Tabelle erstellen.
Für die Indexerstellung ist die klassische Anordnung wichtig, weil dann die Daten kopiert und in Word eingefügt werden können. Das Gute an der Pivot-Darstellung ist, dass hier die Gruppierung automatisch geschieht. Das heißt, man braucht keine Formeln! In Word sind nach dem Einfügen nur noch einige Suchen/Ersetzen-Läufe nötig und schon ist das Register fertig.
Näheres: siehe Indexing-Wiki unter Indexing mit Pivot-Tabellen
Zeichnet man eine Sortierung in einem Makro auf, erscheinen im VBA-Code die aktuellen Koordinaten des Sortierbereichs, d.h., das Makro sortiert immer nur diesen Bereich. Wird die Tabelle erweitert, gehören die neuen Zeilen nicht zum Sortierbreich des Makros. Um den Makro-Sortierbereich flexibel zu halten, braucht nur ein Bereichsname vergeben zu werden (Menü <Formeln - Namen verwalten>). Danach steht im VBA-Code der Bereichsname, und das Makro markiert stets automatisch den gesamten Bereich zum Sortieren, obwohl bei der Ur-Aufzeichnung nur wenige Zeilen vorhanden waren.