1. CHAR
CHAR(number):根據指定數字代碼傳回對應的字元。CHAR 函式可將計算機其他型別的數字代碼轉換為字元。
Number:用於指定字元的數字,介於 1 和 65535 之間(包括 1 和 65535)。
範例:
CHAR(88)等於“X”。
CHAR(45)等於“-”。
2. CNMONEY-數字轉化為人民幣大寫
1)概述
文法 | CNMONEY(number,unit) | 傳回人民幣大寫 |
---|---|---|
參數1 | number | 需要轉換的數值型別的數 超過十萬億,則不支援使用該函式 |
參數2 | unit | 單位,"s","b","q","w","sw","bw","qw","y","sy","by","qy","wy"分別代表“拾”,“佰”,“仟”,“萬”,“拾萬”,“佰萬”,“仟萬”,“億”,“拾億”,“佰億”,“仟億”,“萬億”。 |
傳回值 | String | - |
2)注意事項
單位可以為空,如果為空,則直接將 number 轉換為人民幣大寫,否則先將 number 與單位的進制相乘,然後再將相乘的結果轉換為人民幣大寫。
參數 number 超過十萬億,則不支援使用該函式。
參數 number 在轉換時只能將小數部分精確到分,若小數位超出精度範圍,則會在轉換前對 number 進行四捨五入並保留兩位小數。如 CNMONEY(12.346) 的回傳值為壹拾貳圓叄角伍分,如需精確到釐、毫,可參考 將數字轉換成大寫中文形式 。
3)範例
公式 | 結果 | 備註 |
---|---|---|
CNMONEY(1200) | 壹仟貳佰圓整 | - |
CNMONEY(12.5,"w") | 壹拾贰万伍仟圆整 | - |
CNMONEY(56.3478,"bw") | 伍仟陆佰叁拾肆万柒仟捌佰圆整 | |
CNMONEY(3.4567,"y") | 叁亿肆仟伍佰陆拾柒万圆整 |
3. CODE
CODE(text):計算正文串中第一個字元的數字代碼。傳回的代碼對應於計算機使用的字元集。
Text:需要计算第一个字符代码的文本或单元格引用。
範例:
CODE("S")等於 83。
CODE("Spreadsheet")等於 83。
4. CONCATENATE
CONCATENATE(text1,text2,...):將數個字串合併成一個字串。
Text1,text2,...:需要合併成單個正文的正文項,可以是字元,數字或是儲存格引用。
注: 也可以用"+"來代替 CONCATENATE 函式對正文項進行合併,"+"對數字無法合併,只能直接加法計算。
範例:
CONCATENATE("Average ","Price")等於“Average Price”。
CONCATENATE("1","2")等於 12。
5. ENDWITH
ENDWITH(str1,str2):判斷字串 str1 是否以 str2 結束。 備註: str1 和 str2 都是大小寫敏感的。
範例:
ENDWITH("FineReport","Report")等於 true
ENDWITH("FineReport","Fine")等於 false。
ENDWITH("FineReport","report")等於 false。
6. ENMONEY
ENMONEY(value):將給定的 BigDemical 型別的數字轉換成英文金額字串。
範例:
ENMONEY(23.49)等於 TWENTY THREE AND CENTS FORTY NINE。
7. ENNUMER
ENNUMBER(value):將給定的 BigDecimal 型別的數字(100 以內)取整後轉化成英文金額的字串。
範例:
ENNUMBER(23.49)等於 TWENTY THREE。
注:若出現結果為空,需要將數字強制轉換為 BigDecimal 型別,例如:ENNUMBER(TOBIGDECIMAL(80))
8. EXACT
EXACT(text1,text2):檢查兩組正文是否相同。如果完全相同,EXACT 函式傳回 TRUE;否則,傳回 FALSE。EXACT 函式可以區分大小寫,但忽略格式的不同。同時也可以利用 EXACT 函式來檢查輸入文檔的文字。
Text1:需要比較的第一組正文。
Text2:需要比较的第二组文本。
示例:
EXACT("Spreadsheet","Spreadsheet")等於 TRUE。
EXACT("Spreadsheet","S preadsheet")等於 FALSE。
EXACT("Spreadsheet","spreadsheet")等於 FALSE。
9. FIND-獲取特定字串所在位置
1)概述
文法 | FIND(find_text,within_text,start_num) | 從指定的索引(start_num)處開始,傳回第一次出現的指定子字串(find_text)在此字串(within_text)中的索引。 |
---|---|---|
參數1 | Find_text | 需要尋找的正文或包含正文的儲存格引用。 注: 如果 find_text 不在 within_tex 中,FIND 函式傳回值為 0。 |
參數2 | Within_text | 包含需要尋找正文的正文或儲存格引用 within_text 裏的索引從 1 開始。如果省略 start_num,則假設值為 1。 注:10.0.8 版本開始完全遵循該規則,此之前的版本可能會出現 within_text 裏的索引從 0 開始。 |
參數3 | Start_num | 指定進行尋找字元的索引位置。 |
2)注意事項
如果 start_num 不大於 0,FIND 函式傳回錯誤資訊*VALUE!。
如果 start_num 大於 within_text 的長度,FIND 函式傳回值為 0。
如果 find_text 是空白正文,FIND 函式將在搜尋串中匹配第一個字元(即編號為 start_num 或 1 的字元)。
3)範例
公式 | 結果 | 備註 |
---|---|---|
FIND("I","Information") | 1 | 傳回"I"在"Information"中的位置即傳回值為 1 |
FIND("i","Information") | 9 | |
FIND("o","Information",2) | 4 | |
FIND("o","Information",12) | 0 | |
FIND("o","Information",-1) | *VALUE! |
10. FORMAT
1)概述
文法 | FORMAT(object,format) | 傳回object的format格式。 |
---|---|---|
參數1 | object | object 需要被格式化物件 可以是String,數字,Object(常用的有Date,Time)。 |
參數2 | format | 格式化的樣式。 |
2)注意事項
format 對日期的操作,日期的大小寫必須按照年份小寫 yy 或 yyyy,月份大寫 M 或 MM,日期小寫 d 或 dd。
format對小數的舍入計算遵循四捨五入、奇進偶舍的規則。
例如:12.5 -> 12
13.5 -> 14
14.5 -> 14
15.5 -> 16
3)範例
公式 | 結果 |
---|---|
FORMAT(1234.5,"#,##0.00") | 1,234.50 |
FORMAT(1234.5,"#,##0") | 1,234 |
FORMAT(1234.5,"¥#,##0.00") | 1,234.50 |
FORMAT(1.5,"0%") | 150% |
FORMAT(1.5,"0.000%") | 150.000% |
FORMAT(6789,"##0.0E0") | 6.789E3 |
FORMAT(6789,"0.00E00") | 6.79E03 |
FORMAT(date(2007,1,1),"EEEEE,MMMMMdd,yyyy") | 星期一,一月01,2007 |
FORMAT(date(2007,1,13),"MM/dd/yyyy") | 01/13/2007 |
FORMAT(date(2007,1,13),"M-d-yy") | 1-13-07 |
FORMAT(time(16,23,56),"h:mm:ssa") | 4:23:56下午 |
11. INDEXOF-傳回指定位置的字元
11.1 傳回字串指定位置字元
1)概述
文法 | INDEXOF(str1,index) | 傳回字串 str1 在 index 位置上的字元。 |
---|---|---|
參數1 | str1 | 目標字串 |
參數2 | index | 指定位置,數字 |
傳回值 | String | - |
2)注意事項
index 是從 0 開始計數的。
3)範例
公式 | 結果 | 備註 |
---|---|---|
INDEXOF("FineReport",0) | F | - |
INDEXOF("FineReport",2) | n | - |
INDEXOF("FineReport",9) | t | - |
11.2 傳回陣列指定位置字元
1)概述
文法 | INDEXOF(array,index) | 傳回陣列在index位置上的元素。 |
---|---|---|
參數1 | array | 目標陣列 |
參數2 | index | 指定位置,數字 |
傳回值 | String | - |
2)注意事項
index是從 1 開始計數的。
3)範例
公式 | 結果 | 備註 |
---|---|---|
INDEXOF(ARRAY("a","b","c"), 1) | a | - |
12. LEFT
LEFT(text,num_chars):根據指定的字元數傳回正文串中的第一個或前幾個字元。
Text:包含需要選取字元的正文串或儲存格引用。
Num_chars:指定傳回的字串長度。
注: Num_chars 的值必須等於或大於 0。
如果 num_chars 大於整個正文的長度,LEFT 函式將傳回所有的正文。
如果省略 num_chars,則預設值為 1。
範例:
LEFT("Fine software",8)等於“Fine sof”。
LEFT("Fine software")等於“F”。
如果儲存格A3中含有“China”,則:
LEFT(A3,2)等於“Ch”。
13. LEN-傳回正文字元數
1)概述
文法 | LEN(text) | 傳回正文串中的字元數。 |
---|---|---|
參數1 | text | 需要求其長度的正文,空格也計為字元。 |
傳回值 | String | - |
2)範例
公式 | 結果 | 備注 |
---|---|---|
LEN("Evermore software") | 17 | - |
INDEXOF("FineReport",2) | n | - |
INDEXOF("FineReport",9) | t | - |
例如你需要對空值和非空值進行判斷,可以使用該函式,使用公式:if(LEN(A1)=0,"空值","非空"),如下圖所示:
得到如下結果:
14. LOWER
LOWER(text):將所有的大寫字母轉化為小寫字母。
Text:需要轉化為小寫字母的正文串。LOWER 函式不轉化正文串中非字母的字元。
範例:
LOWER("A.M.10:30")等於“a.m.10:30”。
LOWER("China")等於“china”。
15. MID
MID(text,start_num,num_chars):傳回正文串中從指定位置開始的一定數目的字元,該數目由使用者指定。
Text:包含要提取字元的正文串。
Start_num:正文中需要提取字元的起始位置。正文中第一個字元的 start_num為 1,依此類推。
Num_chars:傳回字元的長度。
注:
如果 start_num 大於正文長度,MID 函式傳回“”(空正文)。
如果 start_num 小於正文長度,並且 start_num 加上 num_chars 大於正文長度,MID 函式將從 start_num 指定的起始字元直至正文末的所有字元。
如果 start_num 小於 1,MID 函式傳回錯誤資訊*VALUE!。
如果 num_chars 是負數,MID 函式傳回錯誤資訊*VALUE!。
範例:
MID("Finemore software",10,8)傳回“software”。
MID("Finemore software",30,5)傳回“”(空正文)。
MID("Finemore software",0,8)傳回*VALUE!。
MID("Finemore software",5,-1)傳回*VALUE!。
16. NUMTO
NUMTO(number):返回 number 的中文表示。
範例:
NUMTO(2345)等於二千三百四十五。
17. PROPER
PROPER(text):將正文中的【第一個字母】和【空格後】的第一個字母轉化成大寫,其他字母變為小寫。
Text:需要轉化為正文的公式、由雙引號引用的正文串或是儲存格引用。
範例:
PROPER("Finemore Integrated Office")等於“Finemore Integrated Office”。
PROPER("100 percent")等於“100 Percent”。
PROPER("SpreaDSheEt")等於“Spreadsheet”。
18. REGEXP
18.1 用法一
1)概述
REGEXP(str, pattern):
字串str是否與正則表式 pattern 相匹配。
2)範例
REGEXP("aaaaac","a*c")等於 true。
REGEXP("abc","a*c")等於 false。
18.2 用法二
1)概述
REGEXP(str, pattern, intNumber):字串 str 是否與具有給定模式 intNumber 的正則表式 pattern 相匹配。
注:intNumber 的模式如下所示
模式 | 說明 |
---|---|
CASE_INSENSITIVE = 0 | 啟用不區分大小寫匹配 標籤來啟用 Unicode 感知的、不區分大小寫匹配。 預設情況下,不區分大小寫匹配假定僅匹配 US-ASCII 字元集中的字元。可以透過指定 UNICODE_CASE |
MULTILINE = 1 | 啟用多行模式。 |
DOTALL = 2 | 啟用 dotall 模式 在 dotall模式中,表式可以匹配任何字元,包括行結束符。預設情況下,此表式不匹配行結束符。 |
UNICODE_CASE = 3 | 啟用 Unicode 感知的大小寫摺疊 指定此標籤後,由 CASE_INSENSITIVE 標籤啟用時,不區分大小寫匹配將以符合 Unicode Standard 的方式完成。 |
CANON_EQ = 4 | 啟用規範等價。 指定此標籤後,當且僅當其完整規範分解匹配時,兩個字元才可視為匹配。 |
UNIX_LINES = 5 | 啟用 Unix 行模式。 在此模式中,.、^和 $ 的行為中僅識別 '\n'行結束符。 |
LITERAL = 6 | 啟用模式的字面值解析。 指定此標籤後,指定模式的輸入字串就會作為字面值字元序列來對待。輸入序列中的元字元或轉義序列不具有任何特殊意, 標籤 CASE_INSENSITIVE和 UNICODE_CASE 在與此標籤一起使用時將對匹配產生影,其他標籤都變得多餘了。 |
COMMENTS = 7 | 模式中允許空白和註釋。 此模式將忽略空白和在結束行之前以 #開頭的嵌入式註釋。 |
2)範例
REGEXP("Aaaaabbbbc","a*b*c", 3)等於 true
REGEXP("Aaaaabbbbc","a*b*c", 1)等於 false。
19. REPLACE
(1)REPLACE(text, texttoreplace, replacetext):根據指定正文,用其他正文來更換原始正文中的內容。【正文:指不含格式資訊的字元和字串】
text:原始正文或儲存格引用。
texttoreplace:被更換的正文。
replacetext: 更換的正文。
範例:
REPLACE("abcd", "a", "re")等於"rebcd"。
即:將 abcd 中字元 a 用 re 來更換,形成新的字串 rebcd。
如果儲存格a1為【saasas】,則:
REPLACE(a1,"a","B")等於【sBBsBs】。
(2)REPLACE(old_text,start_num,num_chars,new_text):根據指定長度,用其他正文來更換原正文中指定位置和長度的內容。
Old_text:原始正文或儲存格引用。
Start_num:更換的起始位置。
Num_chars: 更換的長度,即被更換正文的字元數。
New_text:更換的正文。
範例:
REPLACE("0123456789",5,4,"*")等於“0123*89”
REPLACE("1980",3,2,"99")等於“1999”。
注:
儲存格引用、代表位置和長度的數字不能帶引號;原始、更換和被更換的正文必須帶英文引號(不區分單,雙引號)。
第一種將更換所有符合條件的正文,第二種只更換指定位置的正文。
20. REPEAT
REPEAT(text,number_times): 根据指定的次数重复显示文本。REPEAT 函数可用来显示同一字符串,并对单元格进行填充。
Text:需要重複顯示的正文或包含正文的儲存格引用。
Number_times:指定正文重複的次數,且為正數。如果 number_times 為 0,REPEAT 函式將傳回“”(空正文)。如果 number_times 不是整數,將被取整。REPEAT 函式的最終結果通常不大於 32767 個字元。
注: 該函式可被用於在工作表中建立簡單的直方圖。
範例:
REPEAT("$",4)等於“$$$$”。
如果儲存格 B10 的內容為“你好”,則:
REPEAT(B10,3)等於“你好你好你好”。
21. RIGHT
RIGHT(text,num_chars):根據指定的字元數從右開始傳回正文串中的最後一個或幾個字元。
Text:包含需要提取字元的正文串或儲存格引用。
Num_chars:指定 RIGHT 函式從正文串中提取的字元數。Num_chars 不能小於 0。
如果 num_chars 大於正文串長度,RIGHT函式將傳回整個正文。如果不指定 num_chars,則預設值為 1。
示例:
RIGHT("It is interesting",6)等於“esting”。
RIGHT("Share Holder")等於“r”。
RIGHT("Huge sale",4)等於“sale”。
22. SPLIT
SPLIT(String1,String2):傳回由 String2 分割 String1 組成的字串陣列。
String1:以雙引號表示的字串。
String2:以雙引號表示的分隔符。例如逗號","
注:
如果只有一個參數,則傳回一個錯誤。
如果有多個參數,則只有前兩個起作用。
範例:
SPLIT("hello,world,yes",",") = ["hello","world","yes"]。
SPLIT("this is very good"," ") = ["this","is","very","good"]。
23. STARTWITH
STARTWITH(str1,str2):判斷字串 str1 是否以 str2 開始。
注: str1 和 str2 都是大小寫敏感的。
範例:
STARTWITH("FineReport","Fine")等於 true。
STARTWITH("FineReport","Report")等於 false。
24. SUBSTITUTE
SUBSTITUTE(text,old_text,new_text,instance_num):用new_text更換正文串中的old_text。
Text:需要被更換字元的正文,或含有正文的儲存格引用。
Old_text:需要被更換的部分正文。
New_text:用於更換 old_text 的正文。
Instance_num:指定用 new_text 來更換第幾次出現的 old_text。如果指定了 instance_num,則只有指定位置上的 old_text 被更換,否則文字串中出現的所有 old_text 都被 new_text 更換。
範例:
SUBSTITUTE("data base","base","model")等於“data model”。
SUBSTITUTE("July 28, 2000","2","1",1)等於“July 18, 2000”。
SUBSTITUTE("July 28, 2000","2","1")等於“July 18, 1000”。
SUBSTITUTE("July 28, 2000","2","1",2)等於“July 28, 1000”。
25. TODOUBLE
TODOUBLE(text):將正文轉換成 Double 物件。
Text:需要轉換的正文。
範例:
TODOUBLE("123.21")等於 new Double(123.21)。
26. TOINTEGER
TOINTEGER(text):將正文轉換成 Integer 物件。
Text:需要轉換的正文。
範例:
TOINTEGER("123")等於 123。
27. TRIM
TRIM(text):清除正文中所有空格,單詞間的單個空格除外,也可用於帶有不規則空格的正文。
Text:需要清除空格的正文。
範例:
TRIM(" Monthly Report")等於 Monthly Report。
28. UPPER
UPPER(text):將正文中所有的字元轉化為大寫。
Text:需要轉化為大寫字元的正文,或是包含正文的儲存格引用。
範例:
UPPER("notes")等於“NOTES”。
如果儲存格E5的值為“Examples”,則:
UPPER(E5)等於“EXAMPLES”。
29. NUMTOZH-將數字轉換成中文形式
1)概述
文法 | NUMTOZH(number,type) | 將數字轉換成中文形式 |
---|---|---|
參數1 | number | 需要處理的具體數字,可以是具體的數字、可轉義為數位的字串可解析為數字及數字字串的參數 |
參數2 | type | 1/2/3; 1為中文小寫數值,2為中文大寫數值,3為中文小寫數字; 可預設,預設時預設為type1,即:中文小寫數值 |
2)注意事項
無
3)範例
NUMTOZH(1234)等於一千二百三十四
NUMTOZH(1234,1)等於一千二百三十四
NUMTOZH(1234,2)等於壹仟貳佰叄拾肆
NUMTOZH(1234,3)等於一二三四
30. ENBYSTRNUM-儲存格按照指定字數換行顯示
1)概述
文法 | ENBYSTRNUM(string,number) | 儲存格按照指定字數換行顯示 |
---|---|---|
參數1 | string | 需要換行顯示的元素,可以是數字、字元等 |
參數2 | number | 指定換行字數的數值,為正整數;為負數或0時,公式不生效,按原換行方式換行; |
2)注意事項
11.0.5 以及之後的版本支援使用。
3)範例
ENBYSTRNUM("帆軟軟體有限公司",4)等於
帆軟軟體
有限公司
ENBYSTRNUM("帆軟軟體有限公司",2)等於
帆軟
軟體
有限
公司
31. TEXTGETNUM-提取字串中的數字,並按照原數字順序顯示
1)概述
文法 | TEXTGETNUM(string) | 提取字串中的數字,並按照原數字順序顯示 |
---|---|---|
參數1 | string | 需要提取數位的字串 |
2)注意事項
若字串中沒有數字時,傳回null
11.0.5 以及之後的版本支援使用。
3)範例
TEXTGETNUM(asf2d45g6r7742e)等於24567742
TEXTGETNUM(asfwddfgyruurwe)等於null
32. GETCHARNUM-計算字串中指定字元個數
1)概述
文法 | GETCHARNUM(string1,string2) | 計算字串中指定字元個數 |
---|---|---|
參數1 | string1 | 原始字串 |
參數2 | string2 | 需要計算個數的指定字元,可以是數字、單個字元、多個字元; |
2)注意事項
需要尋找的字串在目標字串中匹配不到時,直接傳回0
11.0.5 以及之後的版本支援使用。
3)範例
GETCHARNUM("2021-03-23",-) 等於2
GETCHARNUM("abccccccccdef","cc")等於4
GETCHARNUM("abccccccccdef","ccc")等於2
33. MIDCHAR-截取某字元前或後所有的字元
1)概述
文法 | MIDCHAR(string,char,number,bool) | 截取某字元前或後所有的字元 |
---|---|---|
參數1 | string | 被截取的元素,可以是數字、字元等 |
參數2 | char | 截取識別符號,可以是數字、字元;未找到截取識別符號時,傳回null number:字串中第幾次出現的識別符號,為非0整數,正整數時,為正數第number個截取識別符號;負整數時,為倒數第number個截取識別符號;number絕對值超出字串中個數時,傳回原字串;可預設,預設時預設按照正數第一個截取 |
參數3 | bool:ture/false | 向前截取還是向後截取;ture為向後,false為向前;可預設,預設時預設向後截取 |
2)注意事項
11.0.4 以及之後的版本支援使用。
3)範例
MIDCHAR("1234666", '6')等於"66"
MIDCHAR("1234666", '6',1,true)等於"66"
MIDCHAR("1234666", '6',1,false)等於"1234"