作者:乔山办公网日期:
返回目录:excel表格制作
空格键吧
选中这一列,点“数据”--分列--选分隔符号--选其他---输入“(”,完成分列后,再做一次按“)”分列,两次做完后,英文一列,中文一列,英文一列。再删除不需要的列。
假如文字在A1单元格
可以在B1单元格输入公式后按SHIFT+CTRL+ENTER结束得到数组公式
=INDEX(MID($A$1,ROW(INDIRECT("1:"&LEN($A$1))),1),SMALL(IF(MID($A$1,ROW(INDIRECT("1:"&LEN($A$1))),1)>"吖",ROW(INDIRECT("1:"&LEN($A$1))),256),COLUMN(A1)))
然后向右填充,直到出现错误值
然后用组合函数=CONCATENATE把汉字组合即可
2007版可以用下面函数查错误值
=IFERROR(INDEX(MID($A$1,ROW(INDIRECT("1:"&LEN($A$1))),1),SMALL(IF(MID($A$1,ROW(INDIRECT("1:"&LEN($A$1))),1)>"吖",ROW(INDIRECT("1:"&LEN($A$1))),256),COLUMN(A1))),"")
2003版查错误用公式
=IF(ISERROR(INDEX(MID($A$1,ROW(INDIRECT("1:"&LEN($A$1))),1),SMALL(IF(MID($A$1,ROW(INDIRECT("1:"&LEN($A$1))),1)>"吖",ROW(INDIRECT("1:"&LEN($A$1))),256),COLUMN(A1)))),"",INDEX(MID($A$1,ROW(INDIRECT("1:"&LEN($A$1))),1),SMALL(IF(MID($A$1,ROW(INDIRECT("1:"&LEN($A$1))),1)>"吖",ROW(INDIRECT("1:"&LEN($A$1))),256),COLUMN(A1))))
回复补充问题:
如果都是四位数,中间两位是汉e799bee5baa6e79fa5e98193e59b9ee7ad94337字,直接在B1输入公式
=MID(A1,2,2)
然后下拉填充即可
要看看你的数据的复杂程度
其实应该用不上前面的数组函数
那个函数是包含所有的错乱交杂的汉字全部提取出来
如
“adsf加基隆中df立刻123dfs是遥”
上面的就可以把这里面的所有汉字提取出来
按"Alt+F11"键,打开"Microsoft Visual Basic"窗口,点击"插入百\模块"然后将下面度的代码粘贴进去问,
Public Function test(n As String) As Long
Dim b As String
Dim c As Long
b = ""
c = 0
For y = 1 To Len(n)
If Asc(Mid(n, y, 1)) >= 48 And Asc(Mid(n, y, 1)) <= 57 Then
b = b & Mid(n, y, 1)
End If
Next
test = b
End Function
关闭"Microsoft Visual Basic"窗口,回到Excel窗口中,在单元格中答输入"=test(a1)",就可以将内A1单元格中的数字提取到容当前单元格了.