如何在vlookup中组合正则表达式函数?

问题描述 投票:1回答:3

我有一个VBA正则表达式,我想与VLOOKUP结合使用,但是如果与VLOOKUP一起使用,它不会基于正则表达式返回值。

这是执行函数时返回的内容=udfRegEx(A2,B2)

String

Microsoft Windows Server 2003,标准版(64位)

正则表达式

^([^,] *)

结果

Microsoft Windows Server 2003

但是,当我执行=IFERROR(VLOOKUP(udfRegEx(A2,RegularExpression!B2),[Sample.xls]Sheet1!$B$2:$E$4177,4,FALSE),0)时,它仍然返回Microsoft Windows Server 2003 Standard Edition(64位)

B2列是正则表达式^([^,]*)

regex excel excel-2007
3个回答
0
投票

尝试使用:

=IFERROR(udfRegEx(VLOOKUP(udfRegEx(A2,RegularExpression!B2),[Sample.xls]Sheet1!$B$2:$E$4177,4,FALSE),RegularExpression!B2),0)

在黑暗中射击。


0
投票

从Office 365开始,有一个新功能XLookUp,它(最终)完成了您所寻找的滚刀。此处说明:https://www.excelcampus.com/functions/xlookup-explained/


-1
投票

我必须出于个人用途进行此操作,所以我制作了一个Excel插件,这是GitHub地址。

https://github.com/BlueTrin/BlueXL

如果需要,我可以托管一个编译版本。它添加了一个称为BXLookup的函数,该函数支持Regex,您也可以选择要在其上执行查找的列并选择要打印的列。

我为您制作了二进制文件:

https://bintray.com/bluetrin/BlueXL/BlueXL/0.1.0/view?sort=&order=#

当然,如果您只想使用VBA,这是行不通的,但是如果您不介意使用插件,则GitHub上的电子表格中有一个示例。

请您澄清一下您所拥有的内容:[Sample.xls]Sheet1!$B$2:$E$4177

© www.soinside.com 2019 - 2024. All rights reserved.