如何匹配excel宏中的字符串通配符模式

时间:2009-08-07 03:08:15

标签: excel worksheet-function

我有一个像

这样的测试
LEFT('F13',2)='F1'

我想将其从左侧匹配更改为支持通配符的测试

'F13'='F?3'

Excel不支持正则表达式,除了在VBA代码中,但我更喜欢这是在宏中完成的。我应该指出实际测试不是一个简单的字符串,而是单元格引用(这可能很重要,我不确定):

IF(LEFT($DATA.$A$2:$A$1501,LEN($B$3))=$B$3,...

范围实际上根据调用宏的位置计算单个单元格。 $ B $ 3是用户输入的模式。

1 个答案:

答案 0 :(得分:0)

= SEARCH( “F?3”, “F13”)= 1

在第二个示例中,如果B3包含通配符注入文本

= SEARCH(B3,$ DATA $ A $ 2:$ A $ 1501)= 1

SEARCH返回找到第一个参数的位置。 “= 1”确保字符串以第一个参数开头,而不是中间的某个地方。我不确定你的$ DATA参数是如何工作的,所以我只是逐字复制它。