第一部分:REPT函数用法介绍
Excel中rept函数的用法就是按照给定的次数重复显示文本。
rept函数的通常用法就是:通过函数 REPT 来不断地重复显示某一文本字符串,对单元格进行填充。
rept函数的语法是:REPT(text,number_times)
其中,Text是需要重复显示的文本,Number_times是指定文本重复次数的正数。
比如A1单元格为“欢迎你”,在A2单元格输入公式:=REPT(A1,2),得到结果为:欢迎你欢迎你。公式的意思就是将A1单元格的内容重复显示两次。
第二部分:REPT函数应用实例介绍
第一题,下图B5单元格是源数据,要求实现L列的效果,该如何设计公式呢?
1.如果套用REPT函数的格式,可以得到公式:=REPT(B5,1),=REPT(B5,2),=REPT(B5,3)……,就是不断变最后的参数,改为1,2,3,4,5这样的形式得到。
2.通常的做法,用row(),column()两个函数,一个是行号,一个是列号来作为REPT函数的第二参数。
比如,在L5 单元格输入公式:=REPT($B$5,ROW(A1)),然后下拉就可以实现这样的效果。
3.另外,也可以使用多单元格数组完成,方法是首先选中L5:L9区域,然后输入:=REPT(B5,ROW(1:5)),最后按下Ctrl+Shift+Enter三键结束公式的输入,直接得到结果。
其中,row(1:5)就是产生1,2,3,4,5这样的常量, 比如row(1:1),就是1, row(2:2), 就是2, row(1:2),就是1,2。
第二题,下图B11单元格是源数据,要实现L11单元格的效果,该如何设计公式呢?
公式为:=REPT(">",8)&B11&REPT("<",8),意思就是用REPT函数重复显示8个">"符号,然后连接B11单元格的内容,然后连接REPT函数重复显示8个"<"符号。
第三题,下图B列是两个手机号码,要在L列将中间四位手机号码以*号代替。该如何设计公式呢?
1.用LEFT、RIGHT函数提取然后用*号替代显示。
公式为:=LEFT(B13,3)&REPT("*",4)&RIGHT(B13,4)
2. 用SUBSTITUTE函数实现。
公式为:=SUBSTITUTE(B13,MID(B13,4,4),REPT("*",4))
关于SUBSTITUTE函数的用法,在以前的讲座已经详细介绍过,可以参考:《2011年第9期技术讲座:substitute函数的运用》。
第四题,B列是源数据,要求B列的数据以每个数字单独分别显示在右边的单元格里,该如何设计公式呢?
观察可以发现,几个数字位数都在9位以内。公式的思路就是少于9位的按9位来提取。如果不够9位,就添加空格凑够9位。首先用len函数判断判断有几个字符,然后用9-len(b16)来看比9位少几位。少几位就用空格填充。
另外,要提取每一位,就需要使用mid函数,mid可以提取任何位置的值。为了拖动方便,我们再加上column函数。这样就把每个数提取出来放在每个单元格中。如果不够9位前面就空着。
总结出来,公式为:=MID(REPT(" ",9-LEN($B16))&$B16,COLUMN(A1),1),然后向右拖,复制公式就可以了。
公式的意思就是用REPT(" ",9-LEN($B16)),判断要加几个空格,然后用mid提取每一位。首先 对原数据 修改(不足九位 用空格补在前面),然后 利用 column 作参数 的 mid 函数 提取mid(新文本,column(a1),1)。
第五题,下图所示B列是源数据,要求将B列“/”号后面的数据显示在L列中。该如何设计公式呢?
第一种方法,对于有规律性的数据可以采用分列实现,通过菜单数据——分列实现。
第二种方法,使用公式:=TRIM(RIGHT(SUBSTITUTE(B20,"/",REPT(" ",99)),99))。
提示,公式中的99是随意给定的一个值,也可以是其余的数字,只要能够提取右边所有文字就可以。
第六题,提取当前的年月日,效果如下图所示。
提取年月日的公式分别为:
=REPT("I",RIGHT(YEAR(NOW()),2))&RIGHT(YEAR(NOW()),2)
=REPT("I",RIGHT(MONTH(NOW()),2))&RIGHT(MONTH(NOW()),2)
=REPT("I",RIGHT(DAY(NOW()),2))&RIGHT(DAY(NOW()),2)