Excel与Power BI数据分析从新手到高手
上QQ阅读APP看书,第一时间看更新

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函数