反馈已提交

网络繁忙

文本函数概述

  • 文档创建者:lu123
  • 历史版本:54
  • 最近更新:Tracy.Wang 于 2024-06-18

  • 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 超过十万亿,则不支持使用该函数。

    参数 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。

    视频教程:CONCATENATE 函数

    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。

    注:仅支持 9 位数之内的计算。

    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!

    4)视频教程:FIND 函数

    10. FORMAT

    1)概述

    语法
    FORMAT(object,format)

    返回object的format格式

    参数1object

    object 需要被格式化对象

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

    参数2format

    格式化的样式

    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下午

    4)视频教程:FORMAT 函数

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

    视频教程:LEFT 函数

    13. LEN-返回文本字符数

    1)概述

    语法LEN(text)返回文本串中的字符数
    参数1text

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

    返回值String-

    2)示例

    公式
    结果
    备注
    LEN("Evermore software")17-

    例如你需要对空值和非空值进行判断,可以使用该函数,使用公式:if(LEN(A1)=0,"空值","非空"),如下图所示:

    得到如下结果:

    3)视频教程:LEN 函数

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

    单元格引用、代表位置和长度的数字不能带引号;原始、替换和被替换的文本必须带英文引号(不区分单,双引号)。

    第一种将替换所有符合条件的文本,第二种只替换指定位置的文本。

    3)视频教程:REPLACE 函数

    注:使用 REPLACE 函数传参给下拉框控件时, 单次取数最多替换 500 个值。

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

    视频教程:RIGHT 函数

    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"]。

    视频教程:SPLIT 函数

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

    视频教程:SUBSTITUTE 函数

    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)将数字转换成中文形式
    参数1number

    需要处理的具体数字,可以是具体的数字、可转义为数字的字符串可解析为数字及数字字符串的参数

    参数2type

    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)单元格按照指定字数换行显示
    参数1string

    需要换行显示的元素,可以是数字、字符等

    参数2number

    指定换行字数的数值,为正整数;为负数或0时,公式不生效,按原换行方式换行

    2)注意事项

    11.0.5 以及之后的版本支持使用。

    3)示例

    • ENBYSTRNUM("帆软软件有限公司",4) 等于

    帆软软件

    有限公司

    • ENBYSTRNUM("帆软软件有限公司",2) 等于

    帆软

    软件

    有限

    公司

    31. TEXTGETNUM-提取字符串中的数字,并按照原数字顺序显示

    1)概述

    语法TEXTGETNUM(string)提取字符串中的数字,并按照原数字顺序显示
    参数1string

    需要提取数字的字符串

    2)注意事项

    若字符串中没有数字时,返回null

    11.0.5 以及之后的版本支持使用。

    3)示例

    TEXTGETNUM(asf2d45g6r7742e) 等于 24567742

    TEXTGETNUM(asfwddfgyruurwe) 等于 null

    32. GETCHARNUM-计算字符串中指定字符个数

    1)概述

    语法GETCHARNUM(string1,string2)计算字符串中指定字符个数
    参数1string1

    原始字符串

    参数2string2需要计算个数的指定字符,可以是数字、单个字符、多个字符

    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)截取某字符前或后所有的字符
    参数1string

    被截取的元素,可以是数字、字符等

    参数2char

    截取标识符,可以是数字、字符;未找到截取标识符时,返回null

    number:字符串中第几次出现的标识符,为非0整数,正整数时,为正数第number个截取标识符;负整数时,为倒数第number个截取标识符;number绝对值超出字符串中个数时,返回原字符串;可缺省,缺省时默认按照正数第一个截取

    参数3bool: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"


    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持