Dokumentation/Calc Funktionen/FINDENB

    From The Document Foundation Wiki
    This page is a translated version of the page Documentation/Calc Functions/FINDB and the translation is 100% complete.
    Other languages:


    Funktionsname:

    FINDENB

    Kategorie:

    Text

    Zusammenfassung:

    Sucht 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:

    FINDENB(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 FINDENB die 1.

    • Falls Position keine Ganzzahl ist, verkürzt sie FINDENB auf eine Ganzzahl.
    • Falls die Position nach einer eventuellen Verkürzung kleiner als 1 oder größer als (LÄNGEB(Text) - LÄNGEB(Suchtext) + 1) ist, dann meldet FINDENB einen invalid argument error (Fehler:502).
    • Falls kein Treffer erzielt wurde, dann meldet FINDENB einen #WERT! Fehler. Das ist ein Fehlerfall, der behandelt werden muss, wenn er als Argument für eine andere Funktion dienen soll.

    Zusätzliche Informationen:

    Spezifische Eigenheiten der Funktion FINDENB

    FINDENB unterstützt weder Platzhalter noch reguläre Ausdrücke.

    Falls nicht case-sensitive Suchen erforderlich sind, sollte die Funktion SUCHENB verwendet werden.

    Im Dialog Extras ▸ Optionen ▸ LibreOffice Calc ▸ Berechnen (oder LibreOffice ▸ Preferences ▸ LibreOffice Calc ▸ Berechnen unter macOS) hat die Einstellung Suchkriterien = und <> müssen auf ganze Zellen angewendet werden keine Auswirkung auf das Verhalten von FINDENB.

    Vorschläge für die Behandlung von #WERT! Fehlern nachdem kein Treffer gefunden wurde:

    • =WENN(ISTFEHLER(FINDENB("xyz"; "abcdef"; 1)); "ERR: Missing Substring"; "Substring Present") gibt "ERR: Missing Substring" anstatt des Fehlers aus der Funktion FINDENB zurück.
    • =WENN(ISTZAHL(FINDENB("xyz"; "abcdef"; 1)); "Substring Present"; "ERR: Missing Substring") gibt "ERR: Missing Substring" zurück und meldet nicht den Fehler aus der Funktion FINDENB weiter.


    Allgemeine Informationen über die Byte-Position Funktionen in Calc

    Note pin.svg

    Anmerkung:
    Der Einfachheit halber werden die Informationen dieses Unterabschnittes auf allen Seiten der Byte-Position Funktionen in Calc wiederholt.

    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 sind ähnlich zu denen für die Funktion FINDEN und zeigen das konsistente Verhalten der zwei Funktionen für ein-Byte Zeichenketten.

    Formel Beschreibung Ergebnis
    =FINDENB("fifty"; "Fifty-fifty") Hier gibt die Funktion 7 zurück, weil der Treffer case-sensitiv ist. 7
    =FINDENB(76; 998877667654) Hier gibt die Funktion 6 zurück, weil die Suche standardmässig beim ersten Zeichen des abzusuchenden Textes beginnt. 6
    =FINDENB(76; 998877667654; 7) Hier gibt die Funktion 9 zurück, weil die Suche beim siebten Zeichen des abzusuchenden Textes beginnt. 9
    =FINDENB(D1; D2; D3), wobei die Zellen D1, D2 und D3 "Rook", "Knight" und die Zahl 1 enthalten. Hier gibt die Funktion den Fehler #WERT! zurück, weil kein Treffer gefunden wurde. #WERT!

    Die verbleibenden Beispiele zeigen das Verhalten von FINDENB 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
    =FINDENB("a"; "LibreOffice Calc") Hier ist der Suchtext 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!
    =FINDENB("a"; "LibreOffice Calc") Hier gibt die Funktion 27 zurück, das erste Byte des zwei-Byte Zeichens "a" im Text. 27
    =FINDENB("a"; "LibreOffice Calc") Hier enthält der Text 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:

    FINDEN

    LINKSB

    LÄNGEB

    TEILB

    ERSETZENB

    RECHTSB

    SUCHENB

    ODF Standard:

    Kapitel 6.20.9, Teil 2.

    Betroffene (oder ähnliche) EXCEL-Funktionen:

    FINDB