重要的事情说3遍!重复函数rept的用法
最近咱们一直更新文本函数,今天也不例外。今天说的文本函数是rept,它的意思是根据指定次数重复文本。
-01-
函数说明
REPT 函数语法结构如下,有2个参数。
REPT(text, number_times)
Text 必需。需要重复显示的文本。
Number_times 必需。用于指定文本重复次数的正数。
它的注意事项:
如果 number_times 为 0,则 REPT 返回 ""(空文本)。
如果 number_times 不是整数,将被截尾取整。
REPT 函数结果的长度不能超过 32,767 个字符,否则 REPT 返回 #VALUE!。
-02-
示例解释
如下图所示,A列是一些字符串,在B1单元格输入公式=REPT(A1,3),向下拖动,得到B列的结果。意思是将A1单元格的字符串重复3次。就这么简单。
你可能会问这个函数有什么用呢?其实它还是挺有用的,看下面的实列。
-03-
具体应用
1.根据分数段判断星级
a.下图左表是一些人的分数,现在要求根据右表的不同分数等级来判断每个人的星级。小于60分,0颗星;大于等于60分,1颗星;...大于等于100分,5颗星。在C8单元格中输入公式=REPT("★",IF(B8<50,,B8/10-5)),向下拖动。
IF(B8<50,,B8/10-5)作为rept的第2参数,用来条件判断,小于50分的,返回0;否则返回分数/10-5。用分数除以10,相当于将分数缩小10倍,再减去5刚好是我们要重复的次数。
b.还是这个题,只不过这次的星级用下图的形式表现,有实心和空心两种星星。在C17单元格中输入公式=REPT("★",IF(B17<50,,B17/10-5))&REPT("☆",5-IF(B17<50,,INT(B17/10-5))),向下拖动。
这个公式用了2个rept,第1个rept返回实心★的个数,第2个rept用来返回空心☆的个数。中间用连字符&连起来就可以了。比如以黄蓉的95分为例,第1个rept返回实心4颗星,第2个rept返回空心5-4颗星。
这里用到了int向下取整这个函数,比如int(1.5)返回1。以后我会更新的。
2.改变数字的形式
A列是一些数字,要将它改为B列的形式。这里我给出3种方法,但我只讲1种,其他2种你自己看。在B29单元格种输入公式=LEFT(TEXT(A29,REPT("0-",LEN(A29))),2*LEN(A29)-1),向下拖动。
你可以看到这个公式用了好几个函数。left,rept,len我们都学过了,只有text没有学过。text后面也会讲到的。
REPT("0-",LEN(A29))这部分的意思是,A29单元格有8个字符,rept就将"0-"重复8次,就形成"0-0-0-0-0-0-0-0-"。
TEXT(A29,REPT("0-",LEN(A29)))将A29中的数字放到"0-0-0-0-0-0-0-0-"对应的0上,就形成"5-6-4-5-6-4-5-6-"。这样最后面多出1个“-”。
最后用left给提取出来,提取的位数为2*LEN(A29)-1,整个公式就拆解完了。
其他2种方法的公式为C29=SUBSTITUTE(TEXT(A29,REPT("0-",LEN(A29))),"-",,LEN(A29))。
D29=REPLACE(TEXT(A29,REPT("0-",LEN(A29))),2*LEN(A29),1,)。
rept函数很简单,但从这2个列子中你可能会发现,和其他函数结合运用,rept也能发挥它的强大作用。所以,把几个简单的函数结合起来灵活运用是不容易的,只要你运用的好,说不定就能发现不一样的神奇用法。
如果对你有帮助或者你喜欢的话,请帮我转发或者打赏,你的支持就是我最大的动力!