批量提取字符,除了用Ctrl+E外,还有这2个方法可选

批量提取字符,除了用Ctrl+E外,还有这2个方法可选
文章图片
在字符串职工提取需要的字符或部分字符串 , 也是Excel数据和处理的一部分 , 大家用到最多的应该是快速填充快捷键Ctrl+E , 但同时 , 使用Ctrl+E提取数据也很容易出错 , 例如:
批量提取字符,除了用Ctrl+E外,还有这2个方法可选
文章图片
从示例中可以看出 , 目的是提取门店的编号 , 但无论在目标单元格中输入1个值 , 还是2个值 , 都得不到正确的结果 , 但快速填充快捷键Ctrl+E的用法是完全正确 , 没有错误的……究其原因 , 就是Excel系统无法理解此时的逻辑关系 。
要解决此问题 , 是提取字先得更加的专业和灵活 , 就离不开Find+Mid函数的组合 。
一、Mid函数 。
功能:从文本字符串中指定的起始位置提取指定长度的字符 。
语法结构:=Mid(字符串,开始位置,字符长度) 。
目的:提取员工姓名的“姓” 。
批量提取字符,除了用Ctrl+E外,还有这2个方法可选
文章图片
方法:
在目标单元格中输入公式:=MID(B3,1,1)
解读:
公式中的第二个参数“1”为从第1位开始 , 第三个参数“1”为需要提取的文本长度为1 。
二、Find函数 。
功能:返回一个字符串在另一个字符串中的起始位置(区分大小写) 。
语法结构:=Find(查找字符串,源字符串,[查找索引]);当省略第三个参数“查找索引”时 , 默认从第1个开始 。
目的:返回“-”在“所属门店”中的起始位置 。
批量提取字符,除了用Ctrl+E外,还有这2个方法可选
文章图片
方法:
在目标单元格中输入公式:=FIND("-",H3) 。
三、Find+Mid组合 。
目的:提取“所属门店”字符串中的编号 。
思路:如果输入前2个目标单元格的值 , 之后用Ctrl+E提取 , 得不到符号“-”后的数字;所以 , 首先要判断符号“-”后有无数字 , 最简单的方法就是提取符号“-”后的值 , 然后+1 , 如果返回错误值 , 则符号“-”后为文本 , 否则符号“-”后有数字 , 需要提取 。 此处 , 需要多重判断 , 所以需要借助If和Iferror函数 。
批量提取字符,除了用Ctrl+E外,还有这2个方法可选
文章图片
方法:
在目标单元格中输入公式:=IFERROR(IF(SUM(MID(H3,FIND("-",H3)+1,1),1),MID(H3,1,FIND("-",H3)+1),#VALUE!),MID(H3,1,FIND("-",H3)-1)) 。
解读:
批量提取字符,除了用Ctrl+E外,还有这2个方法可选】如果符号“-”后面有数字 , 则返回从第1个位置开始到“-”后面的值 , 否则返回错误值#VALUE! , 并作为Iferror函数的参数 , 当Iferror的第一个值有误时 , 则返回指定的值 , 即返回MID(H3,1,FIND("-",H3)-1) , 也就是符号“-”之前的字符 。