大家好,今天和大家分享“提取数字前面的字母你会几种方法?”,首先大家不要看我的解法,自己想想看,你可以用几种解法解出这个题,要求如下图,字母连续且在左边,数字在右边。我用6种解法分享给大家,记得全是数组公式。
一、解法1:Find找第一个数字出现的位置
1、公式截图
2、公式
=LEFT(A2,MIN(FIND(ROW($1:$10)-1,A2&5/19))-1)
3、公式解释
用find函数找到第1个数字出现的位置,然后减掉1,得到字母的个数,再从左边提取字母
为什么A2后面要连接一个5/19,目的是防止找不到报错
ROW($1:$10)-1指10个阿拉伯数字
min提取的第一个数字出现的位置
二、解法2:Count统计字母的个数
1、公式截图
2、公式
=LEFT(A2,COUNT(0/(MID(A2,ROW($1:$19),1)>='A')))
3、公式解释
MID(A2,ROW($1:$19),1)>='A' 用mid函数分隔每个字符,然后判断是否大于等于A,注意不区分大小写的,得到一个维数组,由True,False构建的
0/true返回0,0/False返回报错
用Count统计0的个数,就是得到字母的个数,最后用Left函数提取字母出来
三、解法3:Match找第一个数字出现的位置
1、公式截图
2、公式
=LEFT(A2,MATCH(,MID(A2,ROW($1:$19),1)*0,)-1)
3、公式解释
用函数mid把每一个字母分隔,然后乘0,也就是所有的分隔出来的数全变成了0
MATCH(,MID(A2,ROW($1:$19),1)*0,)-1用Match函数找到第1个0出现的位置,也就是第一个数字出现的位置,所以也要减掉1
然后用Left函数从左边提取
四、解法4:Match找最后一个字母出现的位置
1、公式截图
2、公式
=LEFT(A2,MATCH(1,0/(MID(A2,ROW($1:$19),1)>'9')))
3、公式解释
0/(MID(A2,ROW($1:$19),1)>'9')用Mid分隔每个字符,然后判断是否大于9,记得9要加双引号,所以的字母都