MATCH函数是Excel中使用较为广泛的一个函数。MATCH函数的官方解释:使用 MATCH 函数在“范围”单元格中搜索特定的项,然后返回该项在此区域中的相对位置。 通俗地说,MATCH函数返回指定值在数组中的位置,如果在数组中没有找到该值则返回#N/A。例如,如果 A1:A3 区域中包含值 5、25 和 38,那么公式 =MATCH(25,A1:A3,0) 返回数字 2,因为 25 是该区域中的第二项。 MATCH函数返回指定值在数组中的位置,通常和其他函数结合使用,如INDEX函数和VLOOKUP函数。 MATCH函数的语法为: MATCH(lookup_value,lookup_array,[match_type]) lookup_value可以是文本、数值或逻辑值 lookup_array是数组或数组引用(在单行或列中的连续单元格) match_type可以是-1, 0或1,如果忽略,则为1。 注意:MATCH函数返回查找项的位置,而不是值。如果需要获得值,需与其他函数一起使用,如INDEX。 例1 在未排序的列表中查找数据 对于未排序的列表,可以使用0作为match_type参数,以查找完全匹配的值。如果查找文本并使用0作为参数,那么可以在查找值中包括通配符。 本例中,可以输入人名或带有通配符的部分名字,查找列表中该人名的位置。 也可以输入数组作为lookup_array参数来代替数组引用。上面的公式也可以采用如下的方法: =MATCH(C2,{'Jerry','Thoms','John','Trump','White'},0) 如果C2中的名字不在列表范围内,例如是Doris,那么结果将是#N/A。 例2 根据成绩获取等级 本例与CHOOSE函数一起来获取成绩成绩。match_type是-1,因为成绩以降序排列。 当参数match_type是-1时,结果为大于或等于查找值的最小值。 = CHOOSE(MATCH(D2,A2:A6,-1),B2,B3,B4,B5,B6) 本例中,查找值是56,不在成绩列表中,因此返回60所在的位置。因为60在成绩列表中的位置是4,所以在CHOOSE函数选项中的第4个值是结果,即单元格C6,其值为D。 例3 与VLOOKUP的组合使用 使VLOOKUP公式更灵活,可以使用MATCH函数来查找列号,而不是在公式中手工输入需显示的列号。本例中,用户可以在单元格G1中选择人名作为VLOOKUP函数的查找值。然后,可以在单元格G2中选择月份,MATCH函数返回该月份所在的列。 = VLOOKUP(G1,A2:D6,MATCH(G2,A1:D1,0),FALSE) 例4 与INDEX函数的组合使用 MATCH函数也可以和INDEX函数一起使用。本例中,MATCH函数用于查找最接近正确数值的猜测。 ABS函数返回每项猜测和正确数值的绝对差。 MIN函数查找最小的差值。 MATCH函数在差值列表中查找最小的差值。如果有多个相同的值,那么返回第一个值。 INDEX函数返回名字列表中该位置的名字。 {=INDEX(A10:A14,MATCH(MIN(ABS(B10:B14-F9)),ABS(B10:B14-F9),0))}
|
|