Documentatie/Calc-functies/LINKSB
TDF LibreOffice Document Liberation Project Blogs gemeenschap Weblate Nextcloud Redmine Ask LibreOffice Doneren
Functienaam:
LINKSB
Categorie:
Tekst
Samenvatting:
Extraheert een subtekenreeks aan de linkerkant van de opgegeven teksttekenreeks, waarbij de lengte van de subtekenreeks in bytes wordt opgegeven.
Syntaxis:
LINKSB(Tekst[; Aantal bytes])
Retourneert:
Retourneert een tekenreeks bestaande uit het opgegeven aantal bytes vanaf de linkerkant van de opgegeven tekenreeks.
Argumenten:
Tekst is een tekenreeks (tussen aanhalingstekens), een getal of een verwijzing naar een cel die één van die typen bevat, dat wil zeggen de tekenreeks waaruit tekens moeten worden geëxtraheerd.
Getal is een niet-negatief geheel getal of een verwijzing naar een cel die een niet-negatief geheel getal bevat, dat wil zeggen het aantal bytes dat moet worden geëxtraheerd. Als Getal wordt weggelaten, gebruikt LINKSB de waarde 1.
- Als Getal niet-numeriek is, dan retourneert LINKSB als fout #WAARDE!
- Als Getal een niet-gehele waarde is, kapt LINKSB deze af tot een geheel getal.
- Als Getal kleiner is dan 0, dan retourneert LINKSB als fout Ongeldig argument (Fout:502).
- Als Tekst uit minder bytes bestaat dan de waarde van Getal, retourneert LINKSB een kopie van Tekst.
Aanvullende details:
Details specifiek voor de functie LINKSB
Als het opgegeven aantal bytes anders zou leiden tot het extraheren van slechts één byte van een teken van twee bytes, voegt LINKSB in plaats daarvan een spatie (Unicode U+0020) in aan het einde van de geretourneerde tekenreeks.
Algemene informatie over byte-positiefuncties
Calc biedt verschillende byte-positie tekstfuncties, die bedoeld zijn om te worden gebruikt met dubbelbyte tekensettalen (DBCS). Deze functies zijn VIND.ALLES.B, LINKSB, LENGTEB,DEELB, VERVANGENB, RECHTSB en VIND.SPEC.B. Elk heeft een equivalente "gewone" tekstfunctie met een vergelijkbare naam, maar zonder de laatste letter "B".
Calc beschouwt double-byte-tekens als de tekens die binnen de volgende Unicode-codeblokken liggen:
- Bopomofo Uitgebreid (U+31A0 ... U+31BF)
- Bopomofo (U+3100 ... U+312F)
- CJK Compatibiliteitsformulieren (U+FE30 ... U+FE4F)
- CJK Compatibility Ideographs Supplement (U+2F800 ... U+2FA1F)
- CJK Compatibility Ideographs (U+F900 ... U+FAFF)
- CJK Compatibility (U+3300 ... U+33FF)
- CJK Radicals Supplement (U+2E80 ... U+2EFF)
- CJK Strokes (U+31C0 ... U+31EF)
- CJK Symbols and Punctuation (U+3000 ... U+303F)
- CJK Unified Ideographs Extension A (U+3400 ... U+4DBF)
- CJK Unified Ideographs Extension B (U+20000 ... U+2A6DF)
- CJK Unified Ideographs (U+4E00 ... U+9FFF)
- Enclosed CJK Letters and Months (U+3200 ... U+32FF)
- Halfwidth and Fullwidth Forms (U+FF00 ... U+FFEF)
- Hangul Compatibility Jamo (U+3130 ... U+318F)
- Hangul Jamo (U+1100 ... U+11FF)
- Hangul Syllables (U+AC00 ... U+D7AF)
- High Private Use Surrogates (U+DB80 ... U+DBFF)
- High Surrogates (U+D800 ... U+DB7F)
- Hiragana (U+3040 ... U+309F)
- Ideographic Description Characters (U+2FF0 ... U+2FFF)
- Kanbun (U+3190 ... U+319F)
- Kangxi Radicals (U+2F00 ... U+2FDF)
- Katakana (U+30A0 ... U+30FF)
- Low Surrogates (U+DC00 ... U+DFFF)
- Private Use Area (U+E000 ... U+F8FF)
- Yi Radicals (U+A490 ... U+A4CF)
- Yi Syllables (U+A000 ... U+A48F)
Zie Wikipedia's Unicode block pagina voor meer informatie over deze blokken.
Bovendien worden de codepunten U+005C en U+20AC als dubbelbytetekens beschouwd als de systeemtaal is ingesteld op Japans.
Zoals opgemerkt in ODF 1.2, zijn byteposities implementatie-afhankelijk en dus vermindert het vertrouwen op hen de interoperabiliteit.
Voorbeelden:
De volgende voorbeelden zijn vergelijkbaar met die gebruikt voor de functie LINKS en demonstreren het consistente gedrag van de twee functies voor enkelbyte tekenreeksen.
Formule | Beschrijving | Retourneert |
---|---|---|
=LINKSB("Tekenreeks"; 2) | Hier retourneert de functie de eerste twee tekens van de opgegeven tekenreeks. | In |
=LINKSB(12.345,6789; 5) | Hier retourneert de functie de eerste vijf cijfers van het opgegeven getal, opgemaakt als een tekenreeks. | 12345 |
=LINKSB(D1; D2) waarbij cel D1 de tekenreeks bevat en cel D2 het getal 3. | Hier retourneert de functie de eerste drie tekens van de opgegeven tekenreeks. | Inv |
=LINKSB("Tekenreeks") | Hier retourneert de functie het eerste teken van de opgegeven tekenreeks. De standaardwaarde van 1 wordt toegepast wanneer het argument Getal wordt weggelaten. | I |
=LINKSB("Tekenreeks"; 0) | Hier retourneert de functie de lege string. |
De overige voorbeelden demonstreren het gedrag van LINKSB voor tekenreeksen die dubbelbytetekens bevatten. Deze voorbeelden gebruiken de dubbelbyte-tekens "中" (Unicode CJK Unified Ideograph-4E2D) en "国" (CJK Unified Ideograph-56FD).
Formule | Beschrijving | Retourneert |
---|---|---|
=LINKSB("中国"; 1) | Hier is één byte slechts de helft van een dubbelbyte-teken en daarom wordt in plaats daarvan een spatie teruggegeven. | " " |
=LINKSB("中国"; 2) | Hier retourneert de functie het eerste teken van de tekenreeks, aangezien één dubbelbyteteken twee bytes in beslag neemt. | "中" |
=LINKSB("中国"; 3) | Hier vormen drie bytes een dubbelbyte-teken en een verdere byte. De functie retourneert het eerste teken van de tekenreeks gevolgd door een spatie. | "中 " |
=LINKSB("中国"; 4) | Hier retourneert de functie beide karakters van de string, aangezien twee dubbelbyte karakters vier bytes in beslag nemen. | "中国" |
Gerelateerde LibreOffice-functies:
ODF standaard:
Gerelateerde (of gelijkwaardige) Excel-functies:
LEFTB