VLOOKUP函数怎么用?我用一个例子讲明白
你有没有被VLOOKUP折磨过?
上个月老板丢给我两张表,一张是员工工号+姓名,另一张是工号+部门+薪资。让我把两张表合并成一张。
我当时第一反应是:一个个复制粘贴?两千多条数据,粘贴到猴年马月。后来同事老张路过,丢了一句:"用VLOOKUP啊,三分钟搞定。"
我当时就懵了。VLOOKUP?我连这四个字母怎么念都不确定。但那天晚上我花了一个小时研究,终于搞通了。现在回头看,它其实真的不难,只是没人用"人话"给你讲过。
先别背公式,先理解它在干什么
VLOOKUP干的事就一件:你给它一个"线索",它帮你在表格里找到对应的信息。
就像你在通讯录里搜名字,搜"张三",出来的是他的手机号。VLOOKUP就是这个"搜索"动作。
它的完整写法是:=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
别慌,我一个一个说人话翻译:
- lookup_value(找什么):你要搜索的那个值。比如员工工号"A001"
- table_array(去哪找):去哪个区域找。比如Sheet2的A到D列
- col_index_num(找第几列):找到了之后,返回它右边第几列的数据。比如部门在第3列,就填3
- range_lookup(精确还是模糊):几乎永远填FALSE,表示精确匹配
用一个真实例子走一遍
假设Sheet1是你要填的表,A列是工号,B列姓名已经填好了,C列是空的(要填部门)。Sheet2是数据源,A列工号,B列姓名,C列部门,D列薪资。
在Sheet1的C2单元格输入:
=VLOOKUP(A2, Sheet2!A:D, 3, FALSE)
翻译成人话就是:拿A2的工号(A001),去Sheet2的A到D列里找,找到了之后返回第3列(部门)。
回车,部门就自动出来了。然后双击单元格右下角的小方块,公式往下拖,两千条数据,一秒搞定。
我踩过的坑,你别再踩了
坑一:#N/A错误。这是最常见的。意思是找不到匹配值。通常是两个表的工号格式不一致——一个是文本"001",一个是数字1。解决办法:用TEXT函数统一格式,或者在工号后面连接空文本=A2&""。
坑二:返回了错误的数据。检查col_index_num是不是数错了。很多人数列的时候从1开始数,但VLOOKUP是相对于table_array的第一列来数的。如果table_array选的是B:F,那B列就是第1列,C列是第2列。
坑三:拖公式后结果全一样。这是因为lookup_value没加绝对引用。A2应该改成$A$2(按F4加美元符号),这样拖的时候搜索值不会跟着变。等等,不对——应该是列锁定但行不锁定:$A2。这样往下拖的时候行号会变,但始终在A列找。
什么时候用VLOOKUP,什么时候不用
VLOOKUP有个硬伤:它只能往右找。也就是说,返回值必须在搜索值的右边。如果你要根据"部门"反查"工号",VLOOKUP搞不定,得用INDEX+MATCH组合或者XLOOKUP(Office 365才有)。
另外,如果你的数据源经常变(比如每天新增行),建议用Excel表格功能(Ctrl+T)把数据转成智能表格,这样table_array会自动扩展,不用每次改公式范围。
说实话,VLOOKUP学起来不难,难的是在实际场景里灵活运用。我的建议是:下次遇到"两张表要合并"的场景,先想想能不能用VLOOKUP。用多了自然就熟了。 excel 教程 办公软件 数据
版权声明
本文来自投稿,不代表本站立场,转载请注明出处。