Textové funkce

Tato část popisuje funkce Textu.

Pro přístup k tomuto příkazu...

Vložit - Funkce - Kategorie Text


Použití dvojitých uvozovek ve vzorcích

Textový řetězec použitý ve vzorci se umisťuje mezi dvojici dvojitých uvozovek (") a Calc převezme znaky tohoto řetězce, aniž by se pokusil je interpretovat. Například vzorec ="Ahoj světe" zobrazí v buňce textový řetězec Ahoj světe bez obklopujících dvojitých uvozovek.

Složitější vzorec =CONCATENATE("Život je vlastně jednoduchý, "; "ale my trváme na tom, abychom si ho zkomplikovali "; "(Konfucius).") sloučí tři samostatné řetězce v uvozovkách do výsledného Život je vlastně jednoduchý, ale my trváme na tom, abychom si ho zkomplikovali (Konfucius).

Chcete-li umístit dvojitou uvozovku do řetězce ve vzorci, můžete použít dva způsoby:

  1. Na dvojitou uvozovku můžete použít „escape sekvenci“, kterou je další dvojitá uvozovku, Calc bude takto ošetřenou uvozovku považovat za textový řetězec. Například výsledkem vzorce "Jmenuji se ""Jan Novák""." bude Jmenuji se "Jan Novák". Jiným jednoduchým příkladem je vzorec UNICODE(""""), který vrátí 34, desítkovou hodnotu znaku uvozovky v Unicode (U+0022) – první a čtvrtá dvojitá uvozovka značí začátek a konec řetězce, druhá uvozovka představuje escape sekvenci pro třetí.

  2. Pro vložení dvojité uvozovky můžete použít funkci CHAR nebo UNICHAR. Například vzorec =UNICHAR(34) & "Kdo chytá v žitě" & UNICHAR(34) & " je slavná kniha J. D. Salingera." zobrazí řetězec "Kdo chytá v žitě" je slavná kniha J. D. Salingera.

Mějte na paměti, že dvojité uvozovky mohou být změněny automatickými opravami Calcu. Tyto opravy nemění uvozovky ve vzorci, avšak mohou změnit ty, které jsou použity v buňkách, které neobsahují vzorec, ale text. Pokud například zkopírujete řetězec obklopený některými z typograficky správných uvozovek, jakými jsou levá dvojitá uvozovka (U+201E) a pravá dvojitá uvozovka (U+201C), a pak jej vložíte do buňky se vzorcem, výsledkem může být chyba. Znaky, které mají automatické úpravy používat pro nahrazování typograficky správnými uvozovkami, nastavíte v části Dvojité uvozovky v dialogovém okně Nástroje - Nastavení automatických oprav - Místní možnosti. Zrušením zaškrtnutí pole Nahradit tuto funkci zakážete.

ARABIC

Vrátí číselnou hodnotu odpovídající římským číslicím uvedeným jako text.

ASC

Převede dvoubajtové znaky (s plnou šířkou) na jednobajtové znaky ASCII a katakany (s poloviční šířkou).

JIS

Převede jednobajtové znaky ASCII nebo katakany (s poloviční šířkou) na dvoubajtové (s plnou šířkou).

REGEX

Nalezne a vrátí nebo volitelně nahradí text za použití regulárních výrazů.

ROMAN

Převede číslo na římské číslice. Hodnota musí být mezi 0 a 3999. Režim zjednodušení lze určit v rozsahu 0 až 4.

VALUE

Převede řetězec představující číslo na číselnou podobu. Představuje-li řetězec platné datum, čas nebo datum a čas, vrátí se odpovídající pořadové číslo data a času.

WEBSERVICE

Získá webový obsah z URI.

FILTERXML

Použije na XML dokument výraz XPath.

ENCODEURL

Vrátí URL kódovaný řetězec.

BAHTTEXT

Převede číslo na thajský text, včetně názvů thajské měny.

Syntaxe

BAHTTEXT(Číslo)

Číslo je jakékoliv číslo. K celé části čísla se přidá "Baht" a k desetinné části se přidá "Satang".

Příklad

=BAHTTEXT(12.65) vrátí řetězec v thajských znacích s významem "dvanáct bahtů a šedesát pět satangů".

BASE

Převede kladné číslo na text v číselné soustavě o určeném základu. Použijí se číslice 0-9 a písmena A-Z.

Syntaxe

BASE(Číslo; Základ [; MinimálníDélka])

Číslo je kladné číslo pro převod.

Základ označuje základ číselné soustavy. Může se jednat o kladné číslo mezi 2 a 36.

MinimálníDélka (nepovinné) určuje minimální délku řady znaků, která se vytvoří. Pokud bude text kratší než stanovená minimální délka, na levou stranu řetězce se přidají nuly.

Příklad

=BASE(17;10;4) vrátí 0017 v desítkové soustavě.

=BASE(17;2) vrátí 10001 ve dvojkové soustavě.

=BASE(255;16;4) vrátí 00FF v šestnáctkové soustavě.

CHAR

Převede číslo na znak podle aktuální převodní tabulky. Číslo může být dvou- nebo tříciferné celé číslo.

Kódy vyšší než 127 mohou záviset na mapování znaků vašeho systému (například iso-8859-1, iso-8859-2, Windows-1252 nebo Windows-1250) a tudíž nemusí být portabilní.

Syntaxe

CHAR(Číslo)

Číslo mezi 1 a 255 představuje hodnotu kódu znaku.

Příklad

=CHAR(100) vrátí znak d.

="abc" & CHAR(10) & "def" vrátí řetězec se znakem konce řádku.

CLEAN

Všechny netisknutelné znaky jsou z řetězce odstraněny.

Syntaxe

CLEAN("Text")

Text představuje text, ze kterého budou všechny netisknutelné znaky odstraněny.

Příklad

=LEN(CLEAN(CHAR(7) & "LibreOffice Calc" & CHAR(8))) vrátí 16, což znamená, že funkce CLEAN odstraní na začátku a na konci řetězcového argumentu netisknutelné znaky Unicode U+0007 („bell“) a U+0008 („backspace“), avšak neodstraní mezery.

CODE

Vrátí numerický kód prvního znaku řetězce.

Syntaxe

CODE("Text")

Text je text, pro který se nalezne kód jeho prvního znaku.

Kódy vyšší než 127 mohou záviset na mapování znaků vašeho systému (například iso-8859-1, iso-8859-2, Windows-1252 nebo Windows-1250) a tudíž nemusí být portabilní.

Příklad

=CODE("Hieronymus") vrátí 72, =CODE("hieroglyfický") vrátí 104.

note

Tato funkce nepoužívá pro kódování kód ASCII, ale aktuálně načtenou kódovací tabulku.


CONCATENATE

Spojí několik řetězců do jednoho.

Syntaxe

CONCATENATE(Řetězec 1 [; Řetězec 2 [; … [; Řetězec 255]]])

Řetězec 1[; Řetězec 2][; … ;[Řetězec 255]] jsou řetězce nebo odkazy na buňky obsahující řetězce.

Příklad

=CONCATENATE("Dobré ";"ráno, ";"paní ";"Nováková") vrátí: Dobré ráno, paní Nováková.

DECIMAL

Převede text se znaky z číselné soustavy na kladné číslo v soustavě s určeným základem. Základ této soustavy musí být v rozsahu 2 až 36. Mezery a tabulátory jsou ignorovány. U pole text nezáleží na velikosti znaků.

Pokud použijete šestnáctkovou soustavu, ignoruje se počáteční x, X, 0x nebo 0X a koncové h nebo H. Pokud použijete dvojkovou soustavu, ignoruje se koncové b nebo B. Jiné znaky, které nepatří do číselné soustavy, vyvolají chybu.

Syntaxe

DECIMAL("Text"; Základ)

Text je text, který se převede. Abyste odlišili číslo v šestnáctkové soustavě, například A1, od odkazu na buňku A1, musíte číslo zapsat do uvozovek, například "A1" nebo "FACE".

Základ označuje základ číselné soustavy. Může se jednat o kladné číslo mezi 2 a 36.

Příklad

=DECIMAL("17";10) vrátí 17.

=DECIMAL("FACE";16) vrátí 64206.

=DECIMAL("0101";2) vrátí 5.

DOLLAR

Převede číslo na hodnotu s jednotkou měny a zaokrouhlí na určený počet desetinných míst. Jako parametr Hodnota zadejte číslo, které chcete převést na měnu. Volitelně je také možné zadat počet desetinných míst parametrem Desetinná místa. Pokud tento počet neurčíte, zobrazí se výsledek na dvě desetinná místa.

Formát měny je nastaven podle vašeho systému.

Syntaxe

DOLLAR(Hodnota [; Desetinná místa])

Hodnota je číslo, odkaz na buňku s číslem nebo vzorec, který vrací číslo.

Desetinná místa je nepovinný počet desetinných míst.

Příklad

=DOLLAR(255) vrátí například $255.00 pro národní prostředí angličtina (USA) a měnu USD (dolar), ¥255.00 pro národní nastavení japonština a měnu JPY (jen) či 255,00 € pro národní prostředí němčina (Německo) a měnu EUR (euro).

=DOLLAR(367.456;2) vrátí $367.46. Použijte oddělovač desetinných míst, který odpovídá aktuálnímu národnímu prostředí.

EXACT

Porovná dva řetězce a vrátí PRAVDA, pokud jsou stejné. Tato funkce rozlišuje velikost písmen.

Syntaxe

EXACT("Text1"; "Text2")

Text1 představuje první text na porovnání.

Text2 je druhý text na porovnání.

Příklad

=EXACT("mikrosystémy";"Mikrosystémy") vrátí NEPRAVDA.

FIND

Vrátí pozici řetězce v jiném řetězci. Také je možné určit, kde začne hledání. Hledaný výraz může být číslo nebo libovolný řetězec. Při hledání záleží na velikosti znaků.

Syntaxe

FIND("HledanýText"; "Text" [; Pozice])

HledanýText představuje hledaný text.

Text je text, ve kterém se bude vyhledávat.

Pozice (volitelné) je pozice v textu, na které hledání začne.

Příklad

=FIND(76;998877665544) vrátí 6.

FIXED

Vrátí číslo jako text s určeným počtem desetinných míst a volitelným oddělovačem tisíců.

Syntaxe

FIXED(Číslo; [Desetinná místa = 2 [; Nerozdělovat tisíce = NEPRAVDA]])

Číslo se zaokrouhlí na zadaný počet desetinných míst (za oddělovačem desetinných míst) a výsledek je naformátován jako text s použitím nastavení národního prostředí.

Desetinná místa (nepovinné) udává počet desetinných míst, které se mají zobrazit. Pokud je tento argument záporný, Číslo se zaokrouhlí na počet míst ABS(Desetinná místa) doleva od desetinné čárky. Je-li argument Desetinná místa zlomkem, ořízne se bez ohledu na to, jaké je nejbližší celé číslo.

Nerozdělovat tisíce (nepovinné) určuje, zda se použije oddělovač tisíců. Má-li hodnotu PRAVDA nebo nenulovou, do výsledného řetězce se oddělovače skupin nezahrnou. Pokud je roven 0 nebo je vynechán, zobrazí se oddělovač tisíců podle aktuálního národního prostředí.

Příklad

=FIXED(1234567,89;3) vrátí 1 234 567,890 jako textový řetězec.

=FIXED(123456,789;;TRUE) vrátí 1234567,79 jako textový řetězec.

=FIXED(12345,6789;-2) vrátí 12 300 jako textový řetězec.

=FIXED(12134567,89;-3;1) vrátí 12135000 jako textový řetězec.

=FIXED(12345,789;3/4) vrátí 12 346 jako textový řetězec.

=FIXED(12345,789;8/5) vrátí 12 345,8 jako textový řetězec.

LEFT

Vrátí první znak nebo znaky textu.

Syntaxe

LEFT("Text" [; Počet])

Text je text, u nějž se určí počáteční část.

Počet (volitelné) počet znaků počátečního textu. Není-li tento parametr zadán, vrátí se jeden znak.

Příklad

=LEFT("výstup";3) vrátí “výs”.

LEFTB

Vrátí první znak nebo znaky textu s DBCS.

tip

Tato funkce je k dispozici od verze LibreOffice 4.2.


Syntaxe

LEFTB("Text" [; Počet_bajtů])

Text je text, u nějž se určí počáteční část.

Počet_bajtů (nepovinné) udává na základě bajtů počet znaků počátečního textu. Není-li tento parametr zadán, vrátí se jeden znak.

Příklad

=LEFTB("中国";1) vrátí " " (1 bajt je pouze polovina znaku DBCS a místo ní se vrátí znak mezery).

=LEFTB("中国";2) vrátí "中" (2 bajty představují jeden úplný znak DBCS).

=LEFTB("中国";3) vrátí "中 " (3 bajty představují jeden a půl znaku DBCS; místo posledního znaku se proto vrátí znak mezery).

=LEFTB("中国";4) vrátí "中国" (4 bajty představují dva úplné znaky DBCS).

=LEFTB("office";3) vrátí "off" (3 znaky bez DBCS, z nichž je každý tvořen 1 bajtem).

LEN

Vrátí délku řetězce včetně mezer.

Syntaxe

LEN("Text")

Text je text, jehož délka se zjistí.

Příklad

=LEN("Dobré odpoledne") vrátí 15.

=LEN(12345.67) vrátí 8.

LENB

U jazyků s dvoubajtovou znakovou sadou (DBCS) vrátí počet bajtů použitých pro reprezentaci znaků textového řetězce.

tip

Tato funkce je k dispozici od verze LibreOffice 4.2.


Syntaxe

LENB("Text")

Text je text, jehož délka se má zjistit.

Příklad

LENB("中") vrátí 2 (1 znak DBCS tvořený 2 bajty).

LENB("中国") vrátí 4 (2 znaky DBCS, z nichž je každý tvořen 2 bajty).

LENB("office") vrátí 6 (6 znaků bez DBCS, z nichž je každý tvořen 1 bajtem).

=LENB("Dobré odpoledne") vrátí 15.

=LENB(12345.67) vrátí 8.

LOWER

Převede všechna velká písmena v textovém řetězci na malá.

Syntaxe

LOWER("Text")

Text představuje text, který se převede.

Příklad

=LOWER("Slunce") vrátí slunce.

MID

Vrátí podřetězec textu. Parametry určují počáteční pozici a počet znaků.

Syntaxe

MID("Text"; Začátek; Počet)

Text obsahuje znaky, které se vyčlení.

Začátek je pozice v textu, na které se vyčlení první znak.

Počet udává počet znaků ve vyčleněné části textu.

Příklad

=MID("office";2;2) vrátí ff.

MIDB

Vrátí podřetězec textu s DBCS. Parametry určují počáteční pozici a počet znaků.

tip

Tato funkce je k dispozici od verze LibreOffice 4.2.


Syntaxe

MIDB("Text"; Začátek; Počet_bajtů)

Text obsahuje znaky, které se vyčlení.

Začátek je pozice v textu, na které se vyčlení první znak.

Počet_bajtů udává počet znaků vráceného textu v bajtech.

Příklad

=MIDB("中国";1;0) vrátí "" (0 bajtů vždy představuje prázdný řetězec).

=MIDB("中国";1;1) vrátí " " (1 bajt je pouze polovina znaku DBCS, a proto je výsledkem znak mezery).

=MIDB("中国";1;2) vrátí "中" (2 bajty představují jeden úplný znak DBCS).

=MIDB("中国";1;3) vrátí "中 " (3 bajty představují jeden a půl znaku DBCS; místo posledního znaku se proto vrátí znak mezery).

=MIDB("中国";1;4) vrátí "中国" (4 bajty představují dva úplné znaky DBCS).

=MIDB("中国";2;1) vrátí " " (bajt na pozici 2 není na začátku znaku řetězce DBCS; vrátí se 1 znak mezery).

=MIDB("中国";2;2) vrátí " " (bajt na pozici 2 představuje druhou polovinu prvního znaku řetězce DBCS; požadované 2 bajty proto představují druhou polovinu prvního znaku a první polovinu druhého znaku řetězce; vrátí se tudíž 2 znaky mezery).

=MIDB("中国";2;3) vrátí " 国" (bajt na pozici 2 není na začátku znaku řetězce DBCS; vrátí se pro něj proto znak mezery).

=MIDB("中国";3;1) vrátí " " (bajt na pozici 3 je na začátku znaku řetězce DBCS, ale 1 bajt představuje pouze polovinu znaku DBCS, a proto se místo ní vrátí znak mezery).

=MIDB("中国";3;2) vrátí "国" (bajt na pozici 3 je na začátku znaku řetězce DBCS a 2 bajty představují jeden znak DBCS).

=MIDB("office";2;3) vrátí "ffi" (bajt na pozici 2 je na začátku znaku řetězce bez DBCS a 3 bajty řetězce bez DBCS představují 3 znaky).

PROPER

Upraví první písmeno ve všech slovech textového řetězce na velké.

Syntaxe

PROPER("Text")

Text představuje text, který se převede.

Příklad

=PROPER("the document foundation") vrátí The Document Foundation.

REPLACE

Nahradí část textového řetězce jiným textovým řetězcem. Tuto funkci je možné využít k náhradě znaků i čísel (která se automaticky převedou na text). Výsledek funkce se vždy zobrazí jako text. Pokud chcete s číslem po náhradě provádět další výpočty, musíte jej převést zpět na číslo pomocí funkce VALUE.

Text, který obsahuje čísla, musí být uzavřen v uvozovkách. V opačném případě se interpretuje jako číslo a automaticky převede na text.

Syntaxe

REPLACE("Text"; Pozice; Délka; "NovýText")

Text představuje text, jehož část bude nahrazena.

Pozice představuje pozici v textu, od které se začne nahrazovat.

Délka je počet znaků v Textu, který se nahradí.

NovýText představuje text, kterým bude nahrazen Text.

Příklad

=REPLACE("1234567";1;1;"444") vrátí "444234567". Jeden znak na pozici 1 je nahrazen celým NovýmTextem.

REPT

Opakuje textový řetězec tolikrát, kolikrát je uvedeno v parametru počet.

Syntaxe

REPT("Text"; Počet)

Text je text, který se bude opakovat.

Číslo udává počet opakování.

Příklad

=REPT("Dobré ráno";2) vrátí Dobré ránoDobré ráno.

tip

Další informace o této funkci naleznete na wiki stránce REPT.


RIGHT

Vrátí poslední znak nebo znaky textu.

Syntaxe

RIGHT("Text" [; Počet])

Text je text, jehož pravá část se má zjistit.

Počet (nepovinné) je počet znaků z pravé části textu. Není-li tento parametr zadán, vrátí se jeden znak.

Příklad

=RIGHT("Slunce";2) vrátí ce.

RIGHTB

Vrátí poslední znak nebo znaky textu s dvoubajtovou znakovou sadou (DBCS).

tip

Tato funkce je k dispozici od verze LibreOffice 4.2.


Syntaxe

RIGHTB("Text" [; Počet_bajtů])

Text je text, jehož pravá část se má zjistit.

Počet_bajtů (nepovinné) udává na základě bajtů počet znaků textu z pravé části. Není-li tento parametr zadán, vrátí se jeden bajt.

Příklad

RIGHTB("中国";1) vrátí " " (1 bajt představuje pouze polovinu znaku DBCS a místo ní se vrátí znak mezery).

RIGHTB("中国";2) vrátí "国" (2 bajty představují jeden úplný znak DBCS).

RIGHTB("中国";3) vrátí " 国" (3 bajty představují půl a jeden úplný znak DBCS; místo první poloviny se vrátí mezera).

RIGHTB("中国";4) vrátí "中国" (4 bajty představují dva úplné znaky DBCS).

RIGHTB("office";3) vrátí "ice" (3 znaky bez DBCS, z nichž je každý tvořen 1 bajtem).

SEARCH

Vrátí pozici části textu v řetězci. Možné je také nastavit začátek hledání. Hledaný text může být číslo nebo sekvence znaků. U hledání nezávisí na velikosti písmen. Pokud text nebyl nalezen, vrátí chybu 519 (#VALUE).

Vyhledávání podporuje zástupné znaky nebo regulární výrazy. Zadáte-li například "all.*", najdete první výskyt "all" následovaný jakýmikoliv znaky. Chcete-li hledat text, který je rovněž regulárním výrazem, musíte před každý znak napsat znak \ nebo text uzavřít mezi \Q...\E. Vypnout a zapnout automatické vyhodnocování regulárních výrazů můžete v - LibreOffice Calc - Výpočty.

warning

Pokud použijete funkci, jejíž jeden nebo více argumentů představují řetězce s kritérii vyhledávání, nejprve dojde k pokusu převést tyto řetězce na číslo, například ".0" se převede na 0 a podobně. V případě úspěšného převodu se nebude vyhledávat regulární výraz, ale číslo. Pokud však používáte národní prostředí s jiným oddělovačem desetinných míst, než je tečka, regulární výraz bude fungovat. Chcete-li regulární výraz vždy vynutit místo číselného výrazu, použijte výraz, který nelze interpretovat jako číslo, například ".[0]", ".\0" nebo "(?i).0".


Syntaxe

SEARCH("Hledaný Text"; "Text" [; Pozice])

HledanýText je text, který se bude hledat.

Text je text, ve kterém se bude hledat.

Pozice (nepovinné) je pozice v textu, od které hledání začne.

Příklad

=SEARCH(54;998877665544) vrátí 10.

SUBSTITUTE

Nahradí část textu v řetězci jiným textem.

Syntaxe

SUBSTITUTE("Text"; "Hledaný text"; "Nový text" [; Výskyt])

Text je text, jehož části se nahradí.

HledanýText je část textu, která bude nahrazena (vícekrát).

NovýText je text, kterým bude nahrazena část textu.

Výskyt (nepovinné) značí, kolikátý výskyt hledaného textu se nahradí. Není-li tento parametr zadán, nahradí se všechny výskyty.

Příklad

=SUBSTITUTE("123123123";"3";"abc") vrátí 12abc12abc12abc.

=SUBSTITUTE("123123123";"3";"abc";2) vrátí 12312abc123.

T

Tato funkce vrátí cílový text nebo prázdný řetězec, pokud cíl není text.

Syntaxe

T(Hodnota)

Pokud je Hodnota textový řetězec nebo odkaz na textový řetězec, T vrátí tento řetězec; jinak vrátí prázdný textový řetězec.

Příklad

=T(12345) vrátí prázdný řetězec.

=T("12345") vrátí řetězec 12345.

TEXT

Převede hodnotu na text podle daného formátu.

Syntaxe

TEXT(hodnota; formát)

Hodnota je hodnota (číselná nebo textová), která má být převedena.

Formát je text, který určuje formát. Použijte oddělovače desetinných míst a tisíců v souladu s tím, jaký jazyk je nastaven ve formátu buňky.

Příklad

=TEXT(12.34567;"###.##") vrátí text 12.35

=TEXT(12.34567;"000.00") vrátí text 012.35

=TEXT("xyz";"=== @ ===") vrátí text === xyz ===

tip

Viz také Kódy formátu čísla: uživatelské formáty definované uživatelem.


TRIM

Odstraní mezery z řetězce a ponechá mezi slovy jen jednoznakovou mezeru.

Syntaxe

TRIM("Text")

Text je text, ve kterém mají být odstraněny mezery.

Příklad

=TRIM(" ahoj světe ") vrátí ahoj světe bez úvodních a koncových mezer a s jedinou mezerou mezi slovy.

UNICHAR

Převede číselný kód na znak nebo písmeno Unicode.

Syntaxe

UNICHAR(číslo)

Příklad

=UNICHAR(169) vrátí znak copyright - ©.

tip

Viz také funkci UNICODE().


UNICODE

Vrátí numerický kód prvního Unicode znaku řetězce.

Syntaxe

UNICODE("Text")

Příklad

=UNICODE("©") vrátí číslo Unicode 169 pro znak copyrightu.

tip

Viz také funkci UNICHAR().


UPPER

Převede řetězec v parametru text na velká písmena.

Syntaxe

UPPER("Text")

Text představuje malá písmena, která chcete převést na velká písmena.

Příklad

=UPPER("Dobré ráno") vrátí DOBRÉ RÁNO.

Podpořte nás!