http://www.pptjcw.com

表格制作快速入门:全了,SUBSTITUTE函数常用套路集合!

    今天给大家集中火力聊一个函数:SUBSTITUTE。该函数是Excel最常用的文本函数之一,在数据分析过程中,常用于字符串的整理和清洗。

    SUBSTITUTE函数的基础语法是:
    SUBSTITUTE(要替换的文本,旧文本,新文本,[替换第几个])
    最后一个参数,[替换第几个], 是可以省略的。
    举几个小栗子,和大家分享下SUBSTITUTE函数的常用技巧和套路。

    1,将数据中的某个值替换为另一个值

    比如将B列数据里的二班,替换为一班。
    C2输入公式,并向下复制填充:
    =SUBSTITUTE(B2,"二班","一班")

    表格制作快速入门:全了,SUBSTITUTE函数常用套路集合!

    这里没啥好解释的了,就是将B列中单元格中的“二班”全部替换为“一班”。

    2,隐藏手机号的中间5位

    C2输入公式,并向下复制填充:
    =SUBSTITUTE(B2,MID(B2,4,5),"*****")

    表格制作快速入门:全了,SUBSTITUTE函数常用套路集合!

    先使用MID函数取得B列号码中的中间五位,再用字符串“*****”替换掉这部分内容。

    3,对含单位的数据求和

    B7输入公式:
    =SUMPRODUCT(SUBSTITUTE(B2:B6,"人",)*1)

    表格制作快速入门:全了,SUBSTITUTE函数常用套路集合!

    先用SUBSTITUTE替换掉B列单元格中的“人”,得到文本型数字,乘以1后转换成可以计算的数值,再用SUMPRODUCT函数进行求和。

    4,数据分列,将B列数据按顿号进行分列

    C2单元格输入公式横向拖动,并向下复制填充。
    =TRIM(MID(SUBSTITUTE($B2,"、",REPT(" ",100)),COLUMN(A1)*100-99,100))

    表格制作快速入门:全了,SUBSTITUTE函数常用套路集合!

    REPT(” “,100)
    先使用REPT函数,将空格重复100次,得到100个空格。
    SUBSTITUTE($B2,”、”,REPT(” “,100))
    使用SUBSTITUTE函数将姓名中的的间隔符号顿号替换为100个空格。
    MID(SUBSTITUTE($B2,”、”,REPT(” “,100)),COLUMN(A1)*100-99,100)
    再使用MID函数,依次从带有空格的新字符串中的第1、第101、第201位……截取长度为100的字符。
    这样得到的字符串是带有多余空格的,因此再使用TRIM函数将多余空格删除掉。

    5,混合文本中,计算人数个数

    表格制作快速入门:全了,SUBSTITUTE函数常用套路集合!

    B2公式:
    =LEN(A2)-LEN(SUBSTITUTE(A2,"、",))+1

    LEN(A2)取得A2字符串的长度。
    LEN(SUBSTITUTE(A2,”、”,))+1,替换掉人名之间的间隔符,也就是顿号,再用LEN计算该值的长度,最后加1,是因为最后一个人名没有顿号。
    用A2数值原有的长度减去被替换掉人名之间间隔符的长度,也就是人名的个数。

    6,混合文本中,计算数值最大值。

    表格制作快速入门:全了,SUBSTITUTE函数常用套路集合!

    B2数组公式:
    =MAX((SUBSTITUTE(A2,ROW($1:$98),)<>A2)*ROW(1:98))
    SUBSTITUTE(A2,ROW($1:$98),)<>A2

    依次将数值1到98从A2替换为空,然后把替换后的结果和被替换值(1-98)进行比较 ,如果不相等,则证明A2中存在该数值。
    最后将上述部分公式的运算结果,也就是逻辑值TRUE和FALSE,乘以被替换的值(1-98),用MAX函数从中取得最大值。

    7,计算某个值在某个范围的最大连续次数

    表格制作快速入门:全了,SUBSTITUTE函数常用套路集合!

    B2数组公式:
    =MAX((SUBSTITUTE(PHONETIC(A2:A9),REPT("A",ROW(1:9)),)<>PHONETIC(A2:A9))*ROW(1:9))
    PHONETIC(A2:A9)
    将A2:A9的文本值黏合成一个值,以便SUBSTITUTE函数进行操作。
    REPT(“A”,ROW(1:9))
    把“A”重复1到9次。
    SUBSTITUTE(PHONETIC(A2:A9),REPT(“A”,ROW(1:9)),)<>PHONETIC(A2:A9)

    思路回到示例6,SUBSTITUTE函数将REPT函数的运算结果,在PHONETIC函数的运算结果里替换掉,然后和PHONETIC函数的原值进行比较。如果后者存在替换值,则被替换掉,此时和原值不相等,返回FALSE,否则返回TRUE。
    最后依然把上述公式返回的逻辑值TRUE和FALSE,分别乘以ROW(1:9),用MAX函数从中取得最大值。

    提示:如果您觉得本文不错,请点击分享给您的好友!谢谢

    上一篇:表格制作excel教程:Excel如何制作动态模糊匹配的下拉菜单? 下一篇:excel教程:连代码调试都一窍不通,还谈啥会VBA?

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。