大家都知道VLOOKUP常规方式只能从左往右查找,如果结果在查询条件的左边,就要通过IF {1,0}来构建数组,很多人都不能理解这种用法。 今天我给大家介绍一个组合函数,学会了可以轻松查找任何方向查找的问题。那就是INDEX MATCH组合。 首先我们来看看INDEX函数怎么用,INDEX函数的常规使用方法如下: =INDEX ( 区域, 区域的第几行, 区域的第几列 ) 例:根据销售ID,查询此ID对应的销售人员和销售产品(我们假设销售ID是唯一的) 我们在单元格B11输入公式:=INDEX($A$2:$F$6,2,2) 公式解析:1、区域:是指整个数据源的所有范围(可以含标题),此处为:$A$2:$F$6 2、区域的第几行:10248ID在区域的第2行,A2-A3,记住,此处是区域的第2行,而不是实际的行号3; 3、区域的第几列:销售人在区域的第2列,即A-B;当区域只有1列的时候,这个参数可以省略。 这样,如果我们要查询ID对应的产品名称,将第三个参数2改成3即可,即: =INDEX($A$2:$F$6,2,3)
但是,区域的第几行和第几列,显然我们提前是不知道的!!!这下,就该我们的MATCH函数出场了,语法规则如下: =MATCH(查找条件,查找区域,查找精度) 例,查找ID10260在区域的第几行 第几行公式:=MATCH(A11,A2:A6,) 公式解析:查找条件:这个和VLOOKUP一样,是指你要查找的某个值所在的单元格; 查找区域:这个区域正常情况下,是指某列或者某行,此处是一列;注意的是,这个一列,一定要和INDEX的区域的条件列保持一致;如上个INDEX函数中,区域为$A$2:$F$6,那么我们在取列的时候,就选择列标:$A$2:$A$6;同理,如果查询行的时候,我们也要选择同范围内的第一行:$A$2:$F$2; 查找精度:这个同VLOOKUP的第四参数,也表示精确查找和模糊区域的意思,我们输入0或者FALSE或者直接逗号结束,都表示精确匹配。
这样,如果我们要查找标题所在的列,就用如下的公式: 第几列公式:=MATCH(A14,$A$2:$F$2,) 这下,有了MATCH的帮忙,我们再回过头来写第一个公式: =INDEX($A$2:$F$6,MATCH($A15,$A$2:$A$6,),MATCH(B$14,$A$2:$F$2,)) 大家仔细体会一下,虽然公式看起来有点长,但是很容易理解哟。 以上是基本用法,下面我们用这个来改写反向查找和多条件查找。 反向查询例:根据销售ID,查询此ID对应的销售人员 INDEX MATCH组合的多条件查找,来源于MATCH可以处理多条件查询位置,如下列: 公式:=INDEX(D2:D7,MATCH(A12&B12,C2:C7&B2:B7,)) 公式解析:这是一个数组函数,结束的时候,需要按CTRL SHIFT ENTER三键结束,在这里唯一要注意的地方就是,几个条件查找,就将查找条件和查找区域进行连接就行了,不需要用IF进行构建。 |
|