Text Functions

This section contains descriptions of the Text functions.

若要使用此指令...

[插入] - [函式] - [類別] [文字]


REGEX

Matches and extracts or optionally replaces text using regular expressions.

WEBSERVICE

Get some web content from a URI.

FILTERXML

Apply a XPath expression to a XML document.

ENCODEURL

Returns a URL-encoded string.

ARABIC

計算羅馬數字的值。值區域必須介於 0 與 3999 之間。

Syntax

ARABIC("Text")

Text 是表示羅馬數字的文字。

Example

=ARABIC("MXIV") 傳回 1014。

=ARABIC("MMII") 傳回 2002。

ASC

ASC 函式會將全形 ASCII 與片假名字元轉換為半形。會傳回文字字串。

See https://wiki.documentfoundation.org/Calc/Features/JIS_and_ASC_functions for a conversion table.

Syntax

ASC("Text")

Text 是指包含要轉換字元的文字。

另請參閱 JIS 函式。

BAHTTEXT

將數字轉換為泰語文字,包含泰幣名稱。

Syntax

BAHTTEXT(Number)

Number 可以是任何數字。「Baht」會附加到數字的整數部分,而「Satang」會附加到數字的小數部分。

Example

=BAHTTEXT(12.65) 傳回使用泰文字元的字串,表示「12 銖 65 撒丹」。

BASE

將指定底數的正整數轉換為 數字系統 的文字。 將使用數字 0-9 以及字母 A-Z。

Syntax

BASE(Number; Radix [; MinimumLength])

Number 是指要轉換的正整數。

Radix 表示數字系統的基數。可能是介於 2 與 36 之間任何的正整數。

MinimumLength (選擇性) 會決定已建立之字元順序的最小長度。若文字比指定的最小長度短,則會在字串左側加上零。

Example

=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),因此無法移植。

Syntax

CHAR(Number)

Number 是指介於 1 與 255 之間的數字,表示字元的代碼值。

Example

=CHAR(100) 傳回字元 d。

="abc" & CHAR(10) & "def" 會將斷行字元插入字串中。

CLEAN

所有非列印字元從字串中移除。

Syntax

CLEAN("Text")

Text 是指要移除所有不可列印的字元之文字。

Example

=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.

CODE

傳回文字字串中第一個字元的數字碼。

Syntax

CODE("Text")

Text 是要尋找其第一個字元之代碼的文字。

大於 127 的代碼會視系統的字元對映而定 (例如 iso-8859-1、iso-8859-2、Windows-1252、Windows-1250),因此無法移植。

Example

=CODE("Hieronymus") 傳回 72,=CODE("hieroglyphic") 傳回 104。

note

此處所使用的編碼並非 ASCII 碼,而是目前編碼表中的編碼。


CONCATENATE

將數個文字字串合併為一個字串。

Syntax

CONCATENATE(String 1 [; String 2 [; … [; String 255]]])

String 1[; String 2][; … ;[String 255]] are strings or references to cells containing strings.

Example

=CONCATENATE("Good ";"Morning ";"Mrs. ";"Doe") 傳回:Good Morning Mrs. Doe。

DECIMAL

將包含字元的文字從數字系統轉換為指定基底根的正整數。根必須介於範圍 2 到 36 之間。將會忽略空格與定位點。[文字] 欄位不區分大小寫。

如果 Radix 為 16,則前導字元 x、X、0x 或 0X,以及附加的 h 或 H 都會被忽略。如果 Radix 為 2,則附加的 b 或 B 會被忽略。其他不屬於數字系統的字元會產生錯誤。

Syntax

DECIMAL("Text"; Radix)

Text 是指要轉換的文字。若要區別十六進位數字 (如 A1) 與儲存格 A1 的參照,必須在數字前號加上引號,例如 "A1" 或 "FACE"。

Radix 表示數字系統的基數。可能是介於 2 與 36 之間任何的正整數。

Example

=DECIMAL("17";10) 傳回 17。

=DECIMAL("FACE";16) 傳回 64206。

=DECIMAL("0101";2) 傳回 5。

DOLLAR

將數字轉換成使用貨幣格式的金額,並捨入到指定的小數點位數。在 [Value] 欄位中輸入要轉換成貨幣的數字。或是可以在 [Decimals] 欄位中輸入小數點位數。若未指定任何值,則會以兩個小數點位數顯示格式為貨幣的所有數字。

