WPS中regexp+vlookup公式的使用技巧

wps表格中数据需要做一个对称,想要实现将数据中的简称和全称对应起来,该怎么操作呢?下面我们就来看看详细教程。

粉丝求助SOS:如何根据简称,在数据源中将全称查找出来?

我们用一个例子,来做说明。如下图所示:A列是某些国家的全称,也就是数据源。C列是已知的国家名称的简称,我们想要通过C列的简称,将A列中对应的全称查找出来,显示在D列。

我们用REGEXP正则表达式函数+VLOOKUP经典查找函数,组合使用,轻松拿捏这个问题。

首先输入REGEXP正则表达式函数:

=REGEXP(C2,"()")

  • "()":是正则表达式部分。其中 () 表示一个空捕获组,即括号内无匹配规则。省略第三参数(匹配模式),默认 0(提取模式)。

正则表达式 "()" 的核心作用:

() 在正则中用于分组捕获,但内部为空时,实际匹配的是字符串中的空位置。例如:字符之间的间隙。

以C2单元格为例:捕获到的位置就是以下4个位置,即字符与字符之间的间隙处。

继续完善公式:

=REGEXP(C2,"()",2,"*\1")

我们由REGEXP函数默认的“提取”模式,更改为“替换”模式,即设置第3参数为“2”(替换模式)。

替换为:"*\1"。

  • \1:表示捕获到的分组1(也就是代表字符之间的所有间隙位置),即第2参数 () 捕获到的内容。
  • *\1:在\1前面加上一个*,表示在分组1前面加上一个*,即在字符之间的所有间隙之前批量加上一个*。

所以替换前与替换后的效果如下图所示:

替换前:字符之间的间隙

替换后:在间隙处加上了*

而我们都知道“*”在Excel中表示“通配符”的意思,即代表任意的多个字符,

所以在“俄罗斯”的每个字符的前面或后面都可以拥有任意字符的可能性,当然也包括了“俄罗斯联邦”的这种可能。

综上所述,最后嵌套VLOOKUP查询即可:

=VLOOKUP(REGEXP(C2,"()",2,"*\1"),A:A,1,0)

查询REGEXP函数的返回结果,在A:A区域中,第1列位置所对应的数据(全称)。

以上就是WPS中regexp+vlookup公式的使用技巧方法,感兴趣的小伙伴快去试试吧。

声明:本文来自互联网或用户投稿,该文观点仅代表作者本人,不代表本站立场。文章及其配图仅供学习和交流之用,版权归原作者所有,如有内容侵权或者其他违规问题,请联系本站处理。