今日,我们将深入探讨VLOOKUP与IF函数的巧妙结合运用。 VLOOKUP与IF函数的巧妙融合,主要应用于两大场景:一是数据区域中的反向查找,二是涉及多个关键字或多个条件下的查找。 接下来,我们将依据这两种不同的场景,对公式的运用及介绍进行详细阐述。
首先,让我们回顾一下VLOOKUP函数公式的标准写法: =vlookup(查找值,查找区域,返回列,查找类型) 这个公式包含四个参数,其中第四个参数分为精确查找和近似查找,分别用数字0和1来表示。若省略该参数,系统默认为近似查找!
接下来,让我们进入主题。
一、反向查找 所谓反向查找,又称为逆向查找,主要涉及查找区域中的查询列与返回列的位置关系,具体来说,是指查找列位于返回列之后。 VLOOKUP函数的常规写法并不支持反向查找,它要求查询列必须位于查询区域的首列。 那么,如何实现反向查找呢? 其实并不复杂,主要有两种常见的公式套路:一种是VLOOKUP与IF函数的嵌套,另一种是VLOOKUP与CHOOSE函数的嵌套。 在此,作者将采用更为常见的VLOOKUP+IF函数组合公式进行实例讲解。
在下图中,作者需要查询指定货号对应的产品,由于查询列货号列表位于返回列产品列表的后方,因此需要进行反向查找。 我们输入以下公式: =VLOOKUP(P6,IF({0,1},E:E,F:F),2,0) 这是VLOOKUP与IF函数的组合公式,其中IF函数表达式作为VLOOKUP函数的第二参数查找区域,它执行了0和1的数组运算。 大家需要注意,通常公式中的大括号是数组或数组公式的表现形式。 IF函数的第一参数条件判断直接用0和1来表示,则会返回两个结果值,而这两个结果值合并在一起又形成一个数组。 当这个数组是两列数据时,便形成了VLOOKUP函数的查找区域,并根据0和1的先后顺序,来设置对应的查询列和返回列。 在此,有一个知识点需要大家了解,即IF函数的第一参数该写成“{1,0}”还是“{0,1}”! 很多人习惯性使用前者,然后认为后者是错误的,但实际上并非如此。只是他们没有理解IF数组的含义。 当IF函数的第一参数设置为“{0,1}”数组时,则首先返回第三参数,再返回第二参数,应用到公式中,即得到结果“F:F;E:E”,这时F列作为查询区域的首列,使得VLOOKUP函数能够正常执行运算。
二、多关键字或多条件查找 所谓多关键字,即存在多个查找值,然后查询并引用它们对应的结果值。 我们通常也将每个关键字称为一个条件,那么多条件查找的VLOOKUP公式应用,也有其固定的套路。 在下方数据表中,由于采购合同和对应产品都存在重复值,因此需要查询指定采购合同下指定产品所对应的客户货号。因此,它存在两个关键字:采购合同和产品编号。 我们输入以下公式: {=VLOOKUP(P6&Q6,IF({1,0},A:A&E:E,F:F),2,0)} 这个公式的第一参数使用了连接符号将两个关键字进行合并,再利用IF数组表达式输出一个符合查询规则的查找区域。 它的逻辑与反向查找公式相同,依然利用IF函数输出了人为设定位置的查询列和返回列,然后执行VLOOKUP函数的查询引用。 这个公式是多关键字查找的固定写法,根据这个固定套路,可以解决类似场景的查找问题。