1我们将要提取含有文字单元格内容复制到旁边的单元格中
2将其列宽调整到只能显示一个字符
3在“编辑”菜单下选择“填充”下的“内容重排”
4选择旁边的空白单元格进行复制,再选择已经拆分的内容。右击在弹出的菜单里选择“选择性粘贴
5在“选择性粘贴”窗口中选择“加”后确定,其实这一步是将文本数值转换成数字
6再选择拆分的内容,CTRL+G打开“定位”对话框。并点击下方的“定位条件”
7在“定位条件”窗口中选择“常量”并在其下方选择“文本”,最后确定
8这样我们就选择了所有的文本内容的单元格。
9用CTRL+"-"快捷键,记住了是小键盘上的减号。在“删除”对话框中选择“下方单元格上移”
10这个就达到了快速提取含有文字单元格中的数字的目的。
试试看吧,我以前用类似的公式提取中英文的单元格成功,但是英文中的标点也必须是半角的。
假设你的数据在A列,从A1开始,输入公式
=MID(A1,LENB(A1)-LEN(A1)+1,LEN(A1))
注释:lenb--双字节字符按2计数,否则按1计数;
len--不管是单双字节,全部按1计数。
试试看,希望能帮到你。
不好意思,我的是提取数字了
正解在这里。。。。。。。。。。
用公式不能过滤全角的字符。如果文字中间夹杂着符号和数字也不能很好的过滤。。。最好的办法是用自定义函数了。
Public Function xx(text As String)
For i = 1 To Len(text)
If (Asc(Mid(text, i, 1)) <= -608) Or (Asc(Mid(text, i, 1)) > 64 And Asc(Mid(text, i, 1)) < 91) Or (Asc(Mid(text, i, 1)) > 96 And Asc(Mid(text, i, 1)) < 123) Then
xx = xx & Mid(text, i, 1)
End If
Next
End Function
把上面的代码放在模块里面。然后在文件里面写公式
=xx(a1)
自定义函数。。跟普通的函数用法一样。。
你不知道代码放哪里的话就HI我。
这个可以过滤掉除汉字和英文字母之外的所有字符。。包括全角的标点符号。。。
如果你只是想要汉字,把代码中最长的一句话改成
If Asc(Mid(text, i, 1)) <= -608 Then
就可以了
在所有文字和数字中间加一空格,然后点“数据”中的“分列”,然后点击“下一步”,点按空格分类,这样文字就都在一列了。你如果要把它复制到word里的话,点选择性粘贴,选纯文本格式即可。
=MID(A1,1,LENB(A1)-LEN(A1))