EXCEL单元格中如何在将一串数字或者字母分隔?

例如1234123412341234分隔成1234-1234-1234-1234
例如njbjtepaccsabvrgwyez分隔成njbjt-epacc-sabvr-gwyez
首先说明我打算要把整批数字或者字母快速处理成例如njbjt-epacc-sabvr-gwyez
每5个数字或字母必须带有“-”。
有那位高手知道如何实现呢?

这里给你介绍一种新的办法:

做了一个宏来完成:(增加辅助列或使用分列功能再用函数合并也是办法) 

1、在A1中输入:“ '+数字或者字母 ”,转换为文本格式 

例如输入:'123412341234

                  'njbjtepaccsabvrgwyez

2、选中需要变更格式的区域A1,然后点击“工具”工具栏下的“宏”项下的“Visual Basic(编辑器)或者按(ALT+F11快捷方式)”,在弹出的对话编辑区域在英文状态下输入一下代码:

Sub li()

Dim s(100) '定义数组s,处理100*3位,即300位

For Each c In Selection

Cells(c.Row, c.Column + 1).Value = "'" & c.Value

temp = c.Value '临时变量存储当前单元格的值

Do Until Len(temp) <= 5 '循环,直到temp的长度小于等于5

i = i + 1 '数组变量递增

s(i) = Right(temp, 5) '从temp的右边取数,每五个存为数组

temp = Left(temp, Len(temp) - 5) '更改临时变量为当前值去掉后面五位

Loop

For i = 100 To 1 Step -1 '在数组中循环

If s(i) <> "" Then '如果数组的值不为空

temp = temp & "-" & s(i) '临时变量等于自身+-+当前数组的值

End If

Next i

c.Value = "'" & temp '转换成文本形式,赋予该单元格新的值

Next

End Sub

输入完后:再次点击工具栏中“工具”下的“宏”,在弹出的“宏”对话框选择输入“执行”即可。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-13
应该在设置单元格格式显有,找一下。
第2个回答  2011-01-13
若是纯数字且少于11位,可以设置单元格式,自定义为#####-#####。
从你的例子看,设置单元格式不能实现。可以先分列再合并。以njbjtepaccsabvrgwyez为例,假设它在A1单元格。执行:数据----分列----固定宽度---下一步-----在数据预览区每五个点一下鼠标插入分列线-----下一步---完成。这样就把数据分成了A1、B1、C1、D1四列且每列5个。在E1输入公式“=a1&"-"&b1&"-"&c1&"-"&d1”,完成。此法可整批使用。
第3个回答  2011-01-13
2004wyw的回答受教了
第4个回答  2011-01-13
=TEXT(LEFT(A1,9),"0,000.00") & RIGHT(A1,2)
相似回答