目录:
- 1. 概述
- 2. TRIM-清除空格
- 3. FORMAT-改变格式
- 4. ENDWITH
- 5. NUMTO-数值转为中文数值
- 6. LEFT-取前几个字符
- 7. SUBSTITUTE-替换指定字符
- 8. MID-取指定位置部分字符
- 9. EXACT-比较两组文本字符
- 10. TOINTEGER
- 11. REPEAT-重复显示字符
- 12. SPLIT-分割字符
- 13. UPPER-转化为大写
- 14. RIGHT-取最后的几个字符
- 15. TODOUBLE
- 16. INDEXOF-字符串 str1 在 index 位置上的字符
- 17. FIND-返回指定字符的位置排序
- 18. REPLACE-用其他文本来代替原始文本中的内容
- 19. CONCATENATE-拼接字符串
- 20. 字符串转小写(LOWER)
- 21. 字符串长度(LEN)
- 22. CHAR-对应数字的字符
- 23. CODE-取文本对应的数字
- 24. PROPER
- 25. REGEXP-判断正则表达式
- 26. STARTWITH-判断字符串 str1 是否以 str2 开始
1. 概述编辑
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
4. ENDWITH编辑
ENDWITH(str1,str2):判断字符串 str1 是否以 str2 结束。
注1: str1 和 str2 都是大小写敏感的。
注2:支持使用两个参数。
示例:
ENDWITH("FineReport","Report")等于「true」。
ENDWITH("FineReport","Fine")等于「false」。
5. NUMTO-数值转为中文数值编辑
1)概述
NUMTO(number,bool)或 NUMTO (number):返回 number 的中文表示。其中 bool 用于选择中文表示的方式,当没有 bool 时采用默认方式显示。
2)注意事项
支持设置两个参数,第二个参数可缺省。
实时数据不支持该函数
NUMTO(2345,false)等于二千三百四十五。
NUMTO(2345)等于二千三百四十五。
6. LEFT-取前几个字符编辑
6.1 抽取数据
LEFT(text,num_chars):根据指定的字符数返回文本串中的第一个或前几个字符。
参数说明:
text:包含需要选取字符的文本串或单元格引用。
num_chars:指定返回的字符串长度
注:num_chars的值必须等于或大于0。如果num_chars大于整个文本的长度,LEFT函数将返回所有的文本。如果省略num_chars,则默认值为1。
示例:
LEFT("Finesoftware",8)等于"Finesoft"。
LEFT("Finesoftware")等于"F"。
6.2 实时数据
LEFT(text,num_chars):根据指定的字符数返回文本串中的第一个或前几个字符。
参数说明:
text:包含需要选取字符的文本串或单元格引用。
num_chars:指定返回的字符串长度。不支持缺省。
注:num_chars的值必须等于或大于0。如果num_chars大于整个文本的长度,LEFT函数将返回所有的文本。
示例:
LEFT("Finesoftware",8)等于"Finesoft"。
7. SUBSTITUTE-替换指定字符编辑
1)概念
SUBSTITUTE(text,old_text,new_text,instance_num):用 new_text 替换文本串中的 old_text 。
如果指定了instance_num,则只有指定位置上的old_text被替换,否则文字串中出现的所有old_text都被new_text替换。
2)注意事项
如果需要替换字段值中的指定文本,则使用 SUBSTITUTE 函数;
如果需要替换字段值中指定位置上的任意文本,则使用 REPLACE 函数。
实时数据中无法使用此函数。
可使用四个参数,其中第四个参数可以缺省
3)示例
SUBSTITUTE("data base","base","model")等于「data model」;
8. MID-取指定位置部分字符编辑
MID(text,start_num,num_chars):返回文本串中从指定位置开始的一定数目的字符,该数目由用户指定。
注:支持设置三个参数。
Text:包含要提取字符的文本串。
Num_chars:返回字符的长度。
注: 如果 start_num 大于文本长度,MID 函数返回“”(空文本)。
如果 start_num 小于文本长度,并且 start_num 加上 num_chars 大于文本长度,MID 函数将从 start_num 指定的起始字符直至
文本末的所有字符。
如果 start_num 小于 1 ,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("$",4)等于"$$$$";
如果单元格B10的内容为'你好',REPEAT(B10,3)等于"你好你好你好"。
12. SPLIT-分割字符编辑
1)概念
SPLIT(String1,String2 ):返回由String2分割String1组成的字符串数组。
String1:以双引号表示的字符串;
String2:以双引号表示的分隔符。例如逗号","。
2)注意事项
不支持实时数据中使用。
支持使用两个参数。
3)示例
SPLIT("hello,world,yes",",") = ["hello","world","yes"]。
SPLIT("this is very good"," ") = ["this","is","very","good"]。
13. UPPER-转化为大写编辑
UPPER(text):将文本中所有的字符转化为大写。
Text:需要转化为大写字符的文本。
注:可使用单文本参数。
示例:
UPPER("notes")等于「NOTES」。
14. RIGHT-取最后的几个字符编辑
RIGHT(text,num_chars):根据指定的字符数从右开始返回文本串中的最后一个或几个字符。
注:可使用两个参数,第二个参数可缺省。
Text:包含需要提取字符的文本串或单元格引用。
Num_chars:指定 RIGHT 函数从文本串中提取的字符数。Num_chars 不能小于 0 。
如果 num_chars 大于文本串长度,RIGHT 函数将返回整个文本。如果不指定 num_chars ,则默认值为 1 。注:实时数据中num_chars不能缺省。
示例:
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-字符串 str1 在 index 位置上的字符编辑
注:支持使用两个参数。
16.1 抽取数据
INDEXOF(str1,index):返回字符串str1在index位置上的字符。
注:index是从0开始计数的。
示例:
INDEXOF("FineBI",0)等于'F'。
INDEXOF("FineBI",2)等于'n'。
INDEXOF("FineBI",5)等于'I'。
INDEXOF(["a","b","c"], 1)等于"b"。
16.2 实时数据
INDEXOF(str1,index):返回字符串str1在index位置上的字符。
注:index是从0开始计数的。
示例
INDEXOF("FineBI",0)等于'F'。
INDEXOF("FineBI",2)等于'n'。
INDEXOF("FineBI",5)等于'I'。
17. FIND-返回指定字符的位置排序编辑
1)概述
语法 | FIND(find_text,within_text,start_num) | 从指定的索引 (start_num) 处开始,返回第一次出现的指定子字符串 (find_text) 在此字 符串 (within_text) 中的索引。实时数据中如少于三个参数需添加缺省值。 |
---|---|---|
参数1 | find_text | 需要查找的文本 |
参数2 | within_text | 包含需要查找文本的文本 |
参数3 | start_num | 指定进行查找字符的索引位置 注:实时数据中不支持为负值。 |
参数4 | within_text | 索引从1开始。如果省略start_num,则假设值为1。 |
2)注意事项
支持使用三个函数
3)示例
公式 | 结果 | 备注 |
---|---|---|
FIND("I","Information") | 1 | 返回"I"在"Information"中的位置即返回值为 1 |
FIND("o","Information",2) | 4 | |
FIND("o","Information",-1) | 空 | 实时数据不支持该写法 |
FIND("o","Information",2)等于 4 ,如下图所示:
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):根据指定的字符数,用其他文本串来替换某个文本串中的部分内容。
注1:实时数据中不支持该用法。
注2:支持使用四个参数。
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):将所有的大写字母转化为小写字母。
21. 字符串长度(LEN)编辑
21.1 抽取数据
LEN(args):返回文本串中的字符数长度。需要注意的是:参数args为文本串时,空格也计为字符。参数args为数组时,直接返回数组长度。
LEN("Evermoresoftware")等于 16;
LEN("Evermore software")等于 17;
LEN(["a","b"])等于2
21.2 实时数据
LEN(args):返回文本串中的字符数长度。需要注意的是:参数args为文本串时,空格也计为字符。
示例
LEN("Evermoresoftware")等于16。
LEN("Evermore software")等于17。
22. CHAR-对应数字的字符编辑
CHAR(number):根据指定数字返回对应的字符。CHAR函数可将计算机其他类型的数字代码转换为字符。
注:支持使用一个参数。
示例:
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 ;
24. PROPER编辑
1)概述
PROPER(text):将文本中的第一个字母和所有非字母字符后的第一个字母转化为大写,其他字母变为小写。
Text:需要转化为文本的公式、由双引号引用的文本串或是单元格引用。
2)注意事项
可使用一个参数
实时数据无此函数
3)示例
PROPER("Finemore Integrated Office")等于「Finemore Integrated Office」;
PROPER("100 percent")等于"100 Percent";
PROPER("SpreaDSheEt")等于"Spreadsheet"。
25. REGEXP-判断正则表达式编辑
25.1 抽取数据
1)REGEXP(str, pattern):字符串 str 是否与正则表达式 pattern 相匹配。
注:可使用三个参数,第三个参数可缺省。
REGEXP("abc","a*c")等于 false ;
本文以 \d 和 \w 为例,在自助数据集中使用该函数,其中 \d 表示匹配数字,\w 表示匹配字母或数字或下划线或汉字,如下图所示:
在计算指标中若要使用\字符,需要再添加一个反斜杠。所以当计算指标公式为regexp(字符串,"\d")时会提示不合法。
需写成regexp(字符串,"\\d"),如下图所示:
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", 1)等于「false」。
注:默认支持所有正则表达式,例如 \d,\w 。
25.2 实时数据
REGEXP(str,pattern):字符串str是否与正则表达式pattern相匹配。
示例
REGEXP("aaaaac","a*c")等于true。
REGEXP("abc","a+c")等于false。
26. STARTWITH-判断字符串 str1 是否以 str2 开始编辑
1)概念
STARTWITH(str1,str2):判断字符串 str1 是否以 str2 开始。
2)注意事项
支持使用两个参数
3)示例