总结篇--SUBSTITUTE函数实用终极帖
来源:Excel应用之家
SUBSTITUTE函数是EXCEL常用的文本函数之一,常用于字符串的提取等操作。今天就让我们再一次来重温一下他都有哪些用法吧!
文本替换
下例中,以“金庸”来替代“黄药师”。
在单元格B2中输入“=SUBSTITUTE(A2,'黄药师','金庸')”并向下拖曳即可。
思路:
公式比较简单,直接用新文本替换旧文本即可
去除空格
和上例文本替换相类似,请看下例。
在单元格B2中输入“=SUBSTITUTE(A2,' ','')”即可。
隐藏数字
例如,我们隐藏手机号码中间的5位数字。
在单元格B2中输入“=SUBSTITUTE(A2,MID(A2,4,5),'*****')”并向下拖曳即可。
思路:
利用MID函数提取手机号中间的5位数字
利用SUBSTITUTE函数进行替换
统计人数
有些情况下,我们登记的信息是下面这样子的。这时候一般的统计方法是难以实现的。
在单元格B2中输入“=LEN(A2)-LEN(SUBSTITUTE(A2,'、',''))+1”并向下拖曳即可。
思路:
利用SUBSTITUTE函数用“”把顿号替换
利用LEN函数计算出替换前和替换后的字符长度
相减便是顿号的个数
加上1便是人员的数量
求和
有时候文本的输入并不是那么的规范,例如下列。怎样求和呢?
在单元格C2中输入“=SUM(--SUBSTITUTE($A$2:$A$4,'人',''))”,CTRL+SHIFT+ENTER三键回车即可。
思路:
利用SUBSTITUTE函数,将单元格区域A2:A4中的“人”用空“”替换
减负运算,将文本型数字转换为数字型数字
SUM函数求和
分列
利用SUBSTITUTE函数我们也可以拆分数据。
在单元格C2中输入“=LEFT(A2,SUM(LEN(A2)-LEN(SUBSTITUTE(A2,{0,1,2,3,4,5,6,7,8,9},''))))”,CTRL+SHIFT+ENTER三键回车即可。
思路:
用空字符分别替代字符串中的数字0~9。
分别计算替代后的新的字符串的长度。
用替代前的字符串的长度减去替代后的字符串的长度,实际得出的是每个数字的个数。
将以上这些数字的个数相加,其和就是字符串中数字的位数。
用left函数将数字从字符串中提取出来。
最后用right函数将文本提取出来。
经典应用
这个用法是SUBSTITUTE函数的经典用法。
在单元格B2中输入“=TRIM(MID(SUBSTITUTE(A2,'/',REPT(' ',99)),99,99))”即可。
思路:
利用SUBSTITUTE函数将'/'用重复了99次的空格替换
利用MID函数从第99位提取数值,长度为99个字符
最后利用TRIM去除多余的空格得到数值
注意,为什么用99呢?其实是为了重复的空格长度要大于字符的长度,确保能够提取到想要提取到的数据。