假设数据在A列,从A1开始,你可以试试下面的公式:
=MID(A1,MIN(IF(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<256,ROW(INDIRECT("1:"&LEN(A1))),"")),MAX(IF(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<256,ROW(INDIRECT("1:"&LEN(A1))),""))-MIN(IF(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<256,ROW(INDIRECT("1:"&LEN(A1))),""))+1)
在B1输入,数据公式按 CTRL+SHIFT+ENTER结束。
先要保障数字和文字必须是前后关系,不能是夹层。
如最后一条记录必须先用替换命令一次去掉。ctrl+H查找“厚”,替换为空值。
然后就可以用公式了。
数据在A列,公式如下:
=IF(ISERROR(VALUE(LEFT(A1, 1))),RIGHT(A1,LEN(A1)-(LENB(A1)-LEN(A1))),LEFT(A1,LEN(A1)-(LENB(A1)-LEN(A1))))
如果数字和符号的位置完全没有规律,像最后一个夹在中间,那公式难实现,VBA方便些。如果都是有规律的,要么在左边,要么在右边,那公式比较容易实现你的要求。
贴到word,查找替换就完了
用自定义函数:
Function delchina(cell As Range)
Dim text As String Dim txt As String Dim i As Integer text = cell.Value
For i = 1 To Len(cell)
If Asc(Mid(text, i, 1)) > 0 Then txt = txt & Mid(text, i, 1)
Next i
delchina = txt
End Function