XLOOKUP再添新功能,正则表达式匹配
Excel升级到最高版本,XLOOKUP的第五参数有个“正则表达式匹配”。
正则表达式是计算语言中用来描述一个字符串的特定方式,XLOOKUP启用该模式时将会匹配满足正则表达式所描述的数据。
最简单的应用就是可以取代通配符匹配,因为通配符匹配实质上也是结合通配符来描述一个字符串。
比如只记得姓名叫李什么张,中间这个字不知道,就可以用通配符来匹配,记得把第五参数设置为“2-通配符匹配”:
=XLOOKUP("李*张",A:A,A:B,,2)
"李*张"就描述了一个以李字开头张字结尾的字符串。
第五参数设置为“3-正则表达式匹配”,得益于正则表达式的灵活性,可以设计多种描述方式,以下公式都能查找到李德张的数据。
=XLOOKUP("李.张",A:A,A:B,,3)
=XLOOKUP("李\w张",A:A,A:B,,3)
=XLOOKUP("^李|张#34;,A:A,A:B,,3)
=XLOOKUP("(?>李).(?=张)",A:A,A:B,,3)
=XLOOKUP("李*张",A:A,A:B,,3)
如果只记得姓名中有个李字和张字,顺序也不确定,用通配符就很难解决,而简单的正则表达式就能描述“包含李字和张字的文本,无论顺序如何”。
=XLOOKUP("[张李]",A:A,A:B,,3)
还记有个四字姓名,但里面一个字都想不起来了,用正则表达式来查找4个字符的文本。
=XLOOKUP("\w{4}",A:A,A:B,,3)
除了名字,好像还有一笔上千元的数据,于是用正则表达式查找4位数的数字。
=XLOOKUP("\d{4}",B:B,A:B,,3)
那么问题来了,正则表达式中这些形形色色的符号又是什么意思呢?
这就是需要深入学习的正则表达式规则了,比如\d表示数字,\d{4}表示4位的数字。正则表达式从专业的计算机编程工具下放到公式后,网络上也涌现出很多正则元字符规则的资料,大家学习起来吧。