你有没有遇到过这样的需求:在报表里快速做一个简易的图表,不需要插入真正的条形图对象,直接在单元格里就能显示?或者在处理批量数据时,需要把编号统一补足到固定长度?或者想给手机号中间几位打上星号用于展示?这时候就该REPT函数出场了。
REPT是“Repeat”的缩写,意思就是“重复”。你可以理解成Excel里的一台“复制机”——告诉它“复制什么”和“复制多少遍”,它就老老实实地把你要的字符串拼接出来。语法非常简洁:=REPT(要重复的文本, 重复次数)。例如输入=REPT("哈喽",3),单元格里就会出现“哈喽哈喽哈喽”。
单元格里的条形图
这是REPT最实用的应用场景之一。假设你有一张销售数据表,想在旁边直观地对比各业务员的业绩,又不想另外插入图表,用REPT配合竖线符号就能搞定。
比如业绩数据在B列,在C2单元格输入=REPT("▍", B2/100),然后向下填充。B2/100的作用是把数据缩放成更合适的重复次数——如果直接重复2000次竖线,结果会长得离谱。缩放系数可以根据实际数据大小灵活调整。

数据补齐:统一编号格式
很多企业系统导出的员工编号、工单号,位数不一致:有的5位,有的8位。如果需要在前面补零对齐,用REPT可以一步到位。
公式长这样:=REPT("0", 8-LEN(B2)) & B2
原理是先用LEN函数计算B2单元格里现有编号的长度,算出和标准长度8位的差值,然后用REPT重复相应数量的“0”,最后用&连接符把补位用的零和原编号拼接起来。

比如B2是“10086”,LEN返回5,8-5=3,REPT补3个0变成“000”,再拼接“10086”,结果就是“00010086”。
敏感信息掩码
处理客户信息时,直接显示完整手机号或身份证号可能有风险。REPT可以帮你快速做掩码处理。需要LEFT和RIGHT函数配合使用。
公式:=LEFT(C2,3) & REPT("*",4) & RIGHT(C2,4)
先用LEFT函数取手机号的前3位,然后用REPT生成4个星号,再用RIGHT函数取后4位,用&连起来就行。

如果你用的是Excel 2013或更新版本,也可以考虑用REPLACE函数:=REPLACE(C2,4,4,REPT("*",4)),效果是一样的。

关于参数的几个注意点
REPT的第二参数要求是正整数。如果传了小数,Excel会自动截尾取整,不是四舍五入。比如2.9会被当作2处理。如果第二参数是0,函数返回空字符串。如果是负数,返回#VALUE!错误。
另外REPT函数的总输出长度不能超过32,767个字符。这个限制在绝大多数日常场景里碰不到,但如果你让REPT重复几千次长字符串,就得留意一下。超过限制同样会返回#VALUE!错误。
夜雨聆风