嗨咯大家好,我是亮仔

在工作中经常会遇到需要对数字补齐位数的情况,比如图中所示,需要把员工的工号变成统一的8位数,不足的用0补足


在Excel中我们怎么实现呢,今天亮仔将分享2个方法

方法一:组合函数判断补位

【函数介绍】

这个方法会用到3个函数(IF,LEN,REPT)简单了解下函数的参数就行

IF(logical_test,value_if_true,value_if_false),简单翻译就是IF(测试条件,结果1,结果2):如果满足“测试条件”则显示“结果1”,如果不满足“测试条件”则显示“结果2”。

LEN(text):得到字符串的长度

REPTREPT(text,number_times),text:表示需要重复显示的文本,number_times:表示指定文本重复显示的次数

【函数思路】

我们已经了解了上面3个函数的基本含义,那我们就有一定的解题思路了

1、我们用LEN函数求出工号的字符长度【 LEN(A2)

2、用IF判断工号字符长度是否小于8(8位工号) LEN(A2) <8】

3、如果工号(A2)字符长度小于8就使用REPT函数重复0,用8-工号的字符长度来决定重复次数并用"&"连接原工号 【REPT(0 , 8-LEN(A2) ) &A2】

4、如果工号(A2)字符长度大于或等于8就返回原工号【A2】

【最终公式】

根据我们上面的思路,我们将每个步骤拼接起来就是一个完整的函数

=IF(LEN(A2)<8 , REPT(0 , 8-LEN(A2) ) &A2 , A2)

【效果】


方法二:单元格格式补位

这个方法最主要的就是需要了解自定义单元格格式代码,今天只分享补位需要的单元格格式代码【00000000】,我们先直接上效果,看完之后再解释原理


我们可以看到在单元格自定义格式里直接输入【00000000】,然后看起来就实现了我们想要的结果,原理是什么呢

这里的 0的意思是 数字占位符,当数字比代码符少时,用0补足,多时显示实际数字

当我们鼠标移到工号时,我们会发现单元格编辑栏中实际还是原来的数字


其实我们改变的只是这个单元格值的显示方式,相当于是给数字化了个妆,让你看起来像其他的,实际上还是自己

如果我们要变成将单元格的值实际发生变化怎么办呢,其实我们只要使用text函数就可以了

【函数介绍】

TEXT ( value , format_text )

Value 为数值、计算结果为数字值的公式,或对包含数字值的单元格的引用。

Format_text 为“单元格格式”对话框中“数字”选项卡上“分类”框中的文本形式的数字格式。

【函数思路】

1、写出单元格格式代码【00000000】

2、使用text函数进行转换【TEXT(A2,"00000000"】

【效果】


现在我们看数字已经是8位数,不再是原来的数字


今天分享了2种数字补齐的办法,如果有小伙伴们有疑问可以私信我

如果对你有帮助,欢迎点赞、收藏、转发