Dokumentation/Calc Funktionen/ERSETZENB
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Spende
Funktionsname:
ERSETZENB
Kategorie:
Text
Zusammenfassung:
Ersetzt Bytes in einem Text durch Bytes aus einem anderen Text.
Syntax:
ERSETZENB(Text; Position; Länge; Neuer Text)
Rückgabewerte:
Gibt den Text zurück, in dem aus dem Originaltext die angegebenen Bytes durch die angegebenen Bytes im neuen Text ersetzt wurden.
Argumente:
Text ist ein Text (in Anführungszeichen), eine Zahl oder eine Referenz auf eine Zelle mit einem dieser Typen. Das ist dann der Originaltext mit den zu ersetzenden Bytes.
Position ist eine positive Ganzzahl oder eine Referenz auf eine Zelle mit dieser Ganzzahl. Diese Ganzzahl ist die Position des ersten Bytes im Originaltext, das ersetzt werden soll.
Länge ist eine nicht-negative Ganzzahl oder eine Referenz auf eine Zelle mit dieser Ganzzahl. Dies ist die Anzahl der zu ersetzenden Bytes.
Neuer Text ist ein Text (in Anführungszeichen), eine Zahl oder eine Referenz auf eine Zelle mit einem dieser Typen. Das ist der neue Text mit den Ersatzbytes. Es ist nicht nötig, dass der Neue Text die gleiche Länge hat wie in Länge angegeben. Der Neue Text wird am Besten auf einen leeren Text gesetzt, um den Text zu löschen, anstatt einzelne Bytes im Text zu ersetzen.
- Falls entweder die Position oder die Länge nicht numerisch ist, dann meldet ERSETZENB einen #WERT! Fehler.
- Falls entweder die Position oder die Länge keine Ganzzahl ist, verkürzt sie ERSETZENB auf eine Ganzzahl.
- Falls die Position kleiner als 1 ist oder die Länge kleiner als 0 ist, dann meldet ERSETZENB einen invalid argument error (Fehler:502).
- Falls die Position größer als die Länge des Textes ist, werden die Zeichen des Neuen Textes an den Originaltext angehängt.
- Falls die Position + die Länge größer als die Länge des Textes ist, ersetzt ERSETZENB alle Zeichen ab der Position bis zum Ende des Textes.
- Falls die Länge 0 ist, werden keine Bytes ersetzt. Trotzdem werden die Bytes aus dem Neuen Text vor dem Bytes eingesetzt, das ursprünglich an der angegebenen Position steht.
Zusätzliche Informationen:
Spezifische Eigenheiten der Funktion ERSETZENB
Die Formel:
=ERSETZENB(Text; Position; Länge; Neuer Text)
ist äquivalent zu :
=LINKSB(Text; Position-1) & Neuer Text & TEILB(Text; Position+Länge; LÄNGEB(Text))
Falls die angegebene Anzahl zu ersetzender Bytes ansonsten zum Austausch eines Bytes eines zwei-Byte Zeichens führen würde, fügt ERSETZENB stattdessen ein Leerzeichen (Unicode U+0020) in den zurückzugebenden Text ein. Z. Bsp. gibt die Formel =ERSETZENB("test"; 1; 1; "x")
"x e s t " zurück. Dabei wurde der zwei-Byte Buchstabe "t " (U+FF54) am Anfang durch ein kleines x (U+0078), gefolgt von einem Leerzeichen (U+0020) ersetzt. Die Formel =ERSETZENB("test"; 2; 1; "x")
gibt " xest" zurück, wobei der zwei-Byte Buchstabe "t" (U+FF54) am Anfang durch ein Leerzeichen (U+0020), gefolgt von einem kleinen x (U+0078), ersetzt wurde.
Der Text und der Neue Text können als Zahlen angegeben werden, aber ERSETZENB gibt immer Text zurück. Falls weitere Berechnungen mit einer Zahl, die in einen Text ungewandelt wurde, durchgeführt werden sollen, muss der Text in eine Zahl zurückgewandelt werden (z. Bsp. entweder mit der Funktion WERT oder der Funktion ZAHLWERT).
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 sind ähnlich zu denen für die Funktion ERSETZEN und zeigen das konsistente Verhalten der zwei Funktionen für ein-Byte Zeichenketten (SBCS).
Formel | Beschreibung | Ergebnis |
---|---|---|
=ERSETZENB("mouse"; 2; 3; "ic") | Hier ersetzt die Funktion drei Bytes beginend mit Byte 2 (SBCS characters "ous") mit zwei SBCS Zeichen ("ic") und gibt den Text "mice" zurück. | "mice" |
=ERSETZENB(D1; D2; D3; D4), wobei die Zelle D1 den Text "mouse" enthält, Zelle D2 enthält die Zahl 2, Zelle D3 die Zahl 3 und Zelle D4 den Text "ic". | Hier ersetzt die Funktion wieder drei Bytes beginnend bei Byte 2 (SBCS Zeichen "ous") mit zwei SBCS-Zeichen ("ic") und gibt den Text "mice" zurück. | "mice" |
=ERSETZENB("1234567"; 1; 1; "444") | Hier ersetzt die Funktion ein Byte beginnend mit Byte 1 (SBCS Zeichen "1") mit drei SBCS Zeichen ("444") und gibt den Text "444234567" zurück. | "444234567" |
=ERSETZENB(1.234.567; 1; 1; 444) | In diesem Beispiel werden der Originaltext und der neue Text als Zahlen ohne Anführungszeichen angegeben. Hier entfernt die Funktion wieder ein Zeichen an der Position 1 (SBCS Zeichen "1"), ersetzt sie durch drei SBCS-Zeichen ("444") und gibt den Text "444234567" zurück. | "444234567" |
=ERSETZENB("Input string"; 7; 0; "text ") | Hier ersetzt die Funktion kein Byte, fügt aber einen Fünf-Byte Text (SBCS-Zeichen "text ") direkt vor Byte 7 (SBCS-Zeichen "s") ein und gibt den Text "Input text string" zurück. | "Input text string" |
=ERSETZENB("Hallo xxxx!"; 6; 5; "") | Hier ersetzt die Funktion fünf Bytes, beginnend mit Byte 6 (SBCS Zeichen " xxxx") durch einen leeren Text (tatsächlich werden die fünf SBCS Zeichen gelöscht) und gibt den Text "Hallo!" zurück | "Hallo!" |
Die verbleibenden Beispiele zeigen das Verhalten von ERSETZENB für Texte, die zwei-Byte Zeichen beinhalten. Diese Beispiele verwenden die zwei-Byte Zeichen "中" (Unicode Vereinheitlichte CJK-Ideogramme - 4E2D) und "国" (Vereinheitlichte CJK-Ideogramme - 56FD).
Formel | Beschreibung | Ergebnis |
---|---|---|
=ERSETZENB("中国"; 1; 0; "?") | Hier gibt die Funktion den Text "?中国", welcher fünf Bytes lang ist, zurück. | "?中国" |
=ERSETZENB("中国"; 1; 1; "?") | Hier gibt die Funktion den Text "? 国" (man beachte das Leerzeichen nach dem Fragezeichen), welcher vier Bytes lang ist, zurück. | "? 国" |
=ERSETZENB("中国"; 1; 2; "?") | Hier gibt die Funktion den Text "?国", welcher drei Bytes lang ist, zurück. | "?国" |
=ERSETZENB("中国"; 1; 3; "?") | Hier gibt die Funktion den Text "? " (man beachte das Leerzeichen nach dem Fragezeichen), welcher zwei Bytes lang ist, zurück. | "? " |
=ERSETZENB("中国"; 1; 4; "?") | Hier gibt die Funktion den Text "?", welcher ein Byte lang ist, zurück. | "?" |
=ERSETZENB("中国"; 2; 0; "?") | Hier gibt die Funktion den Text " ? 国" (man beachte die Leerzeichen vor und nach dem Fragezeichen), welcher fünf Bytes lang ist, zurück. | " ? 国" |
=ERSETZENB("中国"; 2; 1; "?") | Hier gibt die Funktion den Text " ?国" (man beachte das Leerzeichen vor dem Fragezeichen), welcher vier Bytes lang ist, zurück. | " ?国" |
=ERSETZENB("中国"; 2; 2; "?") | Hier gibt die Funktion den Text " ? " (man beachte die Leerzeichen vor und nach dem Fragezeichen), drei Bytes lang ist, zurück. | " ? " |
=ERSETZENB("中国"; 2; 3; "?") | Hier gibt die Funktion den Text " ?" (man beachte das Leerzeichen vor dem Fragezeichen), welcher zwei Bytes lang ist, zurück. | " ?" |
Ähnliche LibreOffice Funktionen:
ODF Standard:
Betroffene (oder ähnliche) EXCEL-Funktionen:
REPLACEB