在excel里面,如何设置数据自动分段

在excel里面,如何设置数据自动分段。比如我在身份证那列输入数据522121145845147852.就会自动分成522-121-1458-4514-7852。就是我输完或者在输的过程中就自动的用小短号给我分开,很急需要用的方法。请各位高手指教,谢谢!
如果把身份证号码设置为数字格式为什么输入身份证号都变成652121193310223000。都是3000结尾。那虽然可以用自定义单元格格式的
但是结尾不对啊652-121-1933-1022-3000。如果单元格格式设置为文本就不能使用自定义这个功能。矛盾的啊、

1.excel让数字分段显示的方法很简单,首先打开一个工资表做演示。

2.右键单击想要分段的单元格然后选择设置单元格格式。

3.在excel设置单元格格式中选择自定义,然后在右侧类型中输入“000-0000-0000”类型的格式。(0代表数字,中间可以设置其它符号或空格)

4.确定之后就可以看到excel单元格中的数字已经分段了。

5.不仅可以使用符号分段,还可以使用字母。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-11

选择要设置的列,右键-设置单元格格式,选择“自定义”,在“类型”方框里输入:###,###,####,####,####  ,这个#随你的数字长度来设置, 逗号也可以用-来代替。 

---------------------------

要用宏, 运行宏,按ESC停止

Sub li()

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

For Each c In Selection

t = t + 1 '递增

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

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

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

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

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

Loop

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

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

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

End If

Next i

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

Next

tt = MsgBox("是否恢复初始值", vbOKCancel, "警告!") '选择是否恢复初始值

If tt = 1 Then

t = 0

For Each c In Selection

c.Value = "'" & huifu(t)

t = t + 1

Next

End If

End Sub

第2个回答  2010-10-08
选择该列,点设置单元格格式,自定义里面填
###"-"###"-"####"-"####"-"####
第3个回答  2010-10-09
hi 我吧本回答被提问者采纳
相似回答