Dokumentation/Calc Funktionen/SUCHENB
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Spende
Funktionsname:
SUCHENB
Kategorie:
Text
Zusammenfassung:
Sucht nicht case-sensitiv die Position das Start-Byte eines Textes innerhalb eines anderen Textes. Jeder Text kann sowohl ein-Byte als auch zwei-Byte Zeichen haben.
Syntax:
SUCHENB(Suchtext; Text[; Position])
Rückgabewerte:
Gibt die Position des ersten Bytes des ersten Zeichens des ersten Auftretens des zu suchenden Textes innerhalb des abzusuchenden Textes als Ganzzahl zurück. Der Rückgabewert kann nicht größer als die Länge (in Bytes) des abzusuchenden Textes sein.
Argumente:
Suchtext ist ein Text (in Anführungszeichen), eine Zahl oder eine Referenz auf eine Zelle mit einem dieser Typen. Das ist dann der zu suchende Text.
Text ist ein Text (in Anführungszeichen), eine Zahl oder eine Referenz auf eine Zelle mit einem dieser Typen. Das ist dann der abzusuchende Text.
Position ist eine positive Ganzzahl oder eine Referenz auf eine Zelle mit dieser Ganzzahl. Das ist dann die Position des Zeichens mit dem die Suche startet. Falls die Position fehlt, verwendet SUCHENB die 1.
- Falls die Position keine Ganzahl ist, dann verkürzt sie SUCHENB auf eine Ganzzahl.
- Falls die Position kleiner als 1 ist, dann meldet SUCHENB einen invalid argument error (Fehler:502).
- Falls die Position nach einer eventuellen Verkürzung größer als die Länge des abzusuchenden Textes ist, dann meldet SUCHENB einen #WERT! Fehler.
- Falls keine Übereinstimmung gefunden wurde, dann meldet SUCHENB einen #WERT! error. Dies ist ein Fehler-Fall, der behandelt werden muss, bevor er als Argument einer anderen Funktion übergeben wird.
Zusätzliche Informationen:
Spezifische Eigenheiten der Funktion SUCHENB
SUCHENB unterstützt weder Platzhalter noch reguläre Ausdrücke.
Falls Suchen mit Platzhaltern oder regulären Ausdrücken oder nicht case-sensitive Suchen erforderlich sind, sollte die Funktion FINDENB verwendet werden.
Im Dialog
▸ ▸ ▸ (oder ▸ ▸ ▸ unter macOS) hat die Einstellung Suchkriterien = und <> müssen auf ganze Zellen angewendet werden keine Auswirkung auf das Verhalten von SUCHENB.Vorschläge für die Behandlung von #WERT! Fehlern nachdem kein Treffer gefunden wurde:
=WENN(ISTFEHLER(SUCHENB("xyz"; "abcdef"; 1)); "ERR: Missing Substring"; "Substring Present")
gibt "ERR: Missing Substring" anstatt des Fehlers aus der Funktion SUCHENB zurück.=WENN(ISTZAHL(SUCHENB("xyz"; "abcdef"; 1)); "Substring Present"; "ERR: Missing Substring")
gibt "ERR: Missing Substring" zurück und meldet nicht den Fehler aus der Funktion SUCHENB weiter.
Allgemeine Informationen über die Byte-Position Funktionen in Calc
Calc bietet einige Byte-Position Text Funktionen, die mit Zwei-Byte Zeichensätzen (Double Byte Character Set (DBCS)) arbeiten. Diese Funktionen sind FINDENB, LINKSB, LÄNGEB,TEILB, ERSETZENB, RECHTSB und SUCHENB. Jede davon hat einen äquivalenten "normalen" Namen mit einem "B" am Ende.
Calc bezeichnet als zwei-Byte Zeichen die Zeichen, die in folgenden Unicode-Abschnitten liegen:
- Bopomofo Erweitert (U+31A0 ... U+31BF)
- Bopomofo (U+3100 ... U+312F)
- CJK Kompatibilitätsformen (U+FE30 ... U+FE4F)
- CJK-Ideogramme, Kompatibilität, Ergänzung (U+2F800 ... U+2FA1F)
- CJK-Ideogramme, Kompatibilität (U+F900 ... U+FAFF)
- CJK Kompatibilität (U+3300 ... U+33FF)
- CJK-Radikale, Ergänzung (U+2E80 ... U+2EFF)
- CJK-Striche (U+31C0 ... U+31EF)
- CJK-Symbole und -Interpunktion (U+3000 ... U+303F)
- Vereinheitlichte CJK-Ideogramme, Erweiterung A (U+3400 ... U+4DBF)
- Vereinheitlichte CJK-Ideogramme, Erweiterung B (U+20000 ... U+2A6DF)
- Vereinheitlichte CJK-Ideogramme (U+4E00 ... U+9FFF)
- Umschlossene CJK-Zeichen und -Monate (U+3200 ... U+32FF)
- Halbbreite und vollbreite Formen (U+FF00 ... U+FFEF)
- Hangeul-Jamo, Kompatibilität (U+3130 ... U+318F)
- Hangeul-Jamo (U+1100 ... U+11FF)
- Hangeul-Silbenzeichen (U+AC00 ... U+D7AF)
- High Private Use Surrogates (U+DB80 ... U+DBFF)
- High Surrogates (U+D800 ... U+DB7F)
- Hiragana (U+3040 ... U+309F)
- Ideographische Beschreibungszeichen (U+2FF0 ... U+2FFF)
- Kanbun (U+3190 ... U+319F)
- Kangxi-Radikale (U+2F00 ... U+2FDF)
- Katakana (U+30A0 ... U+30FF)
- Low Surrogates (U+DC00 ... U+DFFF)
- Private Use Area (U+E000 ... U+F8FF)
- Yi-Radikale (U+A490 ... U+A4CF)
- Yi-Silbenzeichen (U+A000 ... U+A48F)
siehe Wikipedia unter Liste der Unicodeblöcke für weitergehende Informationen zu diesen Abschnitten
Zusätzlich werden die Zeichencodes U+005C und U+20AC für zwei-Byte Zeichen verwendet, wenn die Systemsprache auf Japanisch gestellt ist.
Wie im ODF 1.2 beschrieben, sind Byte-Positionen implementationsabhängig und daher reduziert diese Abhängigkeit die Kompatibilität.
Beispiele:
Die folgenden Beispiele zeigen das Verhalten von SUCHENB für ein-Byte Zeichenketten.
A | B | C | D | |
---|---|---|---|---|
1 | Rook | Knight | 1 |
Formel | Beschreibung | Ergebnis |
---|---|---|
=SUCHENB("fifty"; "Fifty-fifty") | Der Treffer ist nicht case-sensitiv. | 1 |
=SUCHENB(76; 998.877.667.654) | Die Suche beginnt standardmässig beim ersten Zeichen des abzusuchenden Textes. | 6 |
=SUCHENB(76; 998.877.667.654; 7) | Die Suche beginnt beim siebten Zeichen des abzusuchenden Textes. | 9 |
=SUCHENB(B1; C1; D1) | Es wird kein Treffer gefunden. | #WERT! |
Die verbleibenden Beispiele zeigen das Verhalten von SUCHENB für zwei-Byte Zeichenketten. Zum leichteren Verständnis vermeiden diese Beispiele Texte in Chinesisch, Japanisch und Koreanisch, welche ja zwei-Byte Zeichen verwenden. Stattdessen verwenden diese Beispiele zwei-Byte Zeichen in den halbbreiten und vollbreiten Formen, die in lateinischer Schrift Sinn machen. Das Unicode Zeichen U+3000, auch ideographisches Leerzeichen genannt, wird in den ersten beiden Beispielen verwendet.
Formel | Beschreibung | Ergebnis |
---|---|---|
=SUCHENB("a"; "LibreOffice Calc") |
Der Suchtext ist ein ein-Byte Zeichen (U+0061), wobei der Text nur zwei-Byte-Zeichen verwendet. Insbesondere ist das "a" im Text das Zeichen U+FF41 ("vollbreiter lateinischer Kleinbuchstabe A"), welcher unterschiedlich zum U+0061 ("lateinischer Kleinbuchstabe A") ist. Die Funktion gibt einen #WERT! Fehler zurück, da dies kein Treffer ist. |
#WERT! |
=SUCHENB("a"; "LibreOffice Calc") | Das erste Byte des zwei-Byte Zeichens "a" im Text. | 27 |
=SUCHENB("a"; "LibreOffice Calc") |
Der Text enthält 12 ein-Byte Zeichen, gefolgt von vier zwei-Beite Zeichen. Die Funktion gibt 15 zurück, das erste Byte des zwei-Byte Zeichens "a" im Text. |
15 |
Ähnliche LibreOffice Funktionen:
ODF Standard:
Betroffene (oder ähnliche) EXCEL-Funktionen:
SEARCHB