4.2 处理文本
使用Excel中的文本函数可以对文本或数值进行以“字符”为单位的处理,例如提取指定数量的字符、计算文本的长度、查找和替换文本等。本节将介绍常用的文本函数:LEFT、RIGHT、MID、LEN、LENB、FIND、SEARCH、SUBSTITUTE和REPLACE。
4.2.1 提取指定数量的字符
LEFT函数用于从文本左侧的起始位置开始,提取指定数量的字符,语法如下:
LEFT(text,[num_chars])
RIGHT函数用于从文本右侧的结尾位置开始,提取指定数量的字符,语法如下:
RIGHT(text,[num_chars])
LEFT函数和RIGHT函数都包含以下两个参数:
· text(必选):要从中提取字符的内容。
· num_chars(可选):提取的字符数量,如果省略该参数,其值默认为1。
MID函数用于从文本中的指定位置开始,提取指定数量的字符,语法如下:
MID(text,start_num,num_chars)
MID函数包含3个参数,第一个和第三个参数与LEFT和RIGHT函数的两个参数的含义相同,MID函数的第二个参数表示提取字符的起始位置。
下面的公式提取“Excel与Power BI”中的前5个字符,返回“Excel”。
=LEFT("Excel与Power BI",5)
下面的公式提取“Excel与Power BI”中的后两个字符,返回“BI”。
=RIGHT("Excel与Power BI",2)
下面的公式提取“Excel与Power BI”中第7~11个字符,返回“Power”。
=MID("Excel与Power BI",7,5)
以上3个公式在Excel中的效果如图4-22所示。
图4-22 LEFT、RIGHT和MID函数
4.2.2 计算文本长度
LEN函数用于计算文本的字符数,语法如下:
LEN(text)
LEN函数只有一个必选参数text,表示要计算其字符数的内容。下面的公式返回14,因为“Excel与Power BI”包含14个字符,每个英文字母和每个汉字都按1个字符计算,空格也按1个字符计算。
=LEN("Excel与Power BI")
LENB函数的功能与LEN函数相同,但是以“字节”为单位计算字符长度,对于双字节字符(汉字和全角字符),LENB函数计数为2,LEN函数计数为1。对于单字节字符(英文字母、数字和半角字符),LENB和LEN函数都计数为1。
下面的公式返回15,因为“与”字的长度为2,其他字符的长度为1。
=LENB("Excel与Power BI")
以上两个公式在Excel中的效果如图4-23所示。
图4-23 LEN和LENB函数
4.2.3 查找文本
FIND函数用于查找指定字符在文本中第一次出现的位置,语法如下:
FIND(find_text,within_text,[start_num])
SEARCH函数的功能与FIND函数类似,但是在查找时不区分英文大小写,而FIND函数在查找时区分英文大小写,语法如下:
SEARCH(find_text,within_text,[start_num])
FIND和SEARCH函数都包含以下3个参数:
· find_text(必选):要查找的内容。
· within_text(必选):在其中进行查找的内容。
· start_num(可选):开始查找的起始位置。如果省略该参数,其值默认为1。
如果找不到特定的字符,FIND和SEARCH函数都会返回#VALUE!错误值。
下面的公式返回4,由于FIND函数区分英文大小写,因此查找的小写字母e在“Excel与Power BI”中第一次出现的位置位于第4个字符。
=FIND("e","Excel与Power BI")
如果将公式中的FIND改为SEARCH,则公式返回1,由于SEARCH函数不区分英文大小写,因此“Excel与Power BI”中的第一个大写字母“E”与查找的小写字母“e”匹配。
=SEARCH("e","Excel与Power BI")
以上两个公式在Excel中的效果如图4-24所示。
图4-24 FIND和SEARCH函数
4.2.4 替换文本
SUBSTITUTE函数使用指定的文本替换原有文本,适用于知道替换前、后的内容,但是不知道替换的具体位置的情况,语法如下:
SUBSTITUTE(text,old_text,new_text,[instance_num])
· text(必选):要在其中替换字符的内容。
· old_text(必选):要替换掉的内容。
· new_text(必选):用于替换的内容。如果省略该参数的值,则将删除由old_text参数指定的内容。
· instance_num(可选):要替换掉第几次出现的old_text。如果省略该参数,则替换所有符合条件的内容。
下面的公式将“Excel数据分析与Power BI数据分析”中的第二个“数据分析”替换为“报表设计”,返回“Excel数据分析与Power BI报表设计”。如果省略最后一个参数,则将替换文本中所有的“数据分析”,如图4-25所示。
=SUBSTITUTE("Excel数据分析与Power BI数据分析","数据分析","报表设计",2)
图4-25 SUBSTITUTE函数
REPLACE函数使用指定字符替换指定位置上的内容,适用于知道要替换文本的位置和字符数,但不知道要替换哪些内容的情况,语法如下:
REPLACE(old_text,start_num,num_chars,new_text)
· old_text(必选):要在其中替换字符的内容。
· start_num(必选):替换的起始位置。
· num_chars(必选):替换的字符数。如果省略该参数的值,则在由start_num参数表示的位置上插入指定的内容,该位置上的原有内容向右移动。
· new_text(必选):替换的内容。
下面的公式将“Excel与Power BI”中的第7~11个字符(即Power)替换为“Excel”,返回“Excel与Excel BI”。
=REPLACE("Excel与Power BI",7,5,"Excel")
下面的公式在BI的左侧插入一个空格,返回“Excel与Power BI”。
=REPLACE("Excel与PowerBI",12,," ")
以上两个公式在Excel中的效果如图4-26所示。
图4-26 REPLACE函数