如何在Excel VBA中实现多条件匹配的MATCH公式?
Excel VBA实现多条件匹配行号问题
工作表中的多条件匹配方案
若需通过匹配多列值获取行号(多列组合作为唯一标识),可使用以下数组MATCH公式:
MATCH(1,(A:A=J1)*(B:B=K1)*(C:C=L1),0)
其中A、B、C为待匹配列,用于定位同时满足J1、K1、L1对应值的唯一行号。如需分步操作指南,可参考Christian Pedersen的说明。
VBA实现时的报错问题
上述工作表公式可正常运行,但在Excel VBA中编写对应逻辑时遇到问题。尝试了以下两种代码写法:
Dim var As Variant Sheets("MySheet").Select '使用带双引号的"1234567" 'var = WorksheetFunction.Match(1, (Range("D:D") = "1234567") * (Range("F:F") = "Text Here"), 0) '使用不带引号的1234567 var = WorksheetFunction.Match(1, (Range("D:D") = 1234567) * (Range("F:F") = "Text Here"), 0)
两种写法均触发相同错误:
运行时错误 '13':
类型不匹配
内容的提问来源于stack exchange,提问作者user22290834
相关产品推荐
相关产品推荐

