搭配MATCH的VLOOKUP |使用VLOOKUP MATCH创建灵活的公式

Vlookup公式仅在公式中的表数组未更改时才有效,但是如果在表中插入了新列或删除了某列,则该公式将给出错误的结果或反映出错误,从而使公式在在这种动态情况下,我们使用match函数来实际匹配数据索引并返回实际结果。

将VLOOKUP与Match结合使用

vlookup公式是最常用的函数,用于参考第一列的匹配值来搜索并返回指定列索引中的相同值或不同列索引中的值。使用vlookup时面临的主要挑战是要指定的列索引是静态的,并且没有动态功能。尤其是在处理多个条件时,这要求您手动更改参考列索引。因此,通过使用“ MATCH”公式可以更好地控制或控制VLOOKUP公式中频繁更改的列索引,从而满足了这一需求。

VLookup和匹配公式

#1 – VLOOKUP公式

Excel中VLOOKUP函数的公式

在此,所有要输入的参数都是强制性的。

  • 查找值 在此应输入引用单元格或带双引号的文本,以在列范围内进行标识。
  • 表格数组 此参数要求输入要在其中搜索Lookup_value的表范围,并且要检索的数据位于特定的列范围内。
  • Col_index_num 在此自变量中,需要输入列索引号或来自参考第一列的列数,从中需要从与在第一列中搜索的值相同的位置中提取相应的值。
  • [Range_lookup] – 此参数将提供两个选择。
  • 真的 –近似匹配:-参数可以输入为TRUE或数字“ 1”,它返回与参考列或第一列相对应的近似匹配。此外,表数组第一列中的值必须按升序排序。
  • 错误的 –完全匹配:-在此输入的参数可以为FALSE或数字“ 0”。此选项将仅返回要从第一列范围中的位置识别出的值的精确匹配。如果从第一列中搜索值失败,则会返回“#N / A”错误消息。

#2 –比赛公式

Match函数返回为给定表数组输入的值的单元格位置。

语法中的所有参数都是强制性的。

  • 查找值 –在此输入的参数可以是值的单元格引用,也可以是带双引号的文本字符串,需要拉出其单元格位置。
  • Lookup_array –要求输入表的数组范围,需要确定其值或单元格内容。
  • [比赛类型] –该自变量提供三个选项,如下所述。
  • “小于1” 此处要输入的参数为数字“ 1”,它将返回小于或等于查找值的值。并且查找数组也必须按升序排序。
  • “ 0完全匹配” – 在此,要输入的参数应为数字“ 0”。此选项将返回匹配的查找值的确切位置。但是,查找数组可以按任何顺序排列。
  • “ -1-大于” –要输入的参数应为数字“ -1”。第三个选项查找大于或等于查找值的最小值。在这里,查找数组的顺序必须按降序排列。

#3 –搭配公式的VLOOKUP

= VLOOKUP(lookup_value,table_array,MATCH(lookup_value,lookup_array,[match_type]),[范围查找])

如何在Excel中将VLOOKUP与匹配公式一起使用?

下面的示例将有助于理解vlookup的功能以及将它们组合在一起时的匹配公式。

您可以在此处下载带有Match Excel模板的VLookup –带Match Excel模板的VLookup

考虑以下数据表,该数据表描述了要购买的给定车辆的规格。

为了使vlookup和match函数的组合函数更清晰,让我们了解各个公式的运算方式,然后将它们组合在一起即可得出vlookup匹配结果。

步骤1 - 让我们在各个级别上应用vlookup公式以得出结果。

输出如下所示:

这里的查找值称为$ B9,即模型“ E”,查找数组作为具有绝对值“ $”的数据表的范围给出,列索引称为“ 4”列,该列为计数列“类型”和范围查找将完全匹配。

因此,以下公式适用于返回列的值 “汽油”。

输出如下所示:

在此处,将绝对字符串“ $”应用于查找值和lookup_array的查找值有助于修复参考单元格,即使将公式复制到其他单元格也是如此。在“燃料”(Fuel)列中,我们需要将列索引更改为“ 5”,因为需要从中检索数据的值发生了变化。

第2步 -现在,让我们应用Match公式来检索给定查找值的位置。

输出如下所示:

从上面的屏幕截图可以看出,这里我们试图从表数组中检索列的位置。在这种情况下,要提取的列号称为单元格C8,即列“类型”,将要搜索的查找范围作为列标题的范围,并且将匹配类型的精确匹配项指定为“ 0”。

因此,下表将为“燃料”列的位置提供所需的结果。

现在,此处将要搜索的列指定为单元格D8,所需的列索引返回为“ 5”。

步骤三 –现在,将在vlookup函数中使用Match公式,以从标识的列位置获取值。

输出如下所示:

在上面的公式中,将match函数替换为vlookup函数的column index参数。此处的match函数将标识查找值参考单元格 “ C8” 并通过给定的表数组返回列号。该列位置将用作vlookup函数中列索引参数的输入。哪一个将有助于vlookup识别要从结果列索引号中返回的值?

同样,我们也将“ vlookup”和“ match”(匹配)公式应用于“ Fuel”(燃料)列。

输出如下所示:

因此,我们也可以将此组合功能应用于其他“类型”和“燃料”列。

要记住的事情

  • VLOOKUP只能应用于其最左侧的查找值。数据表右侧要搜索的任何值都将返回“#N / A”错误值。
  • 在第二个参数中输入的table_array的范围应为绝对单元格引用“ $”,这将在将查找公式应用于其他单元格时保持固定的表数组范围,否则表数组范围的引用单元格将移至下一个单元格参考。
  • 在查找值中输入的值不应小于表数组第一列中的最小值,否则函数将返回“#N / A”错误值。
  • 在最后一个参数中应用近似匹配“ TRUE”或“ 1”之前,请始终记住要按升序对表数组进行排序。
  • match函数仅返回该值在vlookup表数组中的位置,而不返回该值。
  • 如果“匹配功能”无法识别表数组中查找值的位置,则公式将在错误值中返回“#N / A”。
  • 将查找值与表数组中的匹配文本值进行匹配时,Vlookup和match函数不区分大小写。