为何我的VLOOKUP函数返回#N/A错误?Excel新手求助
你的VLOOKUP函数大概率踩了这些新手常见的坑
嗨,作为刚接触Excel的新手,VLOOKUP返回错误真的太常见了!结合你提供的数据和指定表格,我猜你大概率遇到了下面几个问题之一:
1. 查找值没放在查找区域的第一列
VLOOKUP有个“死规矩”:你要用来匹配的那个值,必须在你选的查找区域(公式里的table_array参数)的第一列。
比如你想把指定表格里的店铺等级匹配到数据中,如果是用“店铺名称”作为匹配依据,那你的指定表格必须把“店铺名称”放在最左侧的第一列,不然VLOOKUP根本找不到对应项,直接返回#N/A错误。
2. 精确/近似匹配搞混了
VLOOKUP最后那个可选参数(range_lookup)特别容易搞懵新手:
- 填
FALSE或者0:是精确匹配,适合匹配店铺名称这类唯一值,找不到对应项就返回#N/A。 - 填
TRUE或者直接省略:是近似匹配,这时候要求查找区域的第一列必须是升序排序的,不然结果会混乱甚至完全错误!
如果你明明要精确匹配店铺信息,却没加FALSE,或者用近似匹配但表格没排序,肯定会出问题。
3. 要返回的列数算错了
公式里的col_index_num参数,是指你要提取的等级列在查找区域里的位置(从第一列开始数)。比如指定表格里等级在第二列,你就得填2,要是填成3但表格总共只有2列,就会弹出#REF!错误。
4. 下拉填充时引用区域跑位了
如果你选查找区域的时候用的是相对引用(比如直接选A1:B5),下拉公式的时候这个区域会跟着往下偏移,导致后面的公式找错地方。这时候要给查找区域加绝对引用,把行列号前面加上$,比如$A$1:$B$5,这样下拉的时候区域就固定住了。
给你举个正确的例子参考:
假设数据里的店铺名称在A2单元格,指定表格在Sheet2的A列(店铺名)和B列(等级),那公式应该这么写:
=VLOOKUP(A2, Sheet2!$A$1:$B$10, 2, FALSE)
内容的提问来源于stack exchange,提问作者Yoyashi




