竞争力:玩转职场Excel,从此不加班(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.3 字符串替换

在一个字符串中定位到某些字符之后,除了将字符提取出来,还可以进行的一项操作是替换。替换字符串要用到的函数是SUBSTITUTE或REPLACE。

1. SUBSTITUTE函数的基本应用

SUBSTITUTE就是替换的意思,该函数类似于Excel中的查找与替换命令,作用都是查找到某个字符,然后替换成新的指定字符,其表达式是:

SUBSTITUTE(Text, Old_text, New_text, [Instance_num])

中文表达式为:SUBSTITUTE(字符串,旧文本,新文本,从第几个开始替换)。

SUBSTITUTE函数前三个参数按字面意思理解即可,难点是最后一个参数[Instance_num],它是一个可选参数,意思是指定要用New_text替换Old_text的次序。如果指定了Instance_num,则只有满足要求的Old_text被替换,否则,文本中出现的所有Old_text都会更改为New_text。

下面来看两个案例,如图2-17所示。第一个公式=SUBSTITUTE(A2, "Office", "Excel"),它的作用是对于A2单元格中的文本串,我们将旧文本“Office”替换成新文本“Excel”。第二个公式=SUBSTITUTE(A3, "20", "19", 2),它的作用是对于A3单元格中的文本串,我们要将旧的文本“20”替换成新文本“19”,但要注意A3单元格中字符串“2020年第1季度”中包含两个“20”,我们需要指定替换的次序,这里为第2个“20”,所以SUBSTITUTE最后一个参数为2。

图2-17 SUBSTITUTE函数

2. SUBSTITUTE带单位数值求和

使用Excel最忌讳的就是把Excel当作Word用,最常见的误区就是在一个单元格中输入“数值+单位”,这样的做法在Word中是没问题的,但是在Excel中会带来极大的不便。如图2-18所示,在“金额”一列中,数值和单位写在了一起,这样就没法直接使用SUM函数进行求和。

图2-18 SUBSTITUTE函数在求和中的作用

在B6单元格输入公式=SUM(SUBSTITUTE(B2:B4,"元","")*1),公式解读:首先将B2:B4单元格中的“元”字符替换为空值后乘以1,然后将文本数值转化为可计算的数值,最后用SUM函数求和。需要注意的是,公式输入完成之后,要按“Ctrl+Shift+Enter”组合键进行输入,因为这是一个数组公式。

这里要注意SUBSTITUTE函数的局限性:当需要替换的旧文本各不相同时,SUBSTITUTE函数就无能为力。也就是说,旧文本必须是固定的。如果需要在某一文本字符串中替换特定位置处的任意文本,可以使用函数REPLACE。

这里简要介绍REPLACE函数的用法,它是基于指定的字符数和开始位置替换文本里的字符。REPLACE函数的语法如下:

REPLACE(Old_text,Start_num,Num_chars,New_text)

简单地理解语法结构为:

REPLACE(要进行字符替换的文本,需要替换的起始位置,需要替换的字符数量,新文本)

注意:REPLACE函数中的第一个参数虽然也是Old_text,但是它和SUBSTITUTE函数中的第二个参数Old_text不是一回事,REPLACE函数中的第一个参数等同于SUBSTITUTE函数的第一个参数Text。