SUBSTITUTE函数功能是把一个字符串中指定的字符,替换为新的字符。这个函数更多的是用在数据分析模板中,直接处理数据。
SUBSTITUTE函数的用法是:
= SUBSTITUTE(字符串,旧字符,新字符,替换第几个出现的)
例如,要把字符串“北京市北京西路”的第一个“北京”替换为“上海”,公式如下:
=SUBSTITUTE("北京市北京西路","北京","上海",1)
结果是 “上海市北京西路”。
下面的公式是把字符串 “北京市北京西路” 的第二个“北京”替换为“上海”:
=SUBSTITUTE("北京市北京西路","北京","上海",2)
结果是 “北京市上海西路”。
下面的公式就是将字符串“北京市,海淀区,学院路,30号”中的所有逗号清除:
=SUBSTITUTE("北京市,海淀区,学院路,30号",",","")
结果为 “北京市海淀区学院路30号”
示例1
下面是一个实际例子,目前只有A列和B列数据,现在要去提取每个卡的面值,并计算各个卡的总金额。

分析数据的特征,只要把单位“元”和“套餐”删除,剩下的不就是面值金额了吗?
单元格C2公式:
=IFERROR(1*SUBSTITUTE(A2,"元",""),0)
+IFERROR(1*SUBSTITUTE(A2,"套餐",""),0)
单元格D2公式:
=B2*C2
这里,将SUBSTITUTE取出的结果乘以数字1,是为了把文本型数字变为纯数字,因为SUBSTITUTE的结果是文本。
示例2
下图是从系统导出的销售数据,要计算截止到目前的月份数字,也就是数据最新是几月份。

用SUBSTITUTE函数把C列的“月”去掉,在剩下的数字中求最大值,就是这个问题的解决方案。不过要注意两点:
(1)SUBSTITUTE函数的结果是文本,文本是不能计算最大值的,因此需要将SUBSTITUTE的结果转换为数字;
(2)要考虑实际数据区域的大小,不能选择整列计算。引用实际大小区域可以使用OFFSET函数。
这里简单点,直接取一个固定的实际大小区域,则计算最新月份公式如下(注意是数组公式):
=MAX(1*SUBSTITUTE(C2:C418,"月",""))
---------------------------------
(未完待续)

