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.

ASC

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

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

Syntax

ASC("Text")

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

另請參閱 JIS 函式。

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.


JIS

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

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

Syntax

JIS("Text")

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

另請參閱 ASC 函式。

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。

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。

REPT

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

Syntax

REPT("Text"; Number)

Text 是指要重複的文字。

Number 是指重複的次數。

結果最大為 255 個字元長。

Example

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

LEN

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

Syntax

LEN("Text")

Text 是要測定長度的文字。

Example

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

=LEN(12345.67) 傳回 8。

RIGHT

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

Syntax

RIGHT("Text" [; Number])

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

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

Example

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

LEFT

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

Syntax

LEFT("Text" [; Number])

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

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

Example

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

MID

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

Syntax

MID("Text"; Start; Number)

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

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

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

Example

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

UNICODE

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

Syntax

UNICODE("Text")

Example

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

tip

See also the UNICHAR() function.


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 碼,而是目前編碼表中的編碼。


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" (三個非雙位元字元集字元,每個一位元)。

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" (三個非雙位元字元集字元,每個一位元)。

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 是一個雙位元組字元集字串內的字元起始,且三位元非雙位元組字元集字串有三字元)。

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。

UPPER

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

Syntax

UPPER("Text")

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

Example

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

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。

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。

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。

FIXED

將數字作為具有指定小數點位數及可選千位分隔符的文字傳回。

Syntax

FIXED(Number; Decimals [; NoThousandsSeparators])

Number 是要格式化的數字。

Decimals 是指小數點顯示的位數。

NoThousandsSeparators (選擇性) 決定是否使用千位分隔符。若參數為不等於 0 的數字,則不使用千位分隔符。若參數等於 0,或若缺少參數,則顯示目前語言環境設定的千位分隔符。

Example

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

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

DOLLAR

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

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

Syntax

DOLLAR(Value [; Decimals])

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

Decimals 是選用的小數點位數。

Example

=DOLLAR(255) 傳回 $255.00。

=DOLLAR(367.456;2) 傳回 $367.46。使用對應至目前語言環境設定的小數點分隔符號。

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。

BAHTTEXT

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

Syntax

BAHTTEXT(Number)

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

Example

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

PROPER

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

Syntax

PROPER("Text")

Text 是指要轉換的文字。

Example

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

LOWER

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

Syntax

LOWER("Text")

Text 是指要轉換的文字。

Example

=LOWER("Sun") 傳回 sun。

VALUE

將文字字串轉換成數字。

Syntax

VALUE("Text")

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

Example

=VALUE("4321") 傳回 4321。

UNICHAR

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

Syntax

UNICHAR(number)

Example

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

tip

See also the UNICODE() function.


CLEAN

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

Syntax

CLEAN("Text")

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

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" 會將斷行字元插入字串中。

T

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

Syntax

T(Value)

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

Example

=T(12345) 傳回空字串。

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

EXACT

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

Syntax

EXACT("Text1"; "Text2")

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

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

Example

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

REPLACE

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

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

Syntax

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

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

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

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

NewText 是指取代 Text 的文字。

Example

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

SUBSTITUTE

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

Syntax

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

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

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

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

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

Example

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

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

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.

ARABIC

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

Syntax

ARABIC("Text")

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

Example

=ARABIC("MXIV") 傳回 1014。

=ARABIC("MMII") 傳回 2002。

Please support us!