vlookup是Excel中常用的一个查找函数,作用如下:

在区域Z中查找第一列的值为V的记录。 如果找到这样的记录,返回该记录的第N列。 vlookup支持模糊查找和精确查找,对应到SQL的话,类似如下:

select colN from Z where 第一列='V' fetch first 1 rows only; (对应精准查找)
select colN from Z where 第一列<='V' fetch first 1 rows only; (对应模糊查找,注意,模糊查找并不对应SQL中的 like)

vlookup官方介绍的参数如下,有4个参数,:
VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup])
VLOOKUP (你想要查找的内容,要查找的位置,包含要返回的值的区域中的列号,返回近似或精确匹配-表示为 1/TRUE 或 0/假)

第一个参数是待查找的内容,类似SQL中的'V'
第二个参数是查找的区域,类似SQL中的Z
第三个参数是返回匹配记录中的第几列,类似SQL中的colN,这里第几列是个相对值,即选中区域中的第几列。
第四参数表示是精确匹配(FALSE),还是模糊匹配(TRUE)。 这里的模糊匹配要求区域中第一列已经按升序排好序,是默认选项,可以不填写或者填写1或者填写TRUE,如果使用了模糊匹配,类似SQL中的<=。 如果是精确匹配,则不要求排好序。

示例1,精确匹配:
输出王四所在城市
=VLOOKUP("王四", A2:C11,2,FALSE)

vlookup函数简介

 

示例2 模糊匹配:
输出第一个姓'王'的人所在城市(第1列已经排好序了)
=VLOOKUP("王", A2:C11,2,TRUE)

vlookup函数简介

注意:这里结果并不符合我们的要求,原因很简单,因为采用了模糊匹配,所以相当于条件为 <='王' ,而'王四'并不满足这个条件,所以第1个匹配的记录为'滕九'

还是使用精准匹配吧,使用"*"作为通配符。
=VLOOKUP("王"&"*", A2:C11,2,FALSE)

vlookup函数简介

 

参考资料:

vlookup 官方文档

相关文章:

  • 2021-11-17
  • 2021-06-24
  • 2021-09-23
  • 2021-07-28
  • 2021-11-09
  • 2021-06-01
  • 2021-12-29
猜你喜欢
  • 2021-08-16
  • 2021-09-09
  • 2021-10-08
  • 2021-06-07
  • 2021-12-02
相关资源
相似解决方案