Dokumentation/Calc Funktionen/VERGLEICH
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Spende
Funktionsname:
VERGLEICH
Kategorie:
Tabelle
Zusammenfassung:
Identifiziert die relative Position eines Sucheintrages in einem einzeiligen oder einspaltigen Zellbereich, abhängig von den Argumenten.
Der Suchprozess verwendet entweder Platzhalter oder reguläre Ausdrücke. Standardmässig ist die Suche nicht case-sensitiv. Eine case-sensitive Suche kann unter Verwendung eines regulären Ausdruckes durchgeführt werden.
Syntax:
VERGLEICH(Suchkriterium; Suchfeld[; Typ])
Rückgabewerte:
Gibt eine Ganzzahl im Bereich von 1 bis zur Größe des angegebenen Suchfeldes zurück. Dabei wird die Position des gesuchten Artikels im angegebenen angegeben.
Argumente:
Suchkriterium ist ein Text (in Anführungszeichen), eine Zahl, ein Wahrheitswert oder eine Referenz auf eine Zelle, die einen dieser Typen enthält. Das Suchkriterium wird gegen die Zellinhalte im Suchfeld abgeglichen.
Suchfeld ist der einzeilige oder einspaltige gesuchte Zellbereich. Er kann auch durch den Namen eines benannten Bereiches oder eines Datenbankbereiches angegeben werden, oder über eine Aufzählung mitgegeben werden.
Typ ist eine Ganzzahl oder eine Referenz auf die Zelle, die diese Ganzzahl enthält. Diese Zahl zeigt an, in welcher Reihenfolge die Daten im Suchfeld gesucht werden. Die beabsichtigten Werte des Typs sind folgende:
- Typ =
1
(Standard). Suchfeld ist aufsteigend sortiert (siehe unter #Zusätzliche Informationen: weiter unten für eine Beschreibung zur Sortierreihenfolge). VERGLEICH gibt die Position des größten Wertes im Suchfeld zurück, das kleiner oder gleich dem Suchkriterium ist. - Typ =
0
. Suchfeld muss nicht sortiert sein. VERGLEICH gibt die Position des ersten exakten Treffers. Suchkriterium kann optional entweder reguläre Ausdrücke oder Platzhalter nutzen, falls diese eingeschaltet sind. - Typ =
-1
. Suchfeld ist absteigend sortiert. VERGLEICH gibt die Position des kleinsten Wertes im Suchfeld, das größer oder gleich des Suchkriteriums ist.
Die folgenden Fälle können auftreten:
- Falls das Suchfeld ein multidimensionaler Zellbereich ist, dann meldet VERGLEICH einen parameter list error (Fehler:504).
- Falls Typ nicht numerisch ist, dann meldet VERGLEICH einen #WERT!-Fehler.
- Falls der Typ eine positive Zahl ist, dann geht VERGLEICH davon aus, dass das Suchfeld aufsteigend sortiert ist.
- Falls der Typ eine negative Zahl ist, dann geht VERGLEICH davon aus, dass das Suchfeld absteigend sortiert ist.
- Falls der Typ ungleich Null ist, aber die Zellen des Suchfeldes nicht wie erwartet sortiert sind, dann wird das Ergebnis von VERGLEICH unberechenbar. In einem solchen Fall ist es möglich, dass zwar kein Fehler gemeldet wird, das zurückgegebene Ergebnis aber nicht offensichtlich bedeutungslos ist.
- Falls der Typ nicht numerisch ist und das Suchkriterium entweder einen regulären Ausdruck oder einen Platzhalter verwendet, meldet VERGLEICH nicht routinemäßig einen Fehler. Das zurückgegebene Ergebnis muss nicht offensichtlich bedeutungslos sein.
- Falls der Typ Null ist und keine exakte Übereinstimmung zum Suchkriterium gefunden werden kann, dann meldet VERGLEICH einen #NV Fehler.
- Falls der Typ ungleich Null ist und das Suchkriterium in die erste Zelle des Suchfeldes für die angegebene Reihenfolge führt, dann meldet VERGLEICH einen #NV Fehler.
Zusätzliche Informationen:
Spezifische Eigenheiten der Funktion VERGLEICH
- Wahrheitswerte FALSCH und WAHR werden wie die Zahlen 0 und 1 behandelt.
- Falls der Typ Null ist und das Suchfeld mehrere Felder mit dem selben Inhalt enthält, nimmt VERGLEICH nur den ersten Treffer mit dem gemeinsamen Inhalt. Das kann ein Grund zur Verwirrung sein.
- Falls Typ größer als Null ist, muss das Suchfeld zuerst die Ziffern in aufsteigender Reihenfolge beinhalten, um dann erst Texte in alphabetischer Reihenfolge zu beheimaten. VERGLEICH berechnet, wo im Suchfeld der Wert des Suchkriteriums in aufsteigender Reihenfolge auftaucht.
- Falls der Typ kleiner als Null ist, muss das Suchfeld zunächst die Texte in absteigender Reihenfolge beheimaten, dann müssen die Zahlen in absteigender Reihenfolge auftauchen. VERGLEICH berechnet, wo im Suchfeld der Wert des Suchkriteriums in der sortierten Reihenfolge auftaucht.
- Falls reguläre Ausdrücke im Bereich Platzhalter in Formeln des Dialoges ▸ ▸ ▸ (oder ▸ ▸ ▸ unter macOS) eingeschaltet sind, findet VERGLEICH exakte Treffer unter Verwendung des Suchkriteriums als regulären Ausdruck.
- Falls Platzhalter im Bereich Platzhalter in Formeln des Dialoges ▸ ▸ ▸ (oder ▸ ▸ ▸ unter macOS) eingeschaltet sind, findet VERGLEICH exakte Treffer unter Verwendung des Suchkriteriums als Platzhalter.
- Falls die Option "
Suchkriterien = und <> müssen auf ganze Zellen zutreffen
" in den Allgemeinen Berechnungen des Dialoges ▸ ▸ ▸ (oder ▸ ▸ ▸ unter macOS) angeklickt ist, dann muss das Suchkriterium mit dem ganzen Text in einer Zelle übereinstimmen. Ansonsten kann es auch nur mit einem Teil des Textes übereinstimmen. - Die Option Groß- und Kleinschreibung im Bereich Allgemeine Berechnungen des Dialoges ▸ ▸ ▸ (oder ▸ ▸ ▸ unter macOS) hat keine Auswirkung auf die Ausführung von VERGLEICH.
Allgemeine Informationen über die regulären Ausdrücke in Calc
- Ein regulärer Ausdruck ist eine Zeichenkette die ein Textmuster beschreibt. Genauere allgemeine Hintergrundinformationen finden sich in der Wiki Regulärer Ausdruck
- Reguläre Ausdrücke sind weit verbreitet. Dabei gibt es viele Prozessoren für reguläre Ausdrücke. Calc nutzt den open source Regular Expressions package from the International Components for Unicode (ICU). Siehe bitte unter deren Dokumentation zu den regulären Ausdrücken für weitergehende Informationen inklusive der volständigen Beschreibung zur Syntax der ICU Regular Expressions.
- Zusätzlich stellt die LibreOffice Hilfe eine umfangreiche Liste der regulären Ausdrücke zur Verfügung.
- Calcs Generator für reguläre Ausdrücke unterstützt zahlreiche Erfassungs Möglichkeiten, welche es Untergruppen in einem Bereich erlauben innerhalb eines Treffers identifiziert zu werden und in einem Text ersetzt werden können. Runde Klammern werden genutzt um Komponenten eines regulären Ausdruckes zu gruppieren und eine nummerierte Treffer-Liste zu erzeugen. Um eine solche Treffer-Liste in einen Text einzufügen, verwenden Sie bitte das Kürzel "$n", wobei n die Zahl der Treffer-Liste ist.
Allgemeine Informationen über die Platzhalter in Calc
Platzhalter sind spezielle Zeichen für Suchtexte in Argumenten für einige Funktionen in Calc; sie können auch im Suchdialog verwendet werden. Der Gebrauch von Platzhaltern ermöglicht fortgeschrittenere Suchparamter bei einer einfachen Textsuche.
Calc unterstützt entweder Platzhalter oder reguläre Ausdrücke abhängig von den Einstellungen der aktuellen Applikation. Standardmäßig werden Platzhalter statt regulärer Ausdrücke unterstützt.
Um sicherzustellen, dass Platzhalter unterstützt werden, rufen Sie
▸ ▸ ▸ auf. Überprüfen Sie hier, ob die Einstellung Platzhalter in Formeln ermöglichen ausgewählt ist. Beachten Sie auch, dass reguläre Ausdrücke durch Auswählen von Reguläre Ausdrücke in Formeln ermöglichen unterstüzt werden können. Genauso können Sie weder Platzhalter noch reguläre Ausdrücke unterstützen lassen.Die folgende Tabelle zeigt die Platzhalter, die Calc unterstützt.
Platzhalter | Beschreibung |
---|---|
? (Fragezeichen) | Vertritt ein einzelnes Zeichen. Zum Beispiel kann der Suchtext "b?g" "bag" oder "beg" heißen, aber nicht "boog" oder "mug". Beachte, dass es auch nicht "bg" heißen kann, da "?" genau ein Zeichen sein muss. Der Platzhalter "?" vertritt kein fehlendes Zeichen. |
* (Asterisk) | Vertritt eine Reihe von Zeichen inklusive dem Leer-Text. Zum Beispiel vertritt der Text "*cast" "cast", "forecast" und "outcast", aber nicht "forecaster" unter Verwendung der Standardeinstellungen von Calc. Falls die Einstellung Suchkriterien = und <> müssen auf ganze Zellen zutreffen in ▸ ▸ ▸ ausgeblendet ist, dann wird "forecaster" auch durch *cast vertreten. |
~ (Tilde) | Unterdrückt die Sonderbehandlung des Fragezeichens Asterisken oder der Tilde, welche direkt nach der Tilde kommen. Zum Beispiel, stellt der Suchstring "why~?" nur "why?" und nicht "whys" oder "why~s" dar. |
Platzhalter sind nicht case sensitiv, also "A?" heißt sowohl "A1" also auch "a1".
Diese Platzhalter werden sowohl in Calc als auch in Microsoft EXCEL unterstützt. Wenn also Kompatibilität zwischen den beiden Anwendungen erforderlich ist, arbeiten Sie mit Platzhaltern anstatt mit regulären Ausdrücken. Wenn dagegen Kompatibilität nicht notwendig ist, arbeiten Sie stattdessen mit regulären Ausdrücken für mächtigere Möglichkeiten.
Beispiele:
Für das erste Set Beispiele dienen die Zellen A1:M1 mit folgenden Zahlen und Texte:
7, "König", 3, 2, 8, 5, "As", 6, "Bube", 10, 4, 9, "Queen(Dame)"
(die die 13 Karten einer Farbe eines Kartenspiels repräsentieren, gemischt in eine zufällige Reihenfolge). Die Texte stehen in ihren Zellen ohne die Anführungszeichen.
Formel | Beschreibung | Ergebnis |
---|---|---|
=VERGLEICH(2; Suche; 0)
wobei Suche ein benannter Bereich (oder Datenbankbereich) über die Zellen A1:M1 ist. |
Sucht exakt nach dem Wert 2 im angegebenen Zellbereich, gefunden in der vierten Position. |
4 |
=VERGLEICH(3,6; A1:M1; 0) | Es gibt keinen exakten Treffer für den Wert 3,6. | #NV |
=VERGLEICH(A3; A1:M1; A4)
wobei die Zellen A3 und A4 den Text "Bube" (ohne Anführungszeichen) und die Zahl 0 enthalten. |
Sucht exakt nach dem "Bube" (ohne die Anführungszeichen; nicht case-sensitive) im angegebenen Zellbereich, gefunden in der neunten Position. | 9 |
=VERGLEICH(A3; A1:M1; A4)
wobei die Zellen A3 und A4 den Text "bube" (ohne Anführungszeichen) und und die Zahl 0 enthalten. |
Sucht exakt nach dem "bube" (ohne die Anführungszeichen; nicht case-sensitive) im angegebenen Zellbereich. | 9 |
=VERGLEICH("K*"; A1:M1; 0)
mit eingeschalteten Platzhaltern. |
Sucht nach exakten Übereinstimmungen mit dem Ausdruck im angegebenen Zellbereich, wobei der "König" im zweiten Eintrag gefunden wird. | 2 |
=VERGLEICH("^Q.*"; A1:M1; 0)
mit eingeschalteten regulären Ausdrücken. |
Sucht nach exakten Übereinstimmungen mit dem regulären Ausdruck "^Q.* "
im angegebenen Zellbereich, wobei die "Queen(Dame)" im dreizehnten Eintrag gefunden wird. |
13 |
=VERGLEICH("(?-i)^[Q]{1}[a-z]*$"; A1:M1; 0)
mit eingeschalteten regulären Ausdrücken. |
Sucht nach exakten Übereinstimmungen mit dem regulären Ausdruck "(?-i)^[Q]{1}[a-z]*$ " im angegebenen Zellbereich. Hier ist Case-Sensitivität erforderlich. Die "Queen(Dame)" wird im dreizehnten Eintrag gefunden.
|
13 |
=VERGLEICH("(?-i)^[q]{1}[a-z]*$"; A1:M1; 0)
mit eingeschalteten regulären Ausdrücken. |
Sucht nach exakten Übereinstimmungen mit dem regulären Ausdruck "(?-i)^[q]{1}[a-z]*$ " im angegebenen Zellbereich. Hier ist Case-Sensitivität erforderlich. Hier wird kein Eintrag gefunden.
|
#NV |
Für das zweite Set Beispiele dienen die Zellen A1:A13 mit folgenden Zahlen und Texte:
2, 3, 4, 5, 6, 7, 8, 9, 10, "As", "Bube", "König", "Queen(Dame)"
(die die 13 Karten einer Farbe eines Kartenspiels repräsentieren, die Funktion VERGLEICH erfordert dabei eine aufsteigende Reihenfolge). Die Texte stehen in ihren Zellen ohne die Anführungszeichen.
A | |
---|---|
1 | 2 |
2 | 3 |
3 | 4 |
4 | 5 |
5 | 6 |
6 | 7 |
7 | 8 |
8 | 9 |
9 | 10 |
10 | As |
11 | Bube |
12 | König |
13 | Queen(Dame) |
Formel | Beschreibung | Ergebnis |
---|---|---|
=VERGLEICH(1; A1:A13) |
Da der Typ fehlt, greift der Standardwert |
#NV |
=VERGLEICH(2,9; A1:A13; 1) | Sucht nach der Position entsprechend dem größten Wert im Suchfeld, da kleiner oder gleich 2,9 ist. | 1 |
=VERGLEICH(23,5; A1:A13; 1) | Die Position des größten Wertes im Suchfeld der kleiner oder gleich 23,5 ist. | 9 |
=VERGLEICH("Aal"; A1:A13; 1) | Das Argument im Suchkriterium ist alphabetisch vor dem ersten Text in der Liste. | #NV |
=VERGLEICH("König"; A1:A13; 1) | Sucht die Position des "König" im Suchfeld. | 12 |
=VERGLEICH("Zulu"; A1:A13; 1) |
"Zulu" wird im Suchfeld nicht gefunden. Sucht nach der Position des Wertes im Suchfeld welches direkt vor "Zulu" positioniert ist. |
13 |
Für das dritte Set Beispiele dienen die Zellen A1:A13 mit folgenden Zahlen und Texte:
"Queen(Dame)", "König", "Bube", "As", 10, 9, 8, 7, 6, 5, 4, 3, 2
(die die 13 Karten einer Farbe eines Kartenspiels repräsentieren, die Funktion VERGLEICH erfordert dabei eine absteigende Reihenfolge). Die Texte stehen in ihren Zellen ohne die Anführungszeichen.
A | |
---|---|
1 | Queen(Dame) |
2 | König |
3 | Bube |
4 | As |
5 | 10 |
6 | 9 |
7 | 8 |
8 | 7 |
9 | 6 |
10 | 5 |
11 | 4 |
12 | 3 |
13 | 2 |
Formel | Beschreibung | Ergebnis |
---|---|---|
=VERGLEICH("Zulu"; A1:A13; -1) | Das Argument im Suchkriterium findet sich vor dem ersten Wert in der Liste. | #NV |
=VERGLEICH("König"; A1:A13; -1) | Sucht die Position des "König" im Suchfeld. | 2 |
=VERGLEICH("Aal"; A1:A13; -1) |
"Aal" wird im Suchfeld nicht gefunden. Sucht nach der Position des Wertes im Suchfeld welches direkt vor "Aal" positioniert ist. |
4 |
=VERGLEICH(23,5; A1:A13; -1) | Das Argument im Suchkriterium ist größer als der erste Wert in der Liste. | #NV |
=VERGLEICH(2,9; A1:A13; -1) | Die Position des kleinsten Wertes im Suchfeld der kleiner oder gleich 2,9 ist. | 12 |
=VERGLEICH(1; A1:A13; -1) | Die Position des kleinsten Wertes im Suchfeld, der größer oder gleich 1 ist. | 13 |
Ähnliche LibreOffice Funktionen:
ODF Standard:
Betroffene (oder ähnliche) EXCEL-Funktionen:
MATCH