分享

Excel 公式函数/查找函数之VLOOKUP

 冷茶视界 2023-11-15 发布于江苏

Excel查找函数有好几个,我们今天来说说VLOOKUP.

提起VLOOKUP,可能大多数小伙伴都能划拉两下,它是让我感到惊叹的第一个Excel函数。我们今天就一起来捋一捋。

用法示例:
=VLOOKUP(查找值,表格区域,返回列数,匹配方式)

查找值:就是我们查找的关键字,标的物,是我们查找的依据。

表格区域:我们要查找的目标范围,它的第一列应该或者说我们假定它应该包括我们的"查找值",它也不局限于表格区域,也可以是数组。

返回列数:从“表格区域”第一列到目标值所在列的距离(列数)

匹配方式:0 或False表示精确匹配,1或True表示模糊匹配,不输入表示模糊匹配。一般我们都会使用精确匹配,即这个参数我们输入0.

好,我们来看一个实例:

假设我们有一个“库存商品明细表",我们是在盘点库存的时候得到这么一张表,字段有编码、名称、数量,但没有价格,同时我们也有另一张表,库存商品单价,在这种情况下,我们要在“库存商品明细表“中把每个商品的单价取过来,以便计算库存商品总值。

试想一下,如果是刚接触Excel的同学,不知道有查找函数这一说,你会怎么做?

如果是我,我可能会这样做,复制粘贴嘛,我拿手,Ctrl+C,Ctrl+V,按得可欢了:

......耗时小半天,居然还得到领导的夸奖,到底是小年轻,手速就是快!

也可能找一个同事,我报一个代码,他帮我找相应单价再报给我,我输入到表格中......

你还别笑,我可能还真的做过这样的事,而且,我相信我并不孤独,那时候我们都还没有和Vlookup相遇。

不说了,说多了都是泪......

如今看看我们都有什么招:

根据商品编码从单价表中取单价,最最普通的用法:

=VLOOKUP(A2,库存商品单价!A:C,3,0)

在D2单元格输入公式,再双击一下鼠标左键,耗时......20秒......

在这,公式里的“3”,就是A到C的距离列数,我们通常掰手指,如果距离过长,从A列到BM列,手指脚指加一起都不够用怎么办?

别慌,我们可以用COLUMNS(A:BM)来计算列数,上面的公式就可以改成:

=VLOOKUP(A2,库存商品单价!A:C,COLUMNS(A:C),0)

再看几个花式应用:

使用COLUMN()函数产生数值,作为VLOOKUP()函数的参数

=VLOOKUP($H2,$A:$E,COLUMN(B1),0)这里COLUMN(B1)=2,如果把公式向右拖动复制,我们就会得到COLUMN(C1)=3

这种情况适用于源数据和结果数据的表头或者说数据字段顺序是一样的。

如果可能不一样呢?我们可以用MATCH()函数来查找结果数据表头字段在源数据表头字段的位置,这样我们就不用担心结果数据表头字段的位置不同了。

=VLOOKUP($H3,$A:$E,MATCH(I$1,$A$1:$E$1,0),0)这里MATCH函数产生了一个数值,它是结果数据表头字段在源数据表头中的位置。

我们再换个姿势:

=VLOOKUP($H4,库存商品明细表,MATCH(I$1,表头,0),0)这里把目标数据区域、表头定义为名称,再结合MATCH函数库存商品明细表:=OFFSET( 库存商品明细表!$A$1,0,0,COUNTA(库存商品明细表!$A:$A),5)表头:=库存商品明细表!$A$1:$E$1看上去不是"高级"一点?

VLOOKUP还可以在给定的一个数组中进行查询,如我们前文Excel 公式函数/一组常用公式函数综合运用之二中科目分类字段:

还可以用VLOOKUP函数:=VLOOKUP(--LEFT(A2,1),{1,"资产";2,"负债";3,"共同";4,"权益";5,"成本";6,"损益";9,"表外"},2,0)

VLOOKUP函数有个特点,它的查找值必须包含在数据区域的第一列中,即从第一列从左向右查找,我们可以把第一列称之为关键字列。

如果碰到关键字列在右边的情况,我们一般会怎么办呢?

1、将关键字列移到左边,或者

2、在左边插入一列,把关键字列复制到插入的空白列,或者

3、用CHOOSE函数变换查找区域,如果我们要通过名称来查找编码:

  =VLOOKUP(I7,CHOOSE({1,2},B:B,A:A),2,0)  

4、还可以使用其他函数如INDEX+MATCH,或者LOOKUP等,这些我们以后再聊。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多