您在系統設定中設定貨幣格式。

Syntax

DOLLAR(Value [; Decimals])

Value 是數字、包含數字的儲存格參照,或傳回數字的公式。

Decimals 是選用的小數點位數。

Example

=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) 傳回 $367.46。使用對應至目前語言環境設定的小數點分隔符號。

EXACT

比較兩個字串,如果都相同則會傳回 TRUE。 此函式會區分大小寫。

Syntax

EXACT("Text1"; "Text2")

Text1 是指要比較的第一段文字。

Text2 是指要比較的第二段文字。

Example

=EXACT("microsystems";"Microsystems") 傳回 FALSE。

FIND

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.

Syntax

FIND("FindText"; "Text" [; Position])

FindText 是指要尋找的文字。

Text 是指進行搜尋所在的文字。

Position (選擇性) 是指文字中開始搜尋的位置。

Example

=FIND(76;998877665544) 傳回 6。

FIXED

Returns a number as text with a specified number of decimal places and optional thousands separators.

Syntax

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.

Example

=FIXED(1234567.89;3) 傳回 1,234,567.890 作為文字字串。

=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.

JIS

JIS 函式會將半形 ASCII 與片假名字元轉換為全形。會傳回文字字串。

See https://wiki.documentfoundation.org/Calc/Features/JIS_and_ASC_functions for a conversion table.

Syntax

JIS("Text")

Text 是指包含要轉換字元的文字。

另請參閱 ASC 函式。

LEFT

傳回文字中的第一個或前幾個字元。

Syntax

LEFT("Text" [; Number])

Text 是要傳回初始部份字串的文字。

Number (選擇性) 指定起始文字的字元數。若未定義此參數,則傳回一個字元。

Example

=LEFT("output";3) 傳回「out」。

LEFTB

傳回雙位元字元集文字的第一個字元。

tip

This function is available since LibreOffice 4.2.


Syntax

LEFTB("Text" [; Number_bytes])

Text 是要傳回初始部份字串的文字。

Number (選擇性) 指定要 LEFTB 擷取的字元數,以位元為單位。若未定義此參數,則傳回一個字元。

Example

LEFTB("台灣";1) 傳回 " " (一位元只是一個雙位元字元集字元的一半,因此只傳回一個空白字元)。

LEFTB("台灣";2) 傳回 "台" (兩位元構成一個完整的雙位元組字元集的字元)。

LEFTB("台灣";3) 傳回 "台 " (三位元構成一又二分之一個雙位元組字元集的字元;因此傳回的最後一個字元是空白字元)。

LEFTB("台灣";4) 傳回 "台灣" (四位元構成兩個完整的雙位元組字元集的字元)。

LEFTB("office";3) 傳回 "off" (三個非雙位元字元集字元,每個一位元)。

LEN

傳回包含空格在內的字串長度。

Syntax

LEN("Text")

Text 是要測定長度的文字。

Example

=LEN("Good Afternoon") 傳回 14。

=LEN(12345.67) 傳回 8。

LENB

在雙位元字元集的語言,傳回用來表達文字字串內的字元的位元數。

tip

This function is available since LibreOffice 4.2.


Syntax

LEN("Text")

Text 是要測定長度的文字。

Example

LENB("中") 傳回 2 (一個雙位元字元集字元由兩位元構成)。

LENB("台灣") 傳回 4 (兩個雙位元字元集字元,各由兩位元構成)。

LENB("office") 傳回 6 (六個非雙位元字元集字元,每個一位元)。

=LENB("Good Afternoon") 傳回 14。

=LENB(12345.67) 傳回 8。

LOWER

將文字字串中所有的大寫字母轉換成小寫字母。

Syntax

LOWER("Text")

Text 是指要轉換的文字。

Example

=LOWER("Sun") 傳回 sun。

MID

傳回文字內的文字字串。參數可指定字元的起始位置和數量。

Syntax

MID("Text"; Start; Number)

Text 是含有要擷取字元的文字。

Start 是要擷取的第一個字元在 Text 中的位置。

Number 指定擷取文字的字元數。

Example

=MID("office";2;2) 傳回 ff。

