编程技术分享平台

网站首页 > 技术教程 正文

VLOOKUP搭配COLUMN使用,告诉你为什么别人一分钟,而你要一上午

xnh888 2024-11-08 14:43:38 技术教程 17 ℃ 0 评论

前面大家已经了解了VLOOKUP函数的使用技巧,但是有的粉丝提问说,自己写公式总是比别人慢半拍,直到他看到同事写好一个VLOOUKP函数,然后直接右拉下拉完成表格时,自己还在一个个VLOOKUP的写,才知道自己慢在哪里?那同事是如何做到写一次,直接拖动得到所有数据的呢?今天就来给大家揭秘一下。


首先我们来分析一下,VLOOKUP函数我们在平时的使用中是可以向下拖动得到答案的,所以我们主要解决的就是向右拉动怎么得到正确答案的问题。我们在视频中经常给大家说到,公式拖动如果出现错误,首先就是分析响铃的两个公式之间变化和不变化的参数。那我们来看一下,当我们写好第一条公式,向右拉动,产生错误值的原因。通常我们如果要根据姓名匹配学号,我们会如下图操作:

此时的公式是=VLOOKUP(P9,$A$8:$N$29,2,) ,但是当我们将公式向右拖动的时候,就产生了错误值,我们看向右拖动后的公式与第一条有什么差别:=VLOOKUP(Q9,$A$8:$N$29,2,)。我们发现第一参数随着我们向右拖动也相对向右移动了一个单元格,由P9变成了Q9,也就是从姓名变成了我们第一个公式匹配出来的学号;第二参数由于我们做了绝对引用,没有变化;第三参数是手写的数字2,也没有变化,第四参数精确引用不变化。

这时候我们逐一分析:

第一参数,我们需要它随公式下拉而变化,但是不希望它随右拉而变化,所以需要将第一参数的列标进行绝对引用,不让它发生变化,此时公式变成=VLOOKUP($P9,$A$8:$N$29,2,)

第二参数,我们的匹配区域就是原来的区域,只是匹配列不同,并且我们也不希望它会随着公式拖动而变化,因此,第二参数不变。

第三参数,这个是重点,拿好小本本。由于我们根据姓名去匹配,学号位于第二列的时候,该参数为2,班级位于第三列,要匹配班级,这个参数就要变成3,以此类推,后面的公式第三参数就应该变成4、5、6……但是我们拖动公式的时候,这个参数由于是手写的数字2,所以它不会发生变化,将一直是2。我们需要解决的就是,怎么让它在我们向右拖动的时候自动变成3、4、5、6……此时我们需要引进一个新函数,COLUMN函数,这个函数的作用用于获取单元格列标号。请看下图:

我们可以看到,当这个函数所选的单元格位于整个Excel表格的第几列时,该函数就返回数字几,它不看行号。换言之,A列对应1,B列对应2,C列对应3,以此类推。当我们知道这个函数之后,我们就可以用它来代替VLOOKUP函数的第三参数,让它随着我们向右拖动公式,第三参数自动的变化。此时公式变成:=VLOOKUP($P9,$A$8:$N$29,COLUMN(B1),),此处的COLUMN参数,根据我们第一个匹配列的位置而定。

第四参数,我们仍旧需要精确匹配,无变化。

最终得到的公式就是:=VLOOKUP($P9,$A$8:$N$29,COLUMN(B1),),右拉下拉的结果展示如下:

所以,只要我们掌握了这个技巧,要去进行在同一个数据源的多列匹配时,只需要写一次VLOOKUP,直接右拉下拉即可,就不用每列写一次VLOOKUP了,这就是为什么别人比你快的原因所在了。当然这个使用范围是查找的字段顺序和数据源是一样的,那如果我们只需要其中几个字段的数据时,又该如何匹配呢?请关注下一期内容,将带你揭秘快速写公式的更高级用法。

纯手打,希望大家多多支持,期待与大家互相学习,共同进步!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表