正则函数法
观察数据还是比较规则的,提取数据的方法比较多。不过如果张三的数据信息不确定。例如下面张三的信息位于,第二个位置。就比较困难。不过可以使用正则表达式进行数据提取。使用正则表达式提取张三的信息,不用管张三的位置,只需要分析张三的信息就足够了。通过分析可以知道,“张三: ”为固定数据,后面跟着的数字为不确定数据,分析出这些特点后,就可以编写正则表达式为:张三:[0-9]+
编写好正则表达式后,就可以使用ETRegexMatch函数提取数据了。该函数第一个参数为长文本数据,第二个参数为正则表达式。最终完整公式为:=ETRegexMatch(B4,$B$2)。
以上使用到的是EFunction插件。如果不使用插件,可以自己使用利用VBA自己开发一个自定义函数,来提取数据。
普通函数法
上面使用的是正则自定义函数实现提取数据,逻辑比较好理解。如果不使用插件,只使用Excel默认的函数如何实现数据提取。
先对数据进行分析,提取数据,需要提取出来“张三的开始位置”,张三数字后面的数字结束位置,有这两个信息,就可以轻松提取出来数据了。
完整公式为:=IFERROR(LEFT(RIGHT(B7,LEN(B7)-FIND(“张三”,B7,1)+1),FIND(” “,RIGHT(B7,LEN(B7)-FIND(“张三”,B7,1)+1))),RIGHT(B7,LEN(B7)-FIND(“张三”,B7,1)+1))