MIDB

傳回雙位元組字元集文字內的文字字串。參數指定字元的起始位置和數量。

tip

This function is available since LibreOffice 4.2.


Syntax

MIDB("Text"; Start; Number_bytes)

Text 是含有要擷取字元的文字。

Start 是要擷取的第一個字元在 Text 中的位置。

Number_bytes 指定 MIDB 從 Text 傳回的文字字元數量 (以位元為單位)。

Example

MIDB("台灣";1;0) 傳回 "" (零位元是空字串)。

MIDB("台灣";1;1) 傳回 " " (一位元只是半個雙位元組字元集的字元,因此結果是一個空白字元)。

MIDB("台灣";1;2) 傳回 "台" (兩位元構成一個完整的雙位元組字元集的字元)。

MIDB("台灣";1;3) 傳回 "台 " (三位元構成一又二分之一個雙位元組字元集的字元);最後一位元傳回成空白字元)。

MIDB("台灣";1;4) 傳回 "台灣" (四位元構成兩個完整的雙位元組字元集的字元)。

MIDB("台灣";2;1) returns " " (位元位置 2 不是一個雙位元組字元集的字串內的字元起始;所以傳回一個空白字元)。

MIDB("台灣";2;2) 傳回 " " (位元位置 2 指一個雙位元組字元集的字串內的第一個字元的後半;所指定的兩位元構成第一個字元的後半與第二個字元的前半;因此傳回兩個空白字元)。

MIDB("台灣";2;3) returns " 灣" (位元位置 2 不是一個雙位元組字元集的字串內的字元起始;所以對位元位置 2 傳回一個空白字元)。

MIDB("台灣";3;1) returns " " (位元位置 3 是一個雙位元組字元集字串內的字元起始,但是一位元只是半個雙位元組字元集字元,所以傳回一個空白字元)。

MIDB("台灣";3;2) 傳回 "灣" (位元位置 3 是一個雙位元組字元集字串內的字元起始,且兩位元構成一個雙位元組字元集字元)。

MIDB("office";2;3) 傳回 "ffi" (位元位置 3 是一個雙位元組字元集字串內的字元起始,且三位元非雙位元組字元集字串有三字元)。

PROPER

將文字字串中所有單詞的首字母轉換成大寫字母。

Syntax

PROPER("Text")

Text 是指要轉換的文字。

Example

=PROPER("the document foundation") returns The Document Foundation.

REPLACE

用不同的文字字串取代部分文字字串。此函式可用於取代字元與數字 (自動轉換為文字)。函式的結果一律顯示為文字。如果您要用已被文字取代的數字執行進一步計算,則必須使用 VALUE 函式將其轉換回數字。

對於包含數字的文字,如果您不希望它被解譯為數字並自動轉換成文字,請在該文字前後加上引號。

Syntax

REPLACE("Text"; Position; Length; "NewText")

Text 是指部份內容將遭取代的文字。

Position 是指文字內開始取代的位置。

Length 是指在 Text 中要取代的字元數。

NewText 是指取代 Text 的文字。

Example

=REPLACE("1234567";1;1;"444") 傳回「444234567」。位置 1 的一個字元會由完整的 NewText 取代。

REPT

依指定的複製份數,重複字元字串。

Syntax

REPT("Text"; Number)

Text 是指要重複的文字。

Number 是指重複的次數。

結果最大為 255 個字元長。

Example

=REPT("Good morning";2) 傳回 Good morningGood morning。

RIGHT

傳回文字中的最後一個或後幾個字元。

Syntax

RIGHT("Text" [; Number])

Text 是指要傳回右側部分字串的文字。

Number (選擇性) 是指右半部文字的字元數。

Example

=RIGHT("Sun";2) 傳回 un。

RIGHTB

傳回雙位元字元集 (DBCS) 文字的最後幾個字元。

tip

This function is available since LibreOffice 4.2.


Syntax

RIGHTB("Text" [; Number_bytes])

Text 是指要傳回右側部分字串的文字。

Number_bytes (選擇性) 指定想要 RIGHTB 擷取的字元數量,以位元為單位。

Example

RIGHTB("台灣";1) returns " " (一位元只是一個雙位元字元集字元的一半,因此只傳回一個空白字元)。

