文字函式

Module
Contents
Index 🔎︎

# 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 是指要移除所有不可列印的字元之文字。

## CODE

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

### Syntax

CODE("Text")

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

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

### Example

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

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

## CONCATENATE

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

### Syntax

CONCATENATE("Text1"; ...; "Text30")

Text 1; Text 2; ... 表示多達 30 個會合併成一個字串的文字段落。

### 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) 傳回 $255.00。

=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

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

### 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 作為文字字串。

## 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

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

### 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

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

### 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

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

### 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("open office") 傳回 Open Office。

## 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) 文字的最後幾個字元。

### 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 regular expressions. 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 precede every character with a "\" character. You can switch the automatic evaluation of regular expression on and off in LibreOffice - PreferencesTools - Options
- LibreOffice Calc - Calculate.

### 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

依指定的格式將數字轉換成文字。

### Syntax

TEXT(number; format)

Number 是指要轉換的數字。

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

### Example

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

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

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) 傳回版權字元 ©。

See also the UNICODE() function.

## UNICODE

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

### Syntax

UNICODE("Text")

### Example

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

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。

相關主題

Functions by Category