发布网友 发布时间:2022-04-22 19:40
共5个回答
热心网友 时间:2022-06-13 09:43
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结束公式编辑,会自动生成一对{},下拉。
热心网友 时间:2022-06-13 09:43
可用mid公式实现。min 第一个是输入查找范围,第二个输入从几位开始查找,第三个输入取其中几位。就OK啦热心网友 时间:2022-06-13 09:43
=LEFT(A1,1)&right(A1,3)就可以热心网友 时间:2022-06-13 09:44
试着做了一个数组公式,但是不具有通用性,必须确保数据为单个的大写字母,后面紧跟着数字,数字多些倒可以,不知道你其它的数据是否和这个类似,假设要提取的数据在A1:A100,在B1中输入热心网友 时间:2022-06-13 09:45
=MID(A1,FIND("A",A1),4)