文本函数
文本函数是公式中的一种函数类型,可以对文本类型的数据进行运算。
CONCATENATE()
将多个文本值串联成单个文本值(其效果等同于运算符 “ &” )。
CONCATENATE(text1, [text2, …])
参数说明
text:是要串联的文本值。至少填写一个文本值 text1,可以添加多个 textn....
注 ① :如果要拼接双引号,你需要使用反斜杠( \ )作为转义字符。
示例
// 文本拼接
公式:CONCATENATE("8班", "小胡")
运算结果:"8班小胡"
// 文本类型的 {字段} 与文本拼接
公式:CONCATENATE({班级}, "小胡")
运算结果:文本(例:"8班小胡")
// 文本类型的 {字段} 拼接
公式:CONCATENATE({班级},{姓名})
运算结果:文本(例:"8班小胡")
公式:CONCATENATE({班级}, "—", {姓名})
运算结果:文本(例:"8班—小胡")
// 文本与日期类型的 {字段} 拼接
公式:CONCATENATE("项目要在:", {截止日期}, "前完成")
运算结果:文本(例:"项目要在 2021/4/1 前完成")
// 文本与数字类型的 {字段} 拼接
公式:CONCATENATE("本月销售额:", {销售额})
运算结果:文本(例:"本月销售额:100")
// 特例:拼接双引号
公式:CONCATENATE(" \" ", "小胡", " \" ")
运算结果:" 小胡 "
FIND()
查找特定内容在文本中第一次出现的位置。
FIND(stringToFind, whereToSearch, [startFromPosition])
参数说明
stringToFind:是要查找的特定内容。 whereToSearch:指定从哪段文本中查找内容。 startFromPosition:非必填,指定从文本的哪个位置开始查找(用数字表示第几个字符)。
如果返回数字 3 ,表示内容第一次出现在该文本的第 3 个字符。 如果未找到匹配的文本,则结果将为 0 。 其效果与
SEARCH()
类似,但是未找到匹配项时,SEARCH()
返回值为空,FIND()
返回值为 0 。
示例
// 查找到匹配的内容,返回内容第一次出现的位置。
公式:FIND("API", "支持API的智能多维表格")
运算结果:3
公式:FIND("支持", "支持API的智能多维表格")
运算结果:1
公式:FIND("API", "支持API的智能多维表格。支持API,无限DIY")
运算结果:3
// 未查找到匹配的内容,返回 0。
公式:FIND("维格表", "支持API的智能多维表格")
运算结果:0
// 指定从文本中的某个位置开始查找。
公式:FIND("API", "支持API的智能多维表格", 4)
运算结果:0
公式:FIND("API", "支持API的智能多维表格。支持API,无限DIY", 4)
运算结果:16
// 从一列 {字段} 中查找内容。
公式:FIND("API", {文章内容}, 4)
运算结果:数值
SEARCH()
查找特定内容在文本中第一次出现的位置。
SEARCH(stringToFind, whereToSearch, [startFromPosition])
参数说明
stringToFind:是要查找的特定内容。 whereToSearch:指定从哪段文本中查找内容。 startFromPosition:非必填,指定从文本的哪个位置开始查找(用数字表示第几个字符)。
如果返回数字 3 ,表示内容第一次出现在该文本的第 3 个字符。 如果未找到匹配的文本,则结果将为 0 。 其效果与
FIND()
类似,但是未找到匹配项时,SEARCH()
返回值为空,FIND()
返回值为 0 。
示例
// 查找到匹配的内容,返回内容第一次出现的位置。
公式:SEARCH("API", "支持API的智能多维表格")
运算结果:3
公式:SEARCH("支持", "支持API的智能多维表格")
运算结果:1
公式:SEARCH("API", "支持API的智能多维表格。支持API,无限DIY")
运算结果:3
// 未查找到匹配的内容,返回空值。
公式:SEARCH("维格表", "支持API的智能多维表格")
运算结果:空值
// 指定从文本中的某个位置开始查找。
公式:SEARCH("维格表", "支持API的智能多维表格")
运算结果:空值
公式:SEARCH("API", "支持API的智能多维表格。支持API,无限DIY", 4)
运算结果:16
// 从一列 {字段} 中查找内容。
公式:SEARCH("API", {文章内容}, 4)
运算结果:数值
MID()
从文本中特定位置提取一段固定长度的内容。
MID(string, whereToStart, count)
参数说明
string:是要提取特定内容的一段文本。 whereToSearch:指定从哪儿开始提取内容,用数字表示。比如数字 3 表示从文本的第 3 个字符开始提取。 count:是提取的内容长度,用数字表示。比如数字 2 表示从指定位置提取 2 个字符。
示例
// 提取到指定位置的内容。
公式:MID("支持API的智能多维表格", 3, 3)
运算结果:"API"
// 提取的内容长度超过文本本身长度。
公式:MID("支持API的智能多维表格", 3, 99)
运算结果:"API的智能多维表格"
// 没有提取到指定位置的内容。
公式:MID("支持API的智能多维表格", 99, 3)
运算结果:空值
// 提取某一列 {字段} 中指定位置的内容。
公式:MID({文章内容}, 3, 3)
运算结果:文本
REPLACE()
将文本中特定位置的一段内容替换为新内容。
REPLACE(string, start_character, number_of_characters, replacement)
参数说明
string:是要替换特定内容的一段文本。 start_character:指定从哪儿开始替换内容,用数字表示。比如数字 3 表示从文本的第 3 个字符开始替换。 number_of_characters:是替换的内容长度,用数字表示。比如数字 2 表示从指定位置替换 2 个字符。 replacement:是替换原内容的新内容。
注 ① :如果你想将文本中所有的特定内容替换为新内容,请参见
SUBSTITUTE()
。
示例
// 替换指定位置的内容。
公式:REPLACE("维格表", 3, 1, "星球")
运算结果:"维格星球"
// 替换的内容长度超过文本本身长度。
公式:REPLACE("维格表", 3, 99, "星球")
运算结果:"维格星球"
// 指定位置超过文本本身长度。
公式:REPLACE("维格表", 99, 1, "星球")
运算结果:"维格表星球"
// 替换某一列 {字段} 中指定位置的内容。
公式:REPLACE({文章内容}, 3, 1, "星球")
运算结果:文本
SUBSTITUTE()
将文本特定的内容全部替换为新内容。
SUBSTITUTE(string, old_text, new_text, [index])
参数说明
string:是要替换特定内容的一段文本。 old_text:要被替换的原内容。 new_text:替换掉原内容的新内容。 index:非必填,是索引号,指定索引号后系统仅会替换特定位置的内容。如果未填写,系统会替换掉文本中所有匹配的内容。
注 ① :如果你想替换指定的起点位置和终点位置之间的内容,请参见
REPLACE()
。
示例
// 替换文本中所有匹配的内容。
公式:SUBSTITUTE("小胡,小张,小王", "小", "老")
运算结果:"老胡,老张,老王"
// 没有找到替换的内容
公式:SUBSTITUTE("小胡,小张,小王", "老", "大")
运算结果:"小胡,小张,小王"
// 替换某一列 {字段} 中所有匹配的内容。
公式:SUBSTITUTE({文章内容}, "表", "星球")
运算结果:文本
LEN()
统计一段文本的字符长度。
LEN(string)
参数说明
string:是要计算长度的文本;标点符号、空格等也会占一个字符。
示例
// 统计文本字符长度。
公式:LEN("你猜猜我有多长?")
运算结果:8
// 空值不占字符。
公式:LEN("")
运算结果:0
// 空格占一个字符(引号中间有一个空格)。
公式:LEN(" ")
运算结果:1
// 统计某一列{字段}的单元格内字符长度。
公式:LEN({文章内容})
运算结果:数字
LEFT()
从文本的开头提取出指定个数的字符
LEFT(string, howMany)
参数说明
string:是要被提取字符的文本。 howMany:是提取的字符数量。用数字表示,比如 “5” ,代表从右到左提取 5 个字符。
示例
// 提取文本内的字符。
公式:LEFT("支持API,随意DIY", 5)
运算结果:"支持API"
// 空格占一个字符(引号中间有一个空格)。
公式:LEFT("支持 API,随意 DIY", 5)
运算结果:"支持 AP"
// 提取某一列 {字段} 的单元格内的字符。
公式:LEFT({文章内容},99)
运算结果:文本
RIGHT()
从文本的末尾提取出指定个数的字符。
RIGHT(string, howMany)
参数说明
string:是要被提取字符的文本。 howMany:是提取的字符数量。用数字表示,比如 “5“ ,代表从右到左提取 5 个字符。
示例
// 提取文本内的字符。
公式:RIGHT("支持API,随意DIY", 5)
运算结果:"随意DIY"
// 空格占一个字符(引号中间有一个空格)。
公式:RIGHT("支持API,随意 DIY", 5)
运算结果:"意 DIY"
// 提取某一列 {字段} 的单元格内的字符。
公式:RIGHT({文章内容},99)
运算结果:文本
LOWER()
将所有大写字母全部转换为小写字母。
LOWER(string)
参数说明
string:是要被转换的文本。
示例
// 将文本中的大写字母转换为小写字母。
公式:LOWER("Hello!")
运算结果:"hello!"
// 转换某一列 {字段} 的单元格内的字符。
公式:LOWER({文章内容})
运算结果:文本
UPPER()
将所有小写字母全部转换为大写字母。
UPPER(string)
参数说明
string:是要被转换的文本。
示例
// 将文本中的小写字母转换为大写字母。
公式:UPPER("Hello!")
运算结果:"HELLO!"
// 转换某一列 {字段} 的单元格内的字符。
公式:UPPER({文章内容})
运算结果:文本
REPT()
根据指定次数复制文本内容。
REPT(string, number)
参数说明
string:是需要被复制的文本。 mumber:是指定的复制次数。用数字表示,比如 “2” ,表示重复两次。
示例
// 将文本中的内容重复两次。
公式:REPT("哈", 2)
运算结果:"哈哈"
// 将数字重复两次,输出的是文本数字
公式:REPT(5, 2)
运算结果:"55"
// 将某一列 {字段} 的单元格内文本重复两次。
公式:REPT({文章内容}, 2)
运算结果:文本
T()
判定内容是否为文本值。
T(value)
参数说明
value:是被检查是否为文本的值。
如果输入值为文本类型,则返回原文本,如果非文本类型则返回空值。
示例
// 输入值为文本值,则返回原文本。
公式:T("维格表")
运算结果:"维格表"
// 输入值为文本数字,则返回原文本。
公式:T("2")
运算结果:"2"
// 输入值为数字,则返回空值。
公式:T(2)
运算结果:空值
// 判定某一列 {字段} 的单元格内是否为文本。
公式:T({文章内容})
运算结果:文本
TRIM
清除文本开头和结尾的空格。
TRIM(string)
参数说明
value:是需要被处理的文本。
示例
// 文本两边的空格会被清除。
公式:TRIM(" 两边空格会被清除! ")
运算结果:"两边空格会被清除!"
// 文本中间的空格不会被清除。
公式:TRIM("中间的 空格 不会被清除!")
运算结果:"中间的 空格 不会被清除!"
// 清空某一列 {字段} 的单元格文本前后的空格。
公式:TRIM({文章内容})
运算结果:文本
ENCODE_URL_COMPONENT()
把文本编码为 URL 的格式。
ENCODE_URL_COMPONENT(component_string)
参数说明
componentstring:是需要被编码的文本。不编码以下字符:- . ~ 比如将第一个例子的输出值复制到浏览器地址栏,就相当于在百度里搜索 “苹果” 的 URL 。
示例
// 把 “苹果” 编码为 URL 格式。相当于在百度里搜索 ”苹果“ 的 URL 。
公式:"https://www.baidu.com/s?wd=" &ENCODE_URL_COMPONENT("苹果")
运算结果:URL
// 把 {搜索关键词} 单元格里的文本内容编码为 URL 格式。相当于在百度里搜索 {搜索关键词} 单元格内容的 URL 。
公式:"https://www.baidu.com/s?wd=" & ENCODE_URL_COMPONENT({搜索关键词})
运算结果:URL