文本函数SUBSTITUTE,mid,SPLIT,find,REPLACE,CONCATENATE,len,
1.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”。
2.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!。
3.split
SPLIT(String1,String2 ):返回由String2分割String1组成的字符串数组。
String1:以双引号表示的字符串;
String2:以双引号表示的分隔符。例如逗号","。
备注: 如果只有一个参数,则返回一个错误。如果有多个参数,则只有前两个起作用。
示例:
SPLIT("hello,world,yes",",") = ["hello","world","yes"]。
SPLIT("this is very good"," ") = ["this","is","very","good"]。
4.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!。
5.REPLACE
REPLACE(text,textorreplace,replacetext):根据指定的字符串,用其他文本来代替原始文本中的内容。
text:需要被替换部分字符的文本或单元格引用;
textorreplace:指定的字符串或正则表达式;
replacetext:需要替换部分旧文本的文本。
示例:
REPLACE("abcd","a","re")等于"rebcd";
REPLACE("a**d","**d","rose")等于"arose";
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”。
CONCATENATE(text1,text2,...):将数个字符串合并成一个字符串。
Text1,text2,...:需要合并成单个文本的文本项,可以是字符,数字或是单元格引用。
示例:
CONCATENATE("Average ","Price")等于“Average Price”;
CONCATENATE("1","2")等于12。
7.len
LEN(args):返回文本串中的字符数或者数组的长度。需要注意的是:参数args为文本串时,空格也计为字符。参数args为数组时,直接返回数组长度。
示例:
LEN("Evermore software")等于17;
LEN(" ")等于1;
LEN(['a','b'])等于2。
8.REGEXP()
这里使用了regexp( )函数来判断是否是数字:GREPARRAY(上一步结果, regexp(item, "[0-9]")