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

目录:

1. 版本编辑

          FineBI版本                  jar包版本          
  5.1  2019.1.7

2. TRIM编辑

TRIM(text):清除文本中所有空格,单词间的单个空格除外,也可用于带有不规则空格的文本。

Text:需要清除空格的文本。

示例:

TRIM(" Monthly Report")等于 Monthly Report 。

3. FORMAT编辑

FORMAT(object,format) : 返回 object 的 format 格式。

object:需要被格式化对象,可以是 String ,数字,Object (常用的有Date, Time)。format:格式化的样式。

示例:

FORMAT(1234.5, "#,##0.00") => 1234.50

FORMAT(1234.5, "#,##0") => 1234

FORMAT(1234.5, "¥#,##0.00") => ¥1234.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, MMMMM dd, 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:ss a") => 4:23:56 下午
注:format 对日期的操作,日期的大小写必须按照年份小写 yy 或 yyyy ,月份大写 M 或 MM ,日期小写 d 或 dd 。

4. ENDWITH编辑

ENDWITH(str1,str2):判断字符串 str1 是否以 str2 结束。 注: str1 和 str2 都是大小写敏感的。

示例:

ENDWITH("FineReport","Report")等于「true」。

ENDWITH("FineReport","Fine")等于「false」。

ENDWITH("FineReport","report")等于「false」。
注:ENDWITH函数为文本函数,仅能判断文本,不支持对时间类型进行判断。 

5. NUMTO编辑

NUMTO(number,bool)或 NUMTO (number):返回 number 的中文表示。其中 bool 用于选择中文表示的方式,当没有 bool 时采用默认方式显示。
示例:
NUMTO(2345,true)等于二三四五。

NUMTO(2345,false)等于二千三百四十五。

NUMTO(2345)等于二千三百四十五。

6. 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」。

7. 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 函数;如果需要替换字段值中指定位置上的任意文本,则使用

REPLACE 函数。

示例:

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

8. 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!。

9. EXACT编辑

EXACT(text1,text2):检测两组文本是否相同。如果完全相同,EXACT 函数返回 TRUE ;否则,返回 FALSE 。EXACT 函数可以区

分大小写,但忽略格式的不同。同时也可以利用 EXACT 函数来检测输入文档的文字。

Text1:需要比较的第一组文本。

Text2:需要比较的第二组文本。

示例:

EXACT("Spreadsheet","Spreadsheet")等于 TRUE 。

EXACT("Spreadsheet","S preadsheet")等于 FALSE 。

EXACT("Spreadsheet","spreadsheet")等于 FALSE 。

10. TOINTEGER编辑

TOINTEGER(text):将文本转换成Integer对象。

Text:需要转换的文本。

示例:

TOINTEGER("123")等于 new Integer(123)。

11. REPEAT编辑

REPEAT(text,number_times):根据指定的次数重复显示文本。REPEAT函数可用来显示同一字符串,并对单元格进行填充。

Text:需要重复显示的文本或包含文本的单元格引用。

Number_times:指定文本重复的次数,且为正数。如果 number_times 为 0 ,REPEAT 函数将返回“”(空文本)。如果

number_times 不是整数,将被取整。REPEAT 函数的最终结果通常不大于 32767 个字符。

注:该函数可被用于在工作表中创建简单的直方图。

示例:

REPEAT("$",4)等于「$$$$」;

如果单元格B10的内容为「你好」,REPEAT(B10,3)等于“你好你好你好”。

12. SPLIT编辑

SPLIT(String1,String2 ):返回由String2分割String1组成的字符串数组。

String1:以双引号表示的字符串;

String2:以双引号表示的分隔符。例如逗号","。

注: 如果只有一个参数,则返回一个错误。如果有多个参数,则只有前两个起作用。

示例:

SPLIT("hello,world,yes",",") = ["hello","world","yes"]。

SPLIT("this is very good"," ") = ["this","is","very","good"]。

13. UPPER编辑

UPPER(text):将文本中所有的字符转化为大写。

Text:需要转化为大写字符的文本,或是包含文本的单元格引用。

示例:

UPPER("notes")等于「NOTES」;

如果单元格E5的值为「Examples」,则 UPPER(E5) 等于「EXAMPLES」。

14. 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」。

15. TODOUBLE编辑

TODOUBLE(text):将文本转换成 Double 对象。

Text:需要转换的文本。

示例:

TODOUBLE("123.21")等于「new Double(123.21)」。

16. INDEXOF编辑

1)INDEXOF(str1,index):返回字符串 str1 在 index 位置上的字符。
注: index 是从 0 开始计数的。

示例:

INDEXOF("FineReport",0)等于F';

INDEXOF("FineReport",2)等于'n';

INDEXOF("FineReport",9)等于't';

2)INDEXOF(array,index):返回数组在 index 位置上的元素。

注:index 是从 1 开始计数的。

示例:

String[] array = {"a","b","c"} INDEXOF(array,1)等于「a」。

17. FIND编辑

FIND(find_text,within_text,start_num):从指定的索引 (start_num) 处开始,返回第一次出现的指定子字符串 (find_text) 在此字

符串 (within_text) 中的索引。

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

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

Start_num:指定进行查找字符的索引位置。

within_text 里的索引从 1 开始。如果省略start_num,则假设值为 1 。备注:如果 find_text 不在 within_text 中,FIND 函数返回值为 0 。如果 start_num 不大于 0 ,FIND 函数返回错误信息*VALUE!。如果大于 within_text 的长度,FIND 函数返回值为 0 。如果 find_text 是空白文本,FIND 函数将在搜索串中匹配第一个字符(即编号为 start_num 或 1 的字符)。

