从杂乱的文本内容中,提取我们需要的数字或者是文本,对于处理数据的同学来讲应该是经常会碰到的一个问题。今天我们就来学习一下,如何通过函数公式,快速提取我们需要的数字和文本内容。
案例说明:
如下图所示,在人员信息登记内容中,有手机号码、消费金额等不同的数字。现在我们需要单独将里面里面的数字从不规范文本中提取出来。
数字提取:
如下图操作,我们输入对应的函数后,不管我们需要的数字在任何位置,不管十字长度是否一致,都可以快速的将其从不规范数据中提取出来。这里我们会使用到lookup、Midb、searchb、row四个函数来进行操作。
函数公式:
=-LOOKUP(1,-MIDB(C3,SEARCHB('?',C3),ROW($1:$100)))
函数解析:
1、SEARCHB('?',C2)代表的是搜索第一个数字所在的位置;
2、ROW($1:$100)代表的是固定生成文本个数,提取对应的行号。这里1-100代表的是生成100个数字;
3、MIDB代表的是从生成的第1个数字开始,向右提取100个值,我们选择函数按F9可以解析如下图所示:
4、LOOKUP(1,..)代表的就是提取返回最后一个为数字的值。
案例说明:如下图,我们需要从内容的不同位置提取我们需要的关键词文本数据。从对应的位置提取客服的ID:茉莉、百合等文本。
文字提取:
这里我们需要用到mid、sum、iferror、find四个函数来进行提取操作。
函数公式:
=MId(B2,SUM(IFERROR(FIND(客服ID!$A$1:$A$5,B2),0)),2)
函数解析:
1、FIND(客服ID!$A$1:$A$5,B2) ,find函数在这里主要为查询到我们客服ID表中,对应的ID在我们这句话中所在的开始位置;我们选择Find函数按F9可以得到下面的结果。也就是查询ID所在的具体其实位置。
2、IFERROR(,0)函数在这里是将Find函数查询不到出现的错误值,用0来代替。也就最后形成了{0,0,0,0,3}等数字值;
3、sum函数在这里的作用是,将Iferror函数返回的文本数字最终更改为数字格式,这样就最终确定了对应ID所在的具体位置;