RIGHTB("台灣";2) returns "灣" (兩位元構成一個完整的雙位元組字元集的字元)。

RIGHTB("台灣";3) returns " 灣" (三位元構成半個加一個雙位元組字元集的字元;因此針對那半個傳回空白字元)。

RIGHTB("台灣";4) 傳回 "台灣" (四位元構成兩個完整的雙位元組字元集的字元)。

RIGHTB("office";3) 傳回 "ice" (三個非雙位元字元集字元,每個一位元)。

ROMAN

將數字轉換成羅馬數字。數值必須介於 0 到 3999 之間,Mode 的值可以是 0 到 4 之間的整數。

Syntax

ROMAN(Number [; Mode])

Number 為要轉換為羅馬數字的數字。

Mode (選擇性) 指定簡化程度。數值越高,羅馬數字就會越簡化。

Example

=ROMAN(999) 傳回 CMXCIX。

=ROMAN(999;0) 傳回 CMXCIX。

=ROMAN (999;1) 傳回 LMVLIV。

=ROMAN(999;2) 傳回 XMIX。

=ROMAN(999;3) 傳回 VMIV。

=ROMAN(999;4) 傳回 IM。

SEARCH

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).

The search supports wildcards or regular expressions. With regular expressions enabled, you can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in - LibreOffice Calc - Calculate.

warning

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".


Syntax

SEARCH("FindText"; "Text" [; Position])

FindText 是指要搜尋的文字。

Text 是指將進行搜尋的文字。

Position (選擇性) 是指文字中開始搜尋的位置。

Example

=SEARCH(54;998877665544) 傳回 10。

SUBSTITUTE

用新文字代替字串中的舊文字。

Syntax

SUBSTITUTE("Text"; "SearchText"; "NewText" [; Occurrence])

Text 是指要替換其中文字片段的文字。

SearchText 是指要取代 (多次) 的文字區段。

NewText 是用以取代文字區段的文字。

Occurrence (選擇性) 是指要取代的搜尋文字發生數。若缺少此參數,則會取代所有搜尋文字。

Example

=SUBSTITUTE("123123123";"3";"abc") 傳回 12abc12abc12abc。

=SUBSTITUTE("123123123";"3";"abc";2) 傳回 12312abc123。

T

此函式傳回目標文字,目標並非文字時傳回空白的文字字串。

Syntax

T(Value)

若 Value 是指文字字串或參照文字字串,T 會傳回該文字字串;否則,T 會傳回空白的文字字串。

Example

=T(12345) 傳回空字串。

=T("12345") 傳回字串 12345。

TEXT

Converts a value into text according to a given format.

Syntax

TEXT(Value; Format)

Value is the value (numerical or textual) to be converted.

Format 是指定義格式的文字。請依儲存格格式中設定的語言,使用小數和千位分隔符。

Example

=TEXT(12.34567;"###.##") 傳回文字 12.35。

=TEXT(12.34567;"000.00") 傳回文字 012.35。

=TEXT("xyz";"=== @ ===") returns the text === xyz ===

tip

See also Number format codes: custom format codes defined by the user.


TRIM

移除字串的空格,將字詞與字詞之間的只留一個空格。

Syntax

TRIM("Text")

Text refers to text in which spaces are to be removed.

Example

=TRIM(" hello world ") returns hello world without leading and trailing spaces and with single space between words.

UNICHAR

將編碼轉換為 Unicode 字元或字母。

Syntax

UNICHAR(number)

Example

=UNICHAR(169) 傳回版權字元 ©。

tip

See also the UNICODE() function.


UNICODE

傳回文字字串中第一個 Unicode 字元的數字碼。

Syntax

UNICODE("Text")

Example

=UNICODE("©") 為版權字元傳回 Unicode 數字 169。

tip

See also the UNICHAR() function.


UPPER

將 [文字] 欄位中指定的字串轉換為大寫字母。

Syntax

UPPER("Text")

Text 表示要轉換為大寫字母的小寫字母。

Example

=UPPER("Good Morning") 傳回 GOOD MORNING。

VALUE

將文字字串轉換成數字。

Syntax

VALUE("Text")

Text 是指轉換成數字的文字。

Example

=VALUE("4321") 傳回 4321。

Please support us!