乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel乘号-EXCEL:添加前导0,难倒一大堆函数高手

excel乘号-EXCEL:添加前导0,难倒一大堆函数高手

作者:乔山办公网日期:

返回目录:excel表格制作

今天和大家分享“添加前导0,难倒一大堆函数高手”,题目的意思是这样的,每个单元格里的乘号*之间,不够4位的添加0补位,补到4位,如下图,根据A列数据,得到B列效果,大家先不要看我的解法,自己想几分种,看自己能否有更好的解法。在留言处留言,我们大家一起学习。如果你觉得自己函数还可以,认为自己是函数高手更应该先想想,自己有什么好的解法,解不出来再看我的解法。函数初级,中级的朋友,完全看懂可能有点难度,不过可以看看我的解题思路,多少可以学到一点,你加权的知识点,text函数补前导0,!和强制显示,把这些知识点慢慢学会,组合起来就是强大的公式了。



一、动画操作效果



二、公式截图



三、公式


=IF(A1="","",TEXT(LEFT(A1,FIND("*",A1)-1),"0000")&TEXT(SUM(TRIM(MID(SUBSTITUTE(MID(A1,FIND("*",A1)+1,99),"*",REPT(" ",99)),ROW($1:$3)*99-98,99))*10^({8;4;0})),REPT("*0000",3)))


四、公式解释


  • 首先我解释,为什么要用二个text,因为excel超过了15位,15位以后就变成0,所以要分二段处理


  • find找第一个乘号的位置,然后减1,从左提取,用text函数来添加前导0


  • FIND("*",A1)+1找到第1个乘号的位置,然后用mid提取,把第1个乘号后面的提取出来


  • SUBSTITUTE(MID(A1,FIND("*",A1)+1,99),"*",REPT(" ",99))把乘号替换成99个空格,目的是拉大两数字之间的距离


  • MID(SUBSTITUTE(MID(A1,FIND("*",A1)+1,99),"*",REPT(" ",99)),ROW($1:$3)*99-98,99),从3个位置开始提取,{1;100;199},从第1个位置,从第100个位置,从第199个位置,这样就把数据按乘号分隔,分别提取出来,由于得到数据前后有空格,用trim把前后空格去掉。


  • 不足四位的补前导0,是用加权的方法来补,目的是为了后面又要把乘号补起来。


  • 10^({8;4;0}把得到3个数据分别与10^8; 10^4,10^0相乘再相加得到一个求和结果,再用text函数来加中间的乘号


  • REPT("*0000",3)返回的是"*0000*0000*0000",为什么乘号前面还要加一个,这个是强制显示*,也可以用这个!来强制显示乘号*,REPT("!*0000",3)返回的是"!*0000!*0000!*0000"


  • 最后用if来屏蔽没有数据不显示。


相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网