历史版本30 :文本函数概述 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. CHAR编辑

CHAR(number):根据指定数字代码返回对应的字符。CHAR 函数可将计算机其他类型的数字代码转换为字符。

Number:用于指定字符的数字,介于 1 和 65535 之间(包括 1 和 65535)。

示例:

CHAR(88)等于“X”。

CHAR(45)等于“-”。

2. CNMONEY-数字转化为人民币大写编辑

1)概述

语法CNMONEY(number,unit)返回人民币大写
参数1number

需要转换的数值型的数

超过十万亿,则不支持使用该函数

参数2unit

单位,"s","b","q","w","sw","bw","qw","y","sy","by","qy","wy"分别代表“拾”,“佰”,“仟”,“万”,“拾万”,“佰万”,“仟万”,“亿”,“拾亿”,“佰亿”,“仟亿”,“万亿”。

返回值String-

2)注意事项

单位可以为空,如果为空,则直接将 number 转换为人民币大写,否则先将 number 与单位的进制相乘,然后再将相乘的结果转换为人民币大写。

参数 number 超过十万亿,则不支持使用该函数。

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)中的索引。

参数1Find_text

需要查找的文本或包含文本的单元格引用。

注: 如果 find_text 不在 within_tex 中,FIND 函数返回值为 0。

参数2Within_text

包含需要查找文本的文本或单元格引用

within_text 里的索引从 1 开始。如果省略 start_num,则假设值为 1。

注:10.0.8 版本开始完全遵循该规则,此之前的版本可能会出现 within_text 里的索引从 0 开始。

参数3Start_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格式。

参数1object

object 需要被格式化对象

可以是String,数字,Object(常用的有Date,Time)。

参数2format

格式化的样式。

2)注意事项

format 对日期的操作,日期的大小写必须按照年份小写 yy 或 yyyy,月份大写 M 或 MM,日期小写 d 或 dd。

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 位置上的字符。
参数1str1

目标字符串

参数2index

指定位置,数字

返回值String-

2)注意事项

 index 是从 0 开始计数的。

3)示例

公式
结果
备注
INDEXOF("FineReport",0)F-
INDEXOF("FineReport",2)n-
INDEXOF("FineReport",9)t-

11.2 返回数组指定位置字符

1)概述

语法INDEXOF(array,index)返回数组在index位置上的元素。
参数1array

目标数组

参数2index

指定位置,数字

返回值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编辑

LEN(text):返回文本串中的字符数。

Text:需要求其长度的文本,空格也计为字符。

示例:

LEN("Evermore software")等于 17。

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”。