LibreOffice 24.8 Help
This section contains descriptions of the Text functions.
To include a text string in a formula, place the text string between two double quotation marks (") and Calc takes the characters in the string without attempting to interpret them. For example, the formula ="Hello world!" displays the text string Hello world! in the cell, with no surrounding double quotation marks.
The more complex formula =CONCATENATE("Life is really simple, "; "but we insist on making it complicated "; "(Confucius).") concatenates three individual strings in double quotation marks, outputting Life is really simple, but we insist on making it complicated (Confucius).
To place a literal double quotation mark within a string inside a formula, two methods can be used:
You can "escape" the double quotation mark with an additional double quotation mark, and Calc treats the escaped double quotation mark as a literal value. For example, the formula ="My name is ""John Doe""." outputs the string My name is "John Doe". Another simple example is the formula =UNICODE("""") which returns 34, the decimal value of the Unicode quotation mark character (U+0022) — here the first and fourth double quotation marks indicate the beginning and end of the string, while the second double quotation mark escapes the third.
You can use the CHAR function or the UNICHAR function to insert a double quotation mark. For example, the formula =UNICHAR(34) & "The Catcher in the Rye" & UNICHAR(34) & " is a famous book by J. D. Salinger." displays the string "The Catcher in the Rye" is a famous book by J. D. Salinger.
Be aware that Calc's AutoCorrect function may modify double quotation marks. AutoCorrect should not change the double quotation marks within formula cells but may change those used in non-formula cells containing text. For example, if you copy a string that is surrounded by some other form of typographical double quotation marks, such as the left double quotation mark (U+201C) and the right double quotation mark (U+201D), and then paste into a formula cell, an error may result. Open the Double Quotes area of the dialog to set the characters used to automatically correct the start and end typographical double quotation marks. Uncheck the toggle button to disable the feature.
Converts a number to Thai text, including the Thai currency names.
BAHTTEXT(Number)
Number is any number. "Baht" is appended to the integral part of the number, and "Satang" is appended to the decimal part of the number.
=BAHTTEXT(12.65) returns a string in Thai characters with the meaning of "Twelve Baht and sixty five Satang".
COM.MICROSOFT.BAHTTEXT
Converts a positive integer to a specified base into a text from the numbering system. The digits 0-9 and the letters A-Z are used.
BASE(Number; Radix [; MinimumLength])
number is the positive integer to be converted.
Radix indicates the base of the numeral system. It may be any positive integer between 2 and 36.
Minimum length (optional) determines the minimum length of the character sequence that has been created. If the text is shorter than the indicated minimum length, zeros are added to the left of the string.
=BASE(17;10;4) returns 0017 in the decimal system.
=BASE(17;2) returns 10001 in the binary system.
=BASE(255;16;4) returns 00FF in the hexadecimal system.
Converts a number into a character according to the current code table. The number can be a two-digit or three-digit integer number.
CHAR(number)
number is a number between 1 and 255 representing the code value for the character.
=CHAR(100) returns the character d.
="abc" & CHAR(10) & "def" inserts a newline character into the string.
All non-printing characters are removed from the string.
CLEAN(text)
text refers to the text from which to remove all non-printable characters.
=LEN(CLEAN(CHAR(7) & "LibreOffice Calc" & CHAR(8))) returns 16, showing that the CLEAN function removes the non-printable Unicode U+0007 ("BEL") and U+0008 ("BS") characters at the beginning and end of the string argument. CLEAN does not remove spaces.
Returns a numeric code for the first character in a text string.
CODE(Text)
Text is the text for which the code of the first character is to be found.
=CODE("Hieronymus") returns 72, =CODE("hieroglyphic") returns 104.
The code used here does not refer to ASCII, but to the code table currently loaded.
Combines several text strings into one string.
CONCATENATE(String 1 [; String 2 [; … [; String 255]]])
String 1[; String 2][; … ;[String 255]] are strings or references to cells containing strings.
=CONCATENATE("Good ";"Morning ";"Mrs. ";"Doe") returns: Good Morning Mrs. Doe.
Converts text that represents a number in a numeral system with the given base radix to a positive integer. The radix must be in the range 2 to 36. Spaces and tabs are ignored. The Text field is not case-sensitive.
If the radix is 16, a leading x or X or 0x or 0X, and an appended h or H, are disregarded. If the radix is 2, an appended b or B is disregarded. Other characters that do not belong to the numeral system generate an error.
DECIMAL(Text; Radix)
Text is the text to be converted.
Radix indicates the base of the numeral system. It may be any positive integer between 2 and 36.
=DECIMAL("17";10) returns 17.
=DECIMAL("FACE";16) returns 64206.
=DECIMAL("0101";2) returns 5.
Converts a number to a string representing the amount in the currency format, rounded to a specified decimal places, using the decimal separator that corresponds to the current locale setting. In the Value field enter the number to be converted. Optionally, you may enter the number of decimal places in the Decimals field. If no value is specified, all numbers in currency format will be displayed with two decimal places.
You set the currency format in your system settings.
DOLLAR(Value [; Decimals])
value is a number, a reference to a cell containing a number, or a formula which returns a number.
decimals is the optional number of decimal places.
=DOLLAR(255) returns $255.00 for the English (USA) locale and USD (dollar) currency; ¥255.00 for the Japanese locale and JPY (yen) currency; or 255,00 € for the German (Germany) locale and EUR (euro) currency.
=DOLLAR(367.456;2) returns $367.46.
Compares two text strings and returns TRUE if they are identical. This function is case-sensitive.
EXACT("Text1"; "Text2")
text_1 refers to the first text to compare.
text_2 is the second text to compare.
=EXACT("microsystems";"Microsystems") returns FALSE.
Returns the position of a string of text within another string.You can also define where to begin the search. The search term can be a number or any string of characters. The search is case-sensitive.
FIND("FindText"; "Text" [; Position])
find_text refers to the text to be found.
text is the text where the search takes place.
position (optional) is the position in the text from which the search starts.
=FIND(76;998877665544) returns 6.
Returns a number as text with a specified number of decimal places and optional thousands separators.
FIXED(Number; [Decimals = 2 [; NoThousandsSeparators = FALSE]])
Number is rounded to Decimals places (after the decimal separator) and the result formatted as text, using locale-specific settings.
Decimals (optional) refers to the number of decimal places to be displayed. If Decimals is negative, Number is rounded to ABS(Decimals) places to the left from the decimal point. If Decimals is a fraction, it is truncated actually ignoring what is the closest integer.
NoThousandsSeparators (optional) determines whether the thousands separator is used. If it is TRUE or non-zero, then group separators are omitted from the resulting string. If the parameter is equal to 0 or if it is missing altogether, the thousands separators of your current locale setting are displayed.
=FIXED(1234567.89;3) returns 1,234,567.890 as a text string.
=FIXED(123456.789;;TRUE) returns 123456.79 as a text string.
=FIXED(12345.6789;-2) returns 12,300 as a text string.
=FIXED(12134567.89;-3;1) returns 12135000 as a text string.
=FIXED(12345.789;3/4) returns 12,346 as a text string.
=FIXED(12345.789;8/5) returns 12,345.8 as a text string.
Returns the first character or characters of a text.
LEFT("Text" [; Number])
text is the text where the initial partial words are to be determined.
Number (optional) specifies the number of characters for the start text. If this parameter is not defined, one character is returned.
=LEFT("output";3) returns “out”.
Returns the first characters of a DBCS text.
LEFTB("Text" [; Number_bytes])
Text is the text where the initial partial words are to be determined.
Number_bytes (optional) specifies the number of characters you want LEFTB to extract, based on bytes. If this parameter is not defined, one character is returned.
=LEFTB("中国";1) returns " " (1 byte is only half a DBCS character and a space character is returned instead).
=LEFTB("中国";2) returns "中" (2 bytes constitute one complete DBCS character).
=LEFTB("中国";3) returns "中 " (3 bytes constitute one DBCS character and a half; the last character returned is therefore a space character).
=LEFTB("中国";4) returns "中国" (4 bytes constitute two complete DBCS characters).
=LEFTB("office";3) returns "off" (3 non-DBCS characters each consisting of 1 byte).
Returns the length of a string including spaces.
CLEAN(text)
text is the text whose length is to be determined.
=LEN("Good Afternoon") returns 14.
=LEN(12345.67) returns 8.
For double-byte character set (DBCS) languages, returns the number of bytes used to represent the characters in a text string.
LENB("Text")
text is the text whose length is to be determined.
LENB("中") returns 2 (1 DBCS character consisting of 2 bytes).
LENB("中国") returns 4 (2 DBCS characters each consisting of 2 bytes).
LENB("office") returns 6 (6 non-DBCS characters each consisting of 1 byte).
=LENB("Good Afternoon") returns 14.
=LENB(12345.67) returns 8.
Converts all uppercase letters in a text string to lowercase.
LOWER(text)
find_text refers to the text to be found.
=LOWER("Sun") returns sun.
Returns a text string of a text. The parameters specify the starting position and the number of characters.
MID(text; start; number)
text is the text containing the characters to extract.
start is the position of the first character in the text to extract.
number specifies the number of characters in the part of the text.
=MID("office";2;2) returns ff.
Returns a text string of a DBCS text. The parameters specify the starting position and the number of characters.
MIDB("Text"; Start; Number_bytes)
text is the text containing the characters to extract.
Start is the position of the first character in the text to extract.
Number_bytes specifies the number of characters MIDB will return from text, in bytes.
=MIDB("中国";1;0) returns "" (0 bytes is always an empty string).
=MIDB("中国";1;1) returns " " (1 byte is only half a DBCS character and therefore the result is a space character).
=MIDB("中国";1;2) returns "中" (2 bytes constitute one complete DBCS character).
=MIDB("中国";1;3) returns "中 " (3 bytes constitute one and a half DBCS character; the last byte results in a space character).
=MIDB("中国";1;4) returns "中国" (4 bytes constitute two complete DBCS characters).
=MIDB("中国";2;1) returns " " (byte position 2 is not at the beginning of a character in a DBCS string; 1 space character is returned).
=MIDB("中国";2;2) returns " " (byte position 2 points to the last half of the first character in the DBCS string; the 2 bytes asked for therefore constitutes the last half of the first character and the first half of the second character in the string; 2 space characters are therefore returned).
=MIDB("中国";2;3) returns " 国" (byte position 2 is not at the beginning of a character in a DBCS string; a space character is returned for byte position 2).
=MIDB("中国";3;1) returns " " (byte position 3 is at the beginning of a character in a DBCS string, but 1 byte is only half a DBCS character and a space character is therefore returned instead).
=MIDB("中国";3;2) returns "国" (byte position 3 is at the beginning of a character in a DBCS string, and 2 bytes constitute one DBCS character).
=MIDB("office";2;3) returns "ffi" (byte position 2 is at the beginning of a character in a non-DBCS string, and 3 bytes of a non-DBCS string constitute 3 characters).
Capitalizes the first letter in all words of a text string.
PROPER(text)
find_text refers to the text to be found.
=PROPER("the document foundation") returns The Document Foundation.
Replaces part of a text string with a different text string. This function can be used to replace both characters and numbers (which are automatically converted to text). The result of the function is always displayed as text. If you intend to perform further calculations with a number which has been replaced by text, you will need to convert it back to a number using the VALUE function.
Any text containing numbers must be enclosed in quotation marks if you do not want it to be interpreted as a number and automatically converted to text.
REPLACE(text; position; length; new text)
Text refers to text of which a part will be replaced.
position refers to the position within the text where the replacement will begin.
length is the number of characters in text to be replaced.
new text refers to the text which replaces text.
=REPLACE("1234567";1;1;"444") returns "444234567". One character at position 1 is replaced by the complete NewText.
Repeats a character string by the given number of copies.
REPT(text; number)
text is the text to be repeated.
number is the number of repetitions.
=REPT("Good morning";2) returns Good morningGood morning.
Refer to the REPT wiki page for more details about this function.
Returns the last character or characters of a text.
RIGHT("Text" [; Number])
text is the text of which the right part is to be determined.
Number (optional) is the number of characters from the right part of the text. If this parameter is not defined, one character is returned.
=RIGHT("Sun";2) returns un.
Returns the last character or characters of a text with double bytes characters sets (DBCS).
RIGHTB("Text" [; Number_bytes])
Text is the text of which the right part is to be determined.
Number_bytes (optional) specifies the number of characters you want RIGHTB to extract, based on bytes. If this parameter is not defined, one byte is returned.
RIGHTB("中国";1) returns " " (1 byte is only half a DBCS character and a space character is returned instead).
RIGHTB("中国";2) returns "国" (2 bytes constitute one complete DBCS character).
RIGHTB("中国";3) returns " 国" (3 bytes constitute one half DBCS character and one whole DBCS character; a space is returned for the first half).
RIGHTB("中国";4) returns "中国" (4 bytes constitute two complete DBCS characters).
RIGHTB("office";3) returns "ice" (3 non-DBCS characters each consisting of 1 byte).
Returns the position of a text segment within a character string. You can set the start of the search as an option. The search text can be a number or any sequence of characters. The search is not case-sensitive. If the text is not found, returns error 519 (#VALUE).
SEARCH("FindText"; "Text" [; Position])
find_text is the text to be searched for.
text is the text where the search will take place.
position (optional) is the position in the text where the search is to start.
=SEARCH(54;998877665544) returns 10.
Substitutes new text for old text in a string.
SUBSTITUTE("Text"; "SearchText"; "NewText" [; Occurrence])
text is the text in which text segments are to be exchanged.
search_text is the text segment that is to be replaced (a number of times).
new text is the text that is to replace the text segment.
Occurrence (optional) indicates which occurrence of the search text is to be replaced. If this parameter is missing the search text is replaced throughout.
=SUBSTITUTE("123123123";"3";"abc") returns 12abc12abc12abc.
=SUBSTITUTE("123123123";"3";"abc";2) returns 12312abc123.
This function returns the target text, or a blank text string if the target is not text.
T(value)
If Value is a text string or refers to a text string, T returns that text string; otherwise it returns a blank text string.
=T(12345) returns an empty string.
=T("12345") returns the string 12345.
Converts a value into text according to a given format.
TEXT(Value; Format)
Value is the value (numerical or textual) to be converted.
Format is the text which defines the format. Use decimal and thousands separators according to the language set in the cell format.
=TEXT(12.34567;"###.##") returns the text 12.35
=TEXT(12.34567;"000.00") returns the text 012.35
=TEXT("xyz";"=== @ ===") returns the text === xyz ===
See also Number format codes: custom format codes defined by the user.
Removes spaces from a string, leaving only a single space character between words.
TRIM(Text)
Text refers to text in which spaces are to be removed.
=TRIM(" hello world ") returns hello world without leading and trailing spaces and with single space between words.
Converts a code number into a Unicode character or letter.
UNICHAR(number)
=UNICHAR(169) returns the Copyright character ©.
See also the UNICODE() function.
Returns a numeric code for the first character in a text string.
UNICODE("Text")
=UNICODE("©") returns the Unicode number 169 for the Copyright character.
See also the UNICHAR() function.
Converts the string specified in the text field to uppercase.
UPPER(text)
text refers to the lower case letters you want to convert to upper case.
=UPPER("Good Morning") returns GOOD MORNING.