EXCEL提取最后一个规格,你会吗?
面对不规则的产品规格,现需要提取最后一个规格,即最后一个“-”后面的数据,有什么方法能解决呢?
1、数组公式:
输入公式:
=MID(B2,MAX((MID(B2,ROW($1:$99),1)="-")*ROW($1:$99))+1,99)
数组公式,按三键结束。
MID(文本字符串,开始提取位置,要提取的字符个数)
用函数ROW($1:$99)构造一个1至99的序列;
MID(B2,ROW($1:$99),1)部分表示从字符串的第1,2,3…99位置开始提取,每次提取的字符个数为1;
MID(B2,ROW($1:$99),1)="-"部分表示如果提取的字符等于“-”,返回逻辑值TRUE,否则返回FALSE;
再*ROW($1:$99)返回的就是对应每个“-”在字符串中的位置;
用函数MAX取最大值,返回的就是字符串中最后一个“-”所在位置;
最后再用函数MID提取
公式其实就是=MID(B2,12+1,99)
第一参数:文本字符串B2单元格
第二参数:最后一个“-”所在位置12,提取的是”-“后面的数据,所以要加1
第三参数:要提取的字符个数,这里用的是99
2、常规公式
输入公式:
=TRIM(RIGHT(SUBSTITUTE(B2,"-",REPT(" ",99)),99))
函数REPT:根据指定次数重复文本。
REPT(" ",99)是将空格重复99遍;
用函数SUBSTITUTE将“-“替换成99个空格;
再用函数RIGHT向右提取99个字符数;
提取后的字符中有空格,用函数TRIM删除字符串中多余的空格。
3、快速填充
提取最后一个“-“后面的数据,使用快速填充功能也是可以的,但需要注意的是提取的结果中有0开头的数据,这要怎么办呢?
第一步:设置单元格格式为文本
第二步:输入一个最后一个“-“后面的数据
第三步:按键