示例:

FIND("I","Information"),返回"I"在"Information"中的位置即返回值为 1 ;

FIND("i","Information"),返回"i"在"Information"中的位置即返回值为 9 ;

FIND("o","Information",2)等于 4 ;

FIND("o","Information",12)等于 0 ;

FIND("o","Information",-1)等于*VLAUE!。

18. REPLACE编辑

1)REPLACE(text,textorreplace,replacetext):根据指定的字符串,用其他文本来代替原始文本中的内容。

text:需要被替换部分字符的文本或单元格引用;

textorreplace:指定的字符串或正则表达式;

replacetext:需要替换部分旧文本的文本。

示例:

REPLACE("abcd","a","re")等于"rebcd";

REPLACE("a**d","**d","rose")等于"arose";

2)REPLACE(old_text,start_num,num_chars,new_text):根据指定的字符数,用其他文本串来替换某个文本串中的部分内容。

Old_text:需要被替换部分字符的文本或单元格引用;

Start_num:需要用new_text来替换old_text中字符的起始位置;

Num_chars:需要用new_text来替换old_text中字符的个数;

New_text:需要替换部分旧文本的文本。

示例:

REPLACE("0123456789",5,4,"*")等于「0123*89」;

REPLACE("1980",3,2,"99")等于「1999」。

19. CONCATENATE编辑

CONCATENATE(text1,text2,...):将数个字符串合并成一个字符串。

Text1,text2,...:需要合并成单个文本的文本项,可以是字符,数字或是单元格引用。

示例:

CONCATENATE("Average ","Price")等于「Average Price」;

CONCATENATE("1","2")等于「12」。

20. LOWER编辑

LOWER(text):将所有的大写字母转化为小写字母。

Text:需要转化为小写字母的文本串。LOWER 函数不转化文本串中非字母的字符。
示例:
LOWER("A.M.10:30")等于「a.m.10:30」;
LOWER("China")等于「china」。

21. LEN编辑

LEN(args):返回文本串中的字符数或者数组的长度。需要注意的是:参数 args 为文本串时,空格也计为字符。参数 args 为数组

时,直接返回数组长度。

示例:

LEN("Evermore software")等于「17」;

LEN(" ")等于「1」;

LEN(['a','b'])等于「2」。

22. CHAR编辑

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

符的数字,介于 1~65535 之间(包括 1 和 65535 )。

示例:

CHAR(88)等于「X」;

CHAR(45)等于「-」。

注:CHAR 函数返回的字符类型为 Character 类型。如果想用 char(88) ="X" 作为条件判断的话,需要加上 CONCATENATE 函数将char(88) 的结果处理成 String 类型,才可满足条件判断,比如CONCATENATE(char(88)) ="X"。 

23. CODE编辑

CODE(text):计算文本串中第一个字符的数字代码。返回的代码对应于计算机使用的字符集。Text:需要计算第一个字符代码的文

本或单元格引用。

示例:

CODE("S")等于 83 ;

CODE("Spreadsheet")等于 83 。

24. PROPER编辑

PROPER(text):将文本中的第一个字母和所有非字母字符后的第一个字母转化为大写,其他字母变为小写。

Text:需要转化为文本的公式、由双引号引用的文本串或是单元格引用。

示例:

PROPER("Finemore Integrated Office")等于「Finemore Integrated Office」;

PROPER("100 percent")等于"100 Percent";

PROPER("SpreaDSheEt")等于"Spreadsheet"。

25. REGEXP编辑

1)REGEXP(str, pattern):字符串 str 是否与正则表达式 pattern 相匹配。
示例:
REGEXP("aaaaac","a*c")等于 true ;

REGEXP("abc","a*c")等于 false ;

本文以 \d 和 \w 为例,在自助数据集中使用该函数,其中 \d 表示匹配数字,\w 表示匹配字母或数字或下划线或汉字,如下图所示:

39.png

2)REGEXP(str, pattern, intNumber):字符串 str 是否与具给定模式 intNumber 的正则表达式 pattern 相匹配。

intNumber 的模式如下所示 :

intNumber 模式概念
CASE_INSENSITIVE = 0启用不区分大小写的匹配。标志来启用 Unicode感知的、不区分大小写的匹配。 默认情况下,不区分大小写的匹配假定仅匹配 US-ASCII 字符集中的字符。可以通过指定 UNICODE_CASE 。
MULTILINE = 1启用多行模式。标志来启用 Unicode感知的、不区分大小写的匹配。 默认情况下,不区分大小写的匹配假定仅匹配 US-ASCII 字符集中的字符。可以通过指定 UNICODE_CASE 。
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模式中允许空白和注释。此模式将忽略空白和在结束行之前以 #开头的嵌入式注释。
示例:
REGEXP("Aaaaabbbbc","a*b*c", 3)等于「true」;

REGEXP("Aaaaabbbbc","a*b*c", 1)等于「false」。

注:默认支持所有正则表达式,例如 \d,\w 。

26. STARTWITH编辑

STARTWITH(str1,str2):判断字符串 str1 是否以 str2 开始。
注: str1 和 str2 都大小写敏感。
示例:
STARTWITH("FineReport","Fine")等于「true」;
STARTWITH("FineReport","Report")等于「false」。