我有一个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列是正则表达式^([^,]*)
尝试使用:
=IFERROR(udfRegEx(VLOOKUP(udfRegEx(A2,RegularExpression!B2),[Sample.xls]Sheet1!$B$2:$E$4177,4,FALSE),RegularExpression!B2),0)
在黑暗中射击。
从Office 365开始,有一个新功能XLookUp,它(最终)完成了您所寻找的滚刀。此处说明:https://www.excelcampus.com/functions/xlookup-explained/
我必须出于个人用途进行此操作,所以我制作了一个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