室内设计培训
平面设计培训
部落窝教育
网站首页 >> Excel教程 >> 文章内容

2011年第9期技术讲座:substitute函数的运用

[日期:2011-02-19]   来源:IT部落窝  作者:IT部落窝   阅读:4596[字体: ]
内容提要:结合实例详细讲解substitute函数的运用。

  分享题目:substitute函数的运用
  主讲老师:卢子老师

  第一部分:substitute函数的用法介绍

  Substitute这个单词就是替换的意思。substitute函数是属于什么函数,如何使用呢?substitute函数有点类似于excel中的查找替换命令,但却更灵活好用。

  substitute函数属于文本查找类函数,就是查找某个字符,然后替换成别的字符。

  substitute函数的语法是: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。

  第二部分:substitute函数的应用实例

  第一题:substitute函数基础应用

  实例如下图所示。源数据为A5单元格。本题实现的效果就是变换不同的参数,将源数据中的“笑”字替换为“看今朝”三个字。

substitute函数的运用

  C5单元格的公式,实现的就是B5单元格的效果。其中,第四个参数,省略,就表示源数据中所有“笑”字都替换掉。如果只是替换源数据中第一个“笑”,即B6单元格的效果,只需把第4个参数写1就可以。同样,如果要替换第2个笑,即B7单元格的效果,就把第4参数写2就可以。

  如果源数据中有多处数据需要替换。比如源数据有三个笑,需要替换其中的2和3个笑字,那么就需要嵌套函数。关于嵌套层数,在Excel 2003及以前的版本,最多允许7层嵌套,在Excel 2007中允许使用64层嵌套。

  B8、B9单元格的效果,前面包含空格,可以使用LEN函数测试出空格数,比如:=LEN(B8)-4,得到1,前面有1个空格。这里的4,代表笑看今朝4个字符。

  C9单元格的公式,用到了REPT函数。REPT函数就是按照给定的次数重复显示文本。可以通过此函数来不断地重复显示某一文本字符串,对单元格进行填充。比如,要重复显示10个空格,可以输入=REPT(" ",10)。

  其实空格是没有实际意义,为什么要举这个列子呢,是因为有时候输入不规范。比如一次性把A1单元格的所有空格取消,可以输入公式:=SUBSTITUTE(A1," ","")。

  第二题:substitute函数进阶应用实例

  下图所示的是一个单位的12月份出差费用明细表,方便演示,只截取了部分图表。

substitute函数的运用

  第一,根据上图,统计D5单元格“杨”出现的次数。

  公式分析: substitute函数如果第4参数省略不写,就是把所有需要替换掉的内容替换掉。这里,使用len函数测试有几个字符被替换掉,减少的字符数就是有几个“杨”。

  公式为:=LEN(D5)-LEN(SUBSTITUTE(D5,"杨",""))

  第二,12月份“陈锡卢”共出现几次。

  此题需要使用到sumproduct函数,这个函数功能很强大,求和、计数都可以使用。这个函数与SUM函数很相似。sumproduct函数的用法是在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。在以后的讲座还会专门讲解此函数。

  公式为:=SUMPRODUCT(--((LEN(D5:D31)-LEN(SUBSTITUTE(D5:D31,"陈锡卢","")))>0))

  公式分析:本题我们就是使用sumproduct函数来计数。总字符—替换的字符>0,统计大于0的个数。因为公式判断出来的结果是逻辑值,不能直接求和,因此得先变为数值才行。- - 的作用是把文本转换为数字,让逻辑值参加运算。另外*1,/1,+0,等都可以让文本参与运算。另外,用LEN(D5:D31)给出12月份这个区域。

  第三,在人数C列统计出对应的人数有几个。

  公式为:=IF(D5="","",LEN(D5)-LEN(SUBSTITUTE(D5,"、",""))+1)

  公式分析:从上面的工作表,可以发现D列人员名单中的“、”符号比人名少一个,利用substitute函数把它替换成空,然后计算。前面再加上IF来判断没有人名的情况就显示为空。

  第四,计算12月份的总金额。

  公式为:=SUMPRODUCT(--SUBSTITUTE(E5:E31,"元",""))&"元"

  公式分析:从上面的工作表中的数据可以发现金额后面都有个“元”字,这时,利用sum是不能正确求和的。其实,用SUBSTITUTE(E5:E31,"元","")将数字提取提取出来,然后就可以求和了。

  本讲座有关的Excel源文件请在论坛下载:http://www.blwbbs.com/forum.php?mod=redirect&goto=findpost&ptid=7&pid=24&fromuid=1

IT部落窝PS,CDR,213班 分享到: QQ空间 新浪微博 腾讯微博 人人网
photoshop教程
Photoshop教程
平面设计教程
Photoshop教程