Съдържание
Индекс 🔎︎

# Функции за текст

Този раздел съдържа описания на функциите за текст.

За достъп до тази команда...

Вмъкване - Функция - Категория Текст

## Използване на двойни кавички във формули

За да включите текстов низ във формула, оградете го в двойни кавички (") и Calc ще вземе знаците в низа, без да се опитва да ги интерпретира. Например формулата ="Здравей, свят!" показва в клетката текстовия низ Здравей, свят!, без ограждащи двойни кавички.

По-сложната формула =CONCATENATE("Животът всъщност е прост, "; "но ние упорито го усложняваме. "; "(Конфуций)") конкатенира три отделни низа в двойни кавички и извежда Животът всъщност е прост, но ние упорито го усложняваме. (Конфуций).

За да включите самия знак двойна кавичка в низ във формула, можете да използвате два метода:

1. Можете да „екранирате“ двойната кавичка с още една, и Calc обработва екранираната двойна кавичка като буквална стойност. Например формулата ="Името ми е ""Иван Иванов""." извежда низа Името ми е "Иван Иванов". Друг прост пример е формулата =UNICODE(""""), която връща 34, десетичната стойност на знака двойна кавичка в Уникод (U+0022) – тук първата и четвъртата кавичка означават началото и края на низа, а втората екранира третата.

2. Можете да използвате функцията CHAR или UNICHAR , за да вмъкнете двойна кавичка. Например формулата =UNICHAR(34) & "Спасителят в ръжта" & UNICHAR(34) & " е известна книга от Дж. Д. Селинджър." показва низа "Спасителят в ръжта" е известна книга от Дж. Д. Селинджър.

Имайте предвид, че функцията на Calc за автокоригиране може да замени двойните кавички. Автокоригирането не променя двойни кавички в клетки с формули, но може да замести тези в клетките без формули, които съдържат текст. Например ако копирате низ, който е ограден от някакъв друг вид типографски двойни кавички, например лява двойна кавичка (U+201C) и дясна двойна кавичка (U+201D), и ги поставите в клетка с формула, може да възникне грешка. Отворете областта Двойни кавички от диалога Инструменти - Настройки на автокорекция - Локализирани настройки, за да зададете знаците, които се използват за автоматично поправяне на началните и крайни типографски двойни кавички. Махнете отметката от Замяна, за да изключите тази функционалност.

## ARABIC

Връща числовата стойност, съответстваща на изразено като текст римско число.

## ASC

Преобразува двубайтови (с пълна ширина) знаци към еднобайтови (с половин ширина) знаци от ASCII и катакана.

## JIS

Преобразува еднобайтови знаци (с половин ширина) от ASCII или катакана към двубайтови знаци (с пълна ширина).

## REGEX

Разпознава и извлича или по желание замества текст посредством регулярни изрази.

## ROMAN

Преобразува число към изписване с римски цифри. Стойността трябва да е в диапазона от 0 до 3999. Може да бъде зададен режим на опростяване в диапазона от 0 до 4.

## VALUE

Преобразува низовото представяне на число към числова форма. Ако подаденият низ е валидна дата, час или дата и час, връща се съответния сериен номер на дата и час.

### WEBSERVICE

Получава уеб съдържание чрез URI.

### FILTERXML

Прилага израз на XPath върху документ на XML.

### ENCODEURL

Връща низ, кодиран като URL.

## BAHTTEXT

Преобразува число в тайски текст, включително имената на тайските парични единици.

#### Синтаксис

BAHTTEXT(Число)

Число е произволно число. Към цялата му част се добавя „бат“, а към дробната – „сатанг“.

#### Пример

=BAHTTEXT(12,65) връща низ от тайски знаци със значение „Дванайсет бата и шейсет и пет сатанга“.

## BASE

Преобразува положително цяло число в текст според бройна система с дадена основа. Използват се цифрите от 0 до 9 и буквите от A до Z.

#### Синтаксис

BASE(Число; Основа [; МинималнаДължина])

Число е положително число, което ще се преобразува.

Основа указва основата на бройната система – положително цяло число между 2 и 36.

МинималнаДължина (незадължителен) определя минималната дължина на създаваната поредица от знаци. Ако текстът е по-къс от зададената минимална дължина, низът се допълва отляво с нули.

#### Пример

=BASE(17;10;4) връща 0017 в десетичната система.

=BASE(17;2) връща 10001 в двоичната система.

=BASE(255;16;4) връща 00FF в шестнадесетичната система.

## CHAR

Преобразува число в знак според текущата кодова таблица. Числото може да бъде двуцифрено или трицифрено цяло число.

Кодовете, по-големи от 127, зависят от кодовата таблица на системата (например iso-8859-1, iso-8859-2, Windows-1252, Windows-1250) и поради това може да не са преносими.

#### Синтаксис

CHAR(Число)

Число е число между 1 и 255, представляващо кода на знака.

#### Пример

=CHAR(100) връща знака „d“.

="абв" & CHAR(10) & "где" вмъква знак за нов ред в низа.

## CLEAN

Премахва всички непечатаеми знаци от низ.

#### Синтаксис

CLEAN("Текст")

Текст е текстът, от който да бъдат премахнати всички непечатаеми знаци.

#### Пример

=LEN(CLEAN(CHAR(7) & "LibreOffice Calc" & CHAR(8))) връща 16, което показва, че функцията CLEAN е премахнала непечатаемите знаци от Уникод U+0007 ("BEL") и U+0008 ("BS") в началото и края на аргумента низ. CLEAN не премахва интервали.

## CODE

Връща числов код за първия знак в текстов низ.

#### Синтаксис

CODE("Текст")

Текст е текстът, за който да се намери кодът на първия знак.

Кодовете, по-големи от 127, зависят от кодовата таблица на системата (например iso-8859-1, iso-8859-2, Windows-1252, Windows-1250) и поради това може да не са преносими.

#### Пример

=CODE("Hieronymus") връща 72, а =CODE("hieroglyphic") връща 104.

Използваният код не е ASCII, а текущо заредената кодова таблица.

## CONCATENATE

Комбинира няколко текстови низа в един.

#### Синтаксис

CONCATENATE(Низ 1 [; Низ 2 [; … [; Низ 255]]])

Низ 1[; Низ 2][; … ;[Низ 255]] са низове или обръщения към клетки, съдържащи низове.

#### Пример

=CONCATENATE("Добро ";"утро, ";"г-жо ";"Иванова") връща „Добро утро, г-жо Иванова“.

## DECIMAL

Преобразува текст със знаци отбройна система с дадена основа в положително цяло число. Основата трябва да бъде между 2 и 36. Интервалите и знаците за табулация се игнорират. В полето Текст регистърът на буквите е без значение.

Ако основата е 16, се игнорират водещи знаци „x“, „X“, „0x“ или „0X“ или добавен знак „h“ или „H“. Ако основата 2, се игнорира добавено „b“ или „B“. Останалите знаци, които не принадлежат на бройната система, предизвикват грешка.

#### Синтаксис

DECIMAL("Текст"; Основа)

Текст е текстът, който да бъде преобразуван. За да се различава шестнайсетично число като A1 от обръщение към клетката A1, трябва да оградите числото в кавички, например "A1" или "FACE".

Основа указва основата на бройната система – положително цяло число между 2 и 36.

#### Пример

=DECIMAL("17";10) връща 17.

=DECIMAL("FACE";16) връща 64206.

=DECIMAL("0101";2) връща 5.

## DOLLAR

Преобразува число към парична сума, закръглена до зададена дробна позиция. В полето Стойност въведете числото, което да се преобразува в парична сума. Ако желаете, можете да въведете броя на дробните позиции в полето ДробниПозиции. Ако не бъде зададена стойност, се подразбират две дробни позиции.

Форматът за валута се задава в системните настройки.

#### Синтаксис

DOLLAR(Стойност [; ДробниПозиции])

Стойност е число, обръщение към клетка с число или формула, която връща число.

ДробниПозиции е незадължителен брой на дробните позиции.

#### Пример

=DOLLAR(255) връща $255.00 за локала „Английски (САЩ)“ и валутата USD (долар); ￥255.00 за локала „Японски“ и валутата JPY (йена); или 255,00 € за локала „Немски (Германия)“ и валутата EUR (евро).

=DOLLAR(367,456;2) връща „367,46 лв.“. Използвайте десетичния разделител, зададен в текущата настройка за локал.

## EXACT

Сравнява два текстови низа и връща TRUE, ако са еднакви. Тази функция е чувствителна към регистъра.

#### Синтаксис

EXACT("Текст1"; "Текст2")

Текст1 е първият текст за сравняване.

Текст2 е вторият текст за сравняване.

#### Пример

=EXACT("microsystems";"Microsystems") връща FALSE.

## FIND

Връща позицията на един текстов низ в друг. Можете да зададете началната точка на търсенето. Търсеният елемент може да бъде число или произволен знаков низ. Регистърът на буквите има значение.

#### Синтаксис

FIND("ТърсенТекст"; "Текст" [; Позиция])

ТърсенТекст е текстът, който да бъде намерен.

Текст е текстът, който се претърсва.

Позиция (незадължителен) е позицията в текста, от която започва търсенето.

#### Пример

=FIND(76;998877665544) връща 6.

## FIXED

Връща число като текст със зададен брой десетични позиции и – по желание – с разделители на хилядите.

#### Синтаксис

FIXED(Число; [ДробниПозиции = 2 [; БезРазделителНаХилядите = FALSE]])

Число се закръглява до ДробниПозиции разреда (след десетичния разделител) и резултатът се форматира като текст съобразно настройките за конкретния локал.

ДробниПозиции (незадължителен) задава броя на показваните дробни разреди. Ако ДробниПозиции е отрицателен, Число се закръглява до ABS(ДробниПозиции) разреда вляво от десетичната запетая. Ако ДробниПозиции е дроб, дробната му част се премахва, без значение кое е най-близкото цяло число.

БезРазделителНаХилядите (незадължителен) определя дали да се използва разделител на хилядите. Ако е TRUE или ненулев, разделителите на групи се пропускат в низа резултат. Ако параметърът е равен на 0 или липсва, се използва разделителят на хилядите, зададен в текущата настройка за локал.

#### Пример

=FIXED(1234567,89;3) връща „1 234 567,890“ като текстов низ.

=FIXED(123456,789;;TRUE) връща 123456,79 като текстов низ.

=FIXED(12345,6789;-2) връща 12 300 като текстов низ.

=FIXED(12134567,89;-3;1) връща 12135000 като текстов низ.

=FIXED(12345,789;3/4) връща 12 346 като текстов низ.

=FIXED(12345,789;8/5) връща 12 345,8 като текстов низ.

## LEFT

Връща първия знак или знаци на текст.

#### Синтаксис

LEFT("Текст" [; Брой])

Текст е текстът, чието начало да бъде извлечено.

Брой (незадължителен) е броят на знаците от началото на текста. Ако параметърът е пропуснат, се връща един знак.

#### Пример

=LEFT("външен";3) връща „вън“.

## LEFTB

Връща първите знаци на текст в двубайтов код (DBCS).

Тази функция е налична от LibreOffice 4.2.

#### Синтаксис

LEFTB("Текст" [; Брой_байтове])

Текст е текстът, чието начало да бъде извлечено.

Брой_байтове (незадължителен) указва броя на знаците, които LEFTB да извлече, като брой байтове. Ако параметърът е пропуснат, се връща един знак.

#### Пример

=LEFTB("中国"; 1) връща " " (1 байт е само половин DBCS знак и вместо това се връща интервал).

=LEFTB("中国"; 2) връща "中" (2 байта представляват един цял DBCS знак).

=LEFTB("中国"; 3) връща "中 " (3 байта представляват един и половина DBCS знака; затова последният върнат знак е интервал).

=LEFTB("中国"; 4) връща "中国" (4 байта представляват два цели DBCS знака).

=LEFTB("office"; 3) връща "off" (3 не-DBCS знака, всеки по 1 байт).

## LEN

Връща дължината на низ, включително интервалите.

#### Синтаксис

LEN("Текст")

Текст е текстът, чиято дължина да бъде намерена.

#### Пример

=LEN("Добър ден") връща 9.

=LEN(12345,67) връща 8.

## LENB

За езици с двубайтов знаков набор (DBCS) връща броя байтове, използвани за представяне на знаците в текстов низ.

Тази функция е налична от LibreOffice 4.2.

#### Синтаксис

LENB("Текст")

Текст е текстът, чиято дължина да бъде намерена.

#### Пример

LENB("中") връща 2 (1 DBCS знак, съставен от 2 байта).

LENB("中国") връща 4 (2 DBCS знака, всеки съставен от 2 байта).

LENB("office") връща 6 (6 не-DBCS знака, всеки съставен от 1 байт).

=LENB("Добър ден") връща 9.

=LENB(12345,67) връща 8.

## LOWER

Преобразува всички главни букви в текстов низ в малки букви.

#### Синтаксис

LOWER("Текст")

Текст е текстът, който да бъде преобразуван.

#### Пример

=LOWER("Слънце") връща „слънце“.

## MID

Връща част от текстов низ. Параметрите задават началната позиция и броя знаци.

#### Синтаксис

MID("Текст"; Начало; Брой)

Текст е текстът, от който да бъде извлечена част.

Начало е позицията на първия знак в текста, който да бъде извлечен.

Брой е броят на знаците в желаната част на текста.

#### Пример

=MID("office";2;2) връща „ff“.

## MIDB

Връща част от текст в двубайтов код (DBCS). Параметрите задават началната позиция и броя знаци.

Тази функция е налична от LibreOffice 4.2.

#### Синтаксис

MIDB("Текст"; Начало; Брой_байтове)

Текст е текстът, от който да бъде извлечена част.

Начало е позицията на първия знак в текста, който да бъде извлечен.

Брой_байтове указва броя на знаците, които MIDB ще върне от текста, в байтове.

#### Пример

=MIDB("中国"; 1; 0) връща "" (0 байта винаги означава празен низ).

=MIDB("中国"; 1; 1) връща " " (1 байт е само половин DBCS знак, затова резултатът е интервал).

=MIDB("中国"; 1; 2) връща "中" (2 байта образуват един цял DBCS знак).

=MIDB("中国"; 1; 3) връща "中 " (3 байта образуват един и половина DBCS знака; на последния байт отговаря знак интервал).

=MIDB("中国"; 1; 4) връща "中国" (4 байта образуват два цели DBCS знака).

=MIDB("中国"; 2; 1) връща " " (байтът на позиция 2 не е в началото на знак в DBCS низ; връща се 1 интервал).

=MIDB("中国"; 2; 2) връща " " (байтът на позиция 2 е втората половина на първия знак в DBCS низа, така че поисканите 2 байта обхващат втората половина на първия знак и първата половина на втория знак в низа – затова се връщат 2 интервала).

=MIDB("中国"; 2; 3) връща " 国" (байтът на позиция 2 не е в началото на знак в DBCS низ – за байта на позиция 2 се връща интервал).

=MIDB("中国"; 3; 1) връща " " (байтът на позиция 3 е в началото на знак в DBCS низ, но 1 байт е само половин DBCS знак, затова вместо него се връща интервал).

=MIDB("中国"; 3; 2) връща "国" (байтът на позиция 3 е в началото на знак в DBCS низ и 2 байта са цял DBCS знак).

=MIDB("office"; 2; 3) връща "ffi" (байтът на позиция 2 е в началото на знак в не-DBCS низ, а 3 байта от не-DBCS низ представляват 3 знака).

## PROPER

Превръща първите букви на думите в текстов низ в главни букви.

#### Синтаксис

PROPER("Текст")

Текст е текстът, който да бъде преобразуван.

#### Пример

=PROPER("the document foundation") връща „The Document Foundation“.

## REPLACE

Заменя част от текстов низ с друг текстов низ. Чрез тази функция може да се заменят както знаци, така и числа (числата автоматично се преобразуват в текст). Резултатът на функцията винаги е текст. Ако възнамерявате да извършвате по-нататъшни изчисления с число, заменено с текст, трябва да го преобразувате обратно в число чрез функцията VALUE.

Текстовете, съдържащи числа, трябва да са заградени с кавички, ако не желаете да бъдат интерпретирани като числа и автоматично преобразувани в текст.

#### Синтаксис

REPLACE("Текст"; Позиция; Дължина; "НовТекст")

Текст е текстът, част от който да бъде заменена.

Позиция е позицията в текста, от която да започне замяната.

Дължина е броят на знаците в Текст, които да бъдат заместени.

НовТекст е текстът, с който да се замени част от Текст.

#### Пример

=REPLACE("1234567";1;1;"444") връща „444234567“. Един знак на позиция 1 е заменен с цялата стойност на НовТекст.

## REPT

Повтаря знаков низ зададен брой пъти.

#### Синтаксис

REPT("Текст"; Брой)

Текст е текстът, който да бъде повторен.

Брой е броят повторения.

#### Пример

=REPT("Добро утро";2) връща „Добро утроДобро утро“.

Вижте уикистраницата REPT за повече подробности относно тази функция.

## RIGHT

Връща последния знак или знаци на текст.

#### Синтаксис

RIGHT("Текст" [; Брой])

Текст е текстът, чийто край да бъде извлечен.

Брой (незадължителен) е броят на знаците от дясната част на текста. Ако параметърът е пропуснат, се връща един знак.

#### Пример

=RIGHT("Слънце";2) връща „це“.

## RIGHTB

Връща последния знак или знаци на текст с двубайтов знаков набор (DBCS).

Тази функция е налична от LibreOffice 4.2.

#### Синтаксис

RIGHTB("Текст" [; Брой_байтове])

Текст е текстът, чийто край да бъде извлечен.

Брой_байтове (незадължителен) указва броя на знаците, които RIGHTB да извлече, като брой байтове. Ако параметърът е пропуснат, се връща един байт.

#### Пример

RIGHTB("中国"; 1) връща " " (1 байт е само половин DBCS знак и вместо това се връща интервал).

RIGHTB("中国"; 2) връща "国" (2 байта представляват един цял DBCS знак).

RIGHTB("中国"; 3) връща " 国" (3 байта представляват един и половина DBCS знака; затова първият върнат знак е интервал).

RIGHTB("中国"; 4) връща "中国" (4 байта представляват два цели DBCS знака).

RIGHTB("office"; 3) връща "ice" (3 не-DBCS знака, всеки по 1 байт).

## SEARCH

Връща позицията на текстов откъс в знаков низ. Ако желаете, можете да зададете началото на търсенето. Търсеният текст може да бъде число или произволна поредица от знаци. Регистърът на буквите е без значение. Ако текстът не бъде намерен, резултатът е грешка 519 (#VALUE).

Търсенето поддържа заместващи знаци или регулярни изрази. Ако са разрешени регулярните изрази, можете да въведете например „всички.*“, за да намерите първото срещане на „всички“, последвано от произволни знаци. Ако искате да търсите текст, който сам представлява регулярен израз, трябва или да поставите наклонена черта „\“ пред всеки знак, или да оградите текста с \Q...\E. Можете да превключвате автоматичното изчисляване на заместващи знаци или регулярни изрази в LibreOffice - PreferencesИнструменти - Настройки - PRODUCTNAME Calc - Изчисляване.

Когато се използват функции, в които един или няколко аргумента са низове с критерии за търсене – регулярни изрази, първо се прави опит низовете с критерии да се преобразуват в числа. Например ".0" ще се преобразува в 0.0 и т.н. При успех няма да се използва сравняване по регулярен израз, а сравняване на числа. Ако обаче се превключи към локал, в който десетичният разделител не е точка, ще сработи преобразуването към регулярен израз. За да наложите изчисляване на регулярен израз вместо числов, използвайте израз, който не може да бъде изтълкуван като число, например ".[0]", ".\0" или "(?i).0".

#### Синтаксис

SEARCH("ТърсенТекст"; "Текст" [; Позиция])

ТърсенТекст е текстът, който се търси.

Текст е текстът, който да бъде претърсен.

Позиция (незадължителен) е позицията в текста, от която да започне търсенето.

#### Пример

=SEARCH(54;998877665544) връща 10.

## SUBSTITUTE

Замества съществуващ текст в низ с друг текст.

#### Синтаксис

SUBSTITUTE("Текст"; "ТърсенТекст"; "НовТекст" [; Срещане])

Текст е текстът, в който да бъдат заместени откъси.

ТърсенТекст е текстовият откъс, който да бъде заместен (колкото пъти е необходимо).

НовТекст е текстът, с който се заменя съществуващият откъс.

Срещане (незадължителен) указва кое срещане на търсения откъс да бъде заменено. Ако този параметър липсва, се заменят всички копия на откъса.

#### Пример

=SUBSTITUTE("123123123";"3";"абв") връща „12абв12абв12абв“.

=SUBSTITUTE("123123123";"3";"абв";2) връща „12312абв123“.

## T

Тази функция връща подадения текст или празен низ, ако аргументът не е текст.

#### Синтаксис

ISODD(Стойност)

Ако Стойност е текстов низ или посочва такъв, T връща съответния низ. В противен случай се връща празен низ.

#### Пример

=T(12345) връща празен низ.

=T("12345") връща низа „12345“.

## TEXT

Преобразува стойност в текст според зададен формат.

#### Синтаксис

TEXT(Стойност; Формат)

Стойност е стойността (числова или текстова) за преобразуване.

Формат е текстът, който дефинира формата. Използват се десетични разделители и разделители на хилядите според езика, зададен във формата на клетката.

#### Пример

=TEXT(12,34567;"###.##") връща текста „12,35“.

=TEXT(12,34567;"000.00") връща текста „012,35“.

=TEXT("xyz";"=== @ ===") връща текста === xyz ===

Вижте също Кодове на числови формати: кодове на формати по избор, зададени от потребителя.

## TRIM

Премахва интервалите от низ, оставяйки само по един знак за интервал между думите.

#### Синтаксис

TRIM("Текст")

Текст е текстът, от който да бъдат премахнати интервалите.

#### Пример

=TRIM(" Здравей, свят ") връща „Здравей, свят“, без водещи и завършващи интервали и само с един интервал между думите.

## UNICHAR

Преобразува число в Уникод знак или буква.

#### Синтаксис

UNICHAR(число)

#### Пример

=UNICHAR(169) връща знака за авторски права ©.

Вижте и функцията UNICODE().

## UNICODE

Връща числов код за първия знак от текстов низ по стандарта Уникод.

#### Синтаксис

UNICODE("Текст")

#### Пример

=UNICODE("©") връща номера 169 в Уникод на знака за авторски права.

Вижте и функцията UNICHAR().

## UPPER

Преобразува в малки букви низа, зададен в полето Текст.

#### Синтаксис

UPPER("Текст")

Текст е низът с малки букви, които да бъдат преобразувани в главни.

#### Пример

=UPPER("Добро утро") връща „ДОБРО УТРО“.

Теми, свързани с показаната

Функции по категория