我正在寻找一种方法在excel中的vba中执行= MATCH(VALUE(A1),VALUE(B:B),0)。
我有两个匹配的列,可能是整数或字符串类型。我知道如何做到这一点,但它涉及许多if语句。我想知道是否有一种优雅的方式来做到这一点。
答案 0 :(得分:0)
您可以使用WorksheetFunction.Match方法执行此操作...下面的示例(评论说明):
{{1}}
答案 1 :(得分:0)
Evaluate()
有一个限制,仅限最多255个字符,如果你的公式过长则会出错。
我建议使用Application.Match()
,而不是Application.WorksheetFunctions.Match()
。
当没有Macthed值时,两种方法都是相同的,除了响应。
您可以使用IsError(Application.Match())
检查值是否匹配,而无需错误处理程序。 如果无法匹配则返回True。
使用Application.WorksheetFunctions.Match()
将需要错误处理程序。