EXCEL中要从单元格中提取内容,可使用MID函数,该函数具有三个参数:第一参数为要从取字符的字符串,第二参数是开始位置,第三参数是取字符长度,第一参数已知,现在需要知道第二、三参数;
从下图可以看到,EXCEL中0~9、A~Z、a~z等字符在标准字符集中的代码在48~122范围内;
利用此代码范围,查找出该范围内第一个代码出现的位置,即得到MID函数中第二参数:=MIN(IF(ISERROR(FIND(CHAR(ROW(48:122)),A1)),200,FIND(CHAR(ROW(48:122)),A1))),数组公式,即同时按Ctrl+Shift+Enter结束公式编辑,会自动生成一对{};
利用汉字是双字节字符、数字和字母为单字节字符的特性,利用LEN、LENB单双字节字符长度函数,可得知第三参数的长度:=2*LEN(A1)-LENB(A1);
所有参数都有了,即可利用MID函数,将非汉字部分提取出来:=MID(A1,MIN(IF(ISERROR(FIND(CHAR(ROW(48:122)),A1)),200,FIND(CHAR(ROW(48:122)),A1))),2*LEN(A1)-LENB(A1)),数组公式,即同时按Ctrl+Shift+Enter结束公式编辑,会自动生成一对{},下拉。
把这一列内容复制到word中,然后ctrl+F,切换到“替换”选项,在查找内容中填入“[!0-9,A-Z]”,在搜索选项里勾选“使用通配符”,然后全部替换即可。如下图:
搞定后再把word里的文字拷贝回excel中即可!
用函数“=mid(参数1,参数2,参数3) 其中,参数1是从哪里提取要的数据,参数2是从第几个字符开始,参数3是提取几个字符 例如“=mid(F1,7,8)”。但是你的数据看起来长度都不一样,不过还是有规律的。可以用排序的方法把一类的归在一起,在按类分别用mid函数提取