VLOOKUP函数 是Excel中的一个查找函数,用于在一个指定的范围中查找某个值,并返回同一行中的另一个单元格的值。其基本语法为:
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
lookup_value
:要查找的值。table_array
:查找的区域范围。col_index_num
:返回值的列索引号。[range_lookup]
:可选参数,指定匹配方式,TRUE表示近似匹配,FALSE表示精确匹配。当涉及到匹配重复值时,VLOOKUP默认只会返回第一个找到的匹配项。如果有多个相同的lookup_value
,VLOOKUP不会返回所有匹配项。
问题:使用VLOOKUP匹配重复值时,只能返回第一个匹配项。
原因:VLOOKUP的设计是单向查找,从左到右,并且默认只返回第一个匹配的结果。
return_range
是你希望返回值的范围,lookup_range
是查找的范围。ROW(1:1)
中的数字可以依次获取每个匹配项。假设我们有一个数据表,A列是产品编号,B列是产品名称,我们要找出所有产品编号为"12345"的产品名称。
使用INDEX和MATCH组合:
=INDEX(B:B, MATCH("12345", A:A, 0))
使用数组公式:
{=INDEX(B:B, SMALL(IF(A:A="12345", ROW(A:A)), ROW(1:1)))}
(注意:数组公式需使用Ctrl+Shift+Enter输入)
通过上述方法,可以有效解决VLOOKUP在匹配重复值时的局限性。
领取专属 10元无门槛券
手把手带您无忧上云