作者:绿色风
分类:
时间:2022-08-18
浏览:246
楼主 天南地北 |
Q:如何将不定长度的账号按照四个数一组用空格隔开,如"1234567890"变成"12 3456 7890",如下图所示A列为5-30位不定长账号,在B列中显示最终效果
A:【函数法】 在B2中输入如下公式下拉即可
- =TRIM(TEXT(0&MID(A2,16,15),TEXT(A2,RIGHT(REPT(" 0000",9),LEN(A2)*5/4-1%))))
此题核心在先利用REPT来生成一个符合要求长度的字符串作为TEXT的参数,利用两次TEXT的组合来实现最终效果 【自定义函数法】 在模块中输入如下自定义函数,然后在工作表的C2中输入,第二个参数可以设置为其他,比如"-"
- =fg(A2," ")
- Function fg(rng As Range, fgf As String)
- Application.Volatile
- Dim i As Integer
- For i = (Len(rng.Text) + 3) \ 4 To 1 Step -1
- N = N + 1
- fg = Left(Right(Space(4) & rng.Text, N * 4), 4) & fgf & fg
- Next i
- fg = Trim(Left(fg, Len(fg) - 1))
- End Function
如何将账号从尾部按四个数一组用空格隔开?【天南地北】.rar |
2楼 jackenjun |
这个不错,我回头试试。 |
3楼 天南地北 |
如果是从前往后推使用空格分隔的话公式做简单修改即可,RIGHT替换为LEFT,然后空格位置换下
- =TRIM(TEXT(0&MID(A2,16,15),TEXT(A2,LEFT(REPT("0000 ",9),LEN(A2)*5/4-1%))))
|
4楼 畅心 |
分列+剪切板凑一个! 214622obvlubrllnjslfni.gif |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一