用途
最适用于excel单列范围内的内容检索
语法
application.match(匹配内容
, 匹配范围
, 匹配模式
)
-
匹配内容
:想要搜索的内容。
可以使用通配符*代表任意长度的任意字符,使用通配符?代表一个任意字符。 -
匹配范围
:单元格对象。
例如,range("A:A") -
匹配模式
: 一般为0,表示精确匹配。
优点
速度快。速度明显优于cells.find。
视数据量而定,一般快5倍以上
注意点
返回值类型为long型数字。或者类型为Error。
当返回数字,返回值的含义是,匹配到的第一个内容在匹配范围内的index。
例如,A列单元格从A1开始,内容分别是[1, 2, 3, 4, 5], 此时使用application.match(3, range("A2:A4"), 0), 返回值是2。当匹配范围内没有匹配的内容时,会返回Error。可以用IsError()来判断返回值是否为Error。
application.match在检索过程中,会跳过内容长度超过255个字符的单元格。
因此,使用通配符匹配时,可能会跳过符合条件的,但长度超过255个字符的单元格。同时,使用通配符匹配时,也可能返回Error,但实际上存在符合匹配条件的长度大于255字符的单元格。