图片
欢迎转发和点一下“在看”,文末留言互动!
置顶公众号或设为星标及时接收更新不迷路
图片
小伙伴们好,今天来和大家分享一道文本查找、提取的题目。题目比较简单,但今天会向大家介绍一个平时不太常用的函数。
原题目是这样子的:
图片
题目要求将B-D列中红色部分提取出来放到E列中。观察一下源数据,除了第13-15行外,所有的目标文本都在最后。这就给我们创造了使用LOOKUP函数的机会。
01图片
在单元格E1中输入下列公式,并向下拖曳即可。
=SUBSTITUTE(LOOKUP(1,0/((A1:D1<>"")*(A1:D1<>0)),A1:D1),"折扣额","物料长代码")
(A1:D1<>"")*(A1:D1<>0)
这部分,是这道题目中的两个暗含条件,不为空和不为零。
LOOKUP(1,0/((A1:D1<>"")*(A1:D1<>0)),A1:D1)而LOOKUP(1,0/(),目标区域或数组)则是LOOKUP函数的一个经典应用。详细信息可以参看帖子总结篇-LOOKUP函数实用终极帖。
SUBSTITUTE(LOOKUP(1,0/((A1:D1<>"")*(A1:D1<>0)),A1:D1),"折扣额","物料长代码")
最后多出来一个“折扣额”不符合题目要求,利用SUBSTITUTE函数替换即可。
02这第二种方法,就需要PHONETIC这个函数了。它在平时并不常用,使用时多用于合并文本数据。在没有TEXTJOIN函数或者CONCAT函数时,它也在一些特定场合下起到了关键的作用。
图片
在单元格E1中输入下列公式,并向下拖曳即可。
=IFERROR(MID(PHONETIC(A1:D1),FIND(".",PHONETIC(A1:D1))-2,100),"物料长代码")
PHONETIC(A1:D1)
这部分,把文本数据合并。注意,PHONETIC只能合并文本数据。
FIND(".",PHONETIC(A1:D1))-2
这部分,找到目标文本的起始位置。
MID(PHONETIC(A1:D1),FIND(".",PHONETIC(A1:D1))-2,100)
MID函数部分,从起始位置开始,提取之后所有的字符串。
IFERROR(MID(PHONETIC(A1:D1),FIND(".",PHONETIC(A1:D1))-2,100),"物料长代码")
当FIND函数找不到“.”而返回错误值时,就利用IFERROR函数将错误值替换为“物料长代码”。
-END-
推荐阅读别怕,SUBTOTAL函数并不难。学会就是握在了优势密码。
用此技巧填充合并单元格,能帮你少走好多弯路,真心建议收藏!
特别的EXCEL数据合并,一顿操作猛如虎,不如代码3分钟!
真后悔没有早点学FILTERXML函数,复杂的问题“海鲜”一下,立刻就变得简单了!
以前学的提取数值的方法,都不如今天的这个好用!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。