美文网首页office
【WPS】VLOOKUP 函数进阶

【WPS】VLOOKUP 函数进阶

作者: 山药鱼儿 | 来源:发表于2022-01-18 23:03 被阅读0次

大家还记得 VLOOKUP 函数的用法和公式吗?VLOOKUP 函数是查询函数中的一员,其表达式为:

VLOOKUP('查找的值', '查找的区域', '返回的列数', '匹配模式')

VLOOKUP 是查询函数中的重要一员,连载前面的文章,使用 VLOOKUP 函数时,参数 “返回的列数” 一直是个常量,比如 0,1 这样的值。

今天,小鱼和大家学习的 VLOOKUP 函数进阶用法中,我们将使用函数的返回值来动态地作为 VLOOKUP 函数的第三个参数:返回的列数。下面,我们就开始学习吧~

首先,我们来发散思维,想想如何把黄色表格中的 6 列内容填入到绿色表格中:

有读者可能想到了,复制粘贴不就可以实现了吗?

是的,这样做可以。但是,这里我们需要建立一个可自动更新的表格,不过使用复制粘贴的话,当源数据表格更新的时候,绿色的表格时不会自动更新的。

所以,我们须要使用引用的方式,把前面的数据引用过来。那大家再想想是否还有办法呢?有朋友可能想到了相对引用:

使用相对引用的方式

然后使用自动填充,计算剩余单元格(记得使用不带格式填充):

不带格式填充

使用相对引用的方式虽然可以实现,但这样的数据引用比较呆板,所以也不推荐。而且当第一列项目事件发生改变时,表二并不能同步更新。

由此看来,必须使用 VLOOKUP 函数帮我们查找了:这样,当项目时间发生变动时,也会自动更新表二的值。

使用 VLOOKUP 函数引用

其中,$A9 表示查找的值,待会需要往右拖拉公式,我们须要确保查找值位于 A 列,因此需要锁定 A 列。

$A$2:$G$6 表示查找的区域,我们要确保查找的公式不会随拖拉公式而变动,因此采用绝对引用。

注:按 F4FN+F4 切换引用模式:绝对引用、相对引用和混合引用。

!!!但,目前的结果是错误的,填充公式后仅第一列正确,后面的值全在重复第一列的内容:

其实,这是因为我们在录入公式时,VLOOKUP 函数返回的始终是第 2 列项目成本。为了使 VLOOKUP 函数的第三个参数自动更新,就需要用到 COLUMN 函数了。

COLUMN 函数

小鱼前面的连载文章有介绍到 ROW 函数用于返回所在单元格的行数,相应地 WPS 表格工具也为我们提供了返回单元格所在列数的 COLUMN 函数,表达式为:

COLUMN()

函数括号里面,可以填写单元格也可以不填写。填写了单元格,会返回此单元格所在的列数;否则,返回录入公式的单元格所在的列数。

COLUMN + VLOOKUP 函数

接下来,我们就可以使用 COLUMN 函数的返回值,来作为 VLOOKUP 函数的第三个参数 - 返回的列数了。

这次再使用自动填充功能就不会发生错误啦~

上述我们使用 COLUMN() 做为返回的列数,使得 VLOOKUP 函数返回的列数可以动态更新。

不过,使用 COLUMN() 函数有个缺陷,那就是两个表的结构必须一样。假如,表二像下面这样,使用 COLUMN 将无法实现引用。

这时候,我们就需要用到小鱼前面介绍过的 MATCH 函数了~

MATCH + VLOOKUP 函数

COLUMN 函数虽然简单方便,但仅限于两张表的结构一致才可以。如果表的结构不一致,就需要用到 MATCH 函数了。MATCH 函数表达式如下:

MATCH('查找的值', '查找的区域', '查找模式')

返回值为目标所在区域的索引位置:

其中,B$28 表示查找的值,在进行向下填充时,需要锁定行,保证查询的固定是第 28 行。

$B$21:$G$21 表示查询的区域,自动填充时,查询的区域是固定的,使用绝对引用。0 表示查找模式为精确查找。

拖拉公式,可以得到标题对应原表的列数:

获取到列数,就解决了 VLOOKUP 函数返回列的问题,下面开始套用我们的 VLOOKUP 函数:

以上就是今天的全部内容啦,小鱼再来为大家总结一下:

  • 我们围绕核心问题:VLOOKUP 函数第三个列数返回列数不能自动更新,展开介绍了 COLUMN 函数和 MATCH 函数。

  • COLUMN + VLOOKUP:可以在表格结构一致时搭配使用。

  • MATCH + VLOOKUP:可以摆脱表格结构的限制。

相关文章

网友评论

    本文标题:【WPS】VLOOKUP 函数进阶

    本文链接:https://www.haomeiwen.com/subject/siwkhrtx.html