今天我们介绍Excel公式处理文本的实例剖析。
一、判断单元格数据类型是否为文本
有时,我们需要判断单元格中是否包含文本,这时可以借助ISTEXT函数(具体函数功能以及用法请参阅《Excel常用函数及实例剖析》),如图1所示,在B2单元格中输入公式“=ISTEXT(A2)”。如果单元格中包含文本,则返回值为TRUE,反之,返回值为FALSE。
二、确定文本字符串的长度
当需要确定文本字符串的长度时,利用LEN函数可以很容易得出答案(具体函数功能以及用法请参阅《Excel常用函数及实例剖析》)。如图2所示,在B2单元格中输入公式“=LEN(A2)”,复制到恰当位置后,即可得出A列单元格中相应字符串的长度。
[NextPage]
三、从文本字符串中提取字符
有时我们可能需要从文本字符串中提取字符,比如从姓名字符串中提取出姓,从包含国家和城市的字符串中提取出城市名等等。在这种情况下,可以供我们使用的常用函数有三个:LEFT、RIGHT和MID(具体函数功能以及用法请参阅《Excel常用函数及实例剖析》)。
LEFT函数的作用为从字符串的开始(左端)提取指定数量的字符。它的语法格式为“LEFT(text,num_chars),参数Text的含义是包含要提取的字符的文本字符串,参数num_chars的含义是指定要由 LEFT 所提取的字符数。
RIGHT函数的作用为从字符串的尾部(右端)提取指定数量的字符。它的语法格式为“RIGHT(text,num_chars)”,两个参数的含义和LEFT函数相同。
【如何提取excel表格中单元中里某个字符后面的所有内容】
例如 b2单元格 FJY #FJ27D17-10-G-B 提取#号左边的内容是=LEFT(B2,FIND("#",B2)-1) 得到 FJY 那怎么提取#号右边的所有内容呢
方案为 =RIGHT(B2,LEN(B2)-FIND("#",B2))
MID函数的作用是从字符串的任意位置开始提取指定数量的字符。它的语法格式为“MID(text,start_num,num_chars)”,参数text的含义是包含要提取的字符的文本字符串,参数start_num的含义是文本中要提取的第一个字符的位置,参数num_chars的含义是指定从文本中提取字符的长度。
下面我们用三个实例进一步的体会它们的使用方法。
1. 使用LEFT函数提取姓名字符串中的姓字符
如图3所示的工作表中,A列存放着姓名字符串,如果需要提取出姓字符,则可以在B2单元格中输入公式“=LEFT(A2,1)”,该公式的含义是提取姓名字符串的第一个字符,即姓字符。输入公式后利用公式填充柄复制公式到恰当位置即可。
2. 使用RIGHT函数提取城市名称
如图4所示的工作表,A列中存放着国家和城市字符串,如果需要从中提取出城市字符,则可在B2中输入公式“=RIGHT(A2,2)”,该公式的含义为提取国家和城市字符串中的后(右端)两个字符。
3. 使用MID函数提取区域字符
如图5所示的工作表,A列中存放着地址文本字符串,如果需要从中提取出区域字符,则可以在B2单元格中输入公式“=MID(A2,3,3)”。该公式的含义是从地址字符串的第3个字符开始,提取3个字符。
[NextPage]
四、将数值转换为文本并以指定格式显示
在某些任务中,我们需要将数值转换为文本,并以指定的格式显示,比如在将金额小写转换为大写格式的过程中,就有这种需求。这时在公式中利用TEXT函数可以很好地解决问题(具体函数功能以及用法请参阅《Excel常用函数及实例剖析》)。
TEXT函数的语法格式为“TEXT(value,format_text)”,参数Value的含义为数值、计算结果为数字值的公式,或对包含数字值的单元格的引用,参数Format_text的含义为单元格格式”对话框中“数字”选项卡上“分类”框中的文本形式的数字格式。
如图6所示的工作表中,如果我们需要将金额小写格式转换为大写,则可以在B2单元格中输入公式“=TEXT(A2,[DBnum2]G/通用格式)”,其中参数“[DBnum2]G/通用格式”的含义是显示为中文大写字符。
当然,我们也可以不使用公式将金额小写格式转换为大写格式,只要先选中小写金额所在的单元格(我们这里先把A2:A3的小写金额复制到C2:C3单元格,并选中C2:C3),然后选择菜单“格式→单元格”命令,打开“单元格格式”对话框,在“数字”选项卡的“分类”列表中选择“特殊”项,然后在类型列表框中选择“中文大写数字”(如图7),最后单击“确定”按钮。
返回Excel编辑窗口后,可以看到使用两种方法转换的表面效果是完全一样的(如图8)。
为什么说只是表面效果一样呢?这是因为两种转换方法的本质是有差别的。
第一种方法,使用TEXT函数转换,转换后得到的结果不仅格式改变了,而且数据类型也改变为文本类型,不能再作为数字参与运算。为了测试,可以在B4单元格中输入公式“=B2*2”,回车后将出现“#VALUE”错误,这是因为B2单元格中的数据类型已不是数值,而是文本,所以不能再参与数值运算(如图9)。
第二种方法,通过“格式”菜单调用“单元格”命令,然后在“数字”选项卡上设置单元格的格式,只会更改单元格的格式而不会影响其中的数值。也就是说C2单元格中的数据类型还是数值,还可以参与数字计算。为了测试,可以在C4单元格中输入公式“=C2*2”,回车后得到正确的计算结果(如图9)。
上面我们仔细介绍了两种方法的差别,正是这种差别,让TEXT函数在一些情况下扮演着非用不可的角色。比如在将金额小写转换为大写格式的任务中,如果利用先把元位、角位和分位分别求出并显示为大写格式,然后在将它们组合的思路,那就必须用TEXT函数,而不能通过“格式”菜单调用“单元格”命令,然后在“数字”选项卡上设置单元格的格式的方法。这是由于我们希望得到的元位、角位和分位都是文本类型,这样才能将它们组合起来。
[NextPage]
五、 在文本中进行替换
某些情况下,我们需要将文本字符串中的一部分替换为其他文本,可以在公式中使用这两个函数:SUBSTITUTE和REPLACE(具体函数功能以及用法请参阅《Excel常用函数及实例剖析》)。
SUTSTITUTE的功能是替换字符串中的特定文本。通常,在知道所要替换的字符但不道具体的位置时使用这个函数。
SUTSTITUTE的语法格式为“SUBSTITUTE(text,old_text,new_text,instance_num),参数Text为需要替换其中字符的文本,或对含有文本的单元格的引用,参数Old_text为需要替换的旧文本,参数New_text 是用于替换 old_text 的文本,参数Instance_num为一数值,用来指定以 new_text 替换第几次出现的 old_text。如果指定了 instance_num,则只有满足要求的 old_text 被替换;否则将用 new_text 替换 Text 中出现的所有 old_text。
如图10所示的工作表中,如果我们需要将A列单元格字符串中的“徐汇区”替换为“静安区”,则可以在B2单元格中输入公式“=SUBSTITUTE(A2,徐汇区,静安区)”,并复制公式到恰当单元格。
SUBSTITUTE函数还有个实用的功能,就是把文本字符串之间的空格都去掉。如图11所示,只要在B2单元格中输入公式“=SUBSTITUTE(A2, ,)”即可。
REPLACE的功能是替换字符串中特定位置的文本。通常,当知道所要替换文本的具体位置但不知道文本的实际内容时,使用这个函数。
REPLACE的语法格式为“REPLACE(old_text,start_num,num_chars,new_text)”,其中参数old_text的含义是是要替换其部分字符的文本,参数Start_num的含义是要用 new_text 替换的 old_text 中字符的位置,参数Num_chars的含义是希望 REPLACE 使用 new_text 替换 old_text 中字符的个数,参数New_text的含义是要用于替换 old_text 中字符的文本。
对于图10所示的问题,也可以使用REPLACE函数解决。如图12所示,在B2单元格中输入公式“=REPLACE(A2,4,3,静安区)”,这个公式的含义为,对A2单元格中的文本字符串,从第4个字符开始取3个字符,即“徐汇区”,用“静安区”来替换。
关于Excel处理文本的公式实例就先介绍到这里,由于都是最简单的实例,因此理解上应该比较轻松,如果感兴趣的朋友能够实际动手操作一下,并运用于实际当中,则会有更好的把握。
联系客服