[Excel] Vlookup基本用法

---学习记录---

VLookup基本用法

1 基础语法

=VLOOPUP(lookup_value,table_array,col_index,range_lookup)

lookup_value:查找关键字

table_array:查找范围

col_index_num:返回查找范围内的第几列数据

range_lookup:匹配方式,模糊匹配:0,精确匹配:1

  • 查找关键字在查找范围内需要是唯一的!!!

2 反向查找

<e.g> 查找I2中姓名为张三的同学的所在班级

=VLOOKUP(I2,IF({1,0},$B2:$B5,$A$2:$A$5),2,0)

lookup1.png

先看如何将查找范围中的AB两列交换位置进行查询

IF语句

IF(logical_test, [value_if_true], [value_if_false])

logical_test:逻辑判断语句

value_if_true:如果判断为真,返回value_if_true

value_if_false:如果判断为假,返回value_if_false

回到例子中,IF({1,0},$B2:$B5,$A$2:$A$5)的作用是将$A$2$A$5$B$2$B$5的位置交换并形成一个数组

  1. 如果1,返回$B2:$B5

  2. 如果0,返回$A2:$A5

按从左到右的顺序先执行1,再执行0,返回的数组即为$B$2$B$5:$A$2$A$5,即将两列交换位置

  • 使用了数组的公式不能直接按回车执行,需要按Ctrl+Shift+回车,否则会报错!!!

3 多条件查询

=VLOOKUP(lookup_value1&lookup_value2,IF({1,0},table_array1&table_array2),col_index,range_lookup)

<e.g>查找姓名=张三、班级=2班的同学的语文成绩

  • 一次错误尝试

=VLOOKUP(I2&J2,IF({1,0},$A$2:$A$5&$B$2:$B$5,$C$2:$C$5),2,0)

IF({1,0},$A$2:$A$5&$B$2:$B$5,$C$2:$C$5) IF语句将$A$2:$B$2作为一个整体当作查询的第一列,$C$2:$C$5作为查询的第二列。查询条件为I2&J2,但由于I2、J2分别为姓名和班级,而$A$2:$B$2作为第一列的抬头为班级和姓名,导致查询不到符合条件的结果,因此K2的值为NA

lookup2.png
  • 正确结果

=VLOOKUP(J2&I2,IF({1,0},$A$2:$A$5&$B$2:$B$5,$C$2:$C$5),2,0)

lookup3.png

4 查询返回多列

=VLOOKUP(lookup_value,table_array,COLUMN(X),range_lookup)

<e.g>查询姓名为李四的同学的语文成绩

lookup4.png
  • 一次错误尝试=VLOOKUP($I3,$B$2:$C$5,COLUMN(C1),0),报#REF!错误,原因在于COLUMN(B1)中的B1是对于查询范围来说的,对于查询范围$B$2:$C$5来说,COLUMN(C1)指的是D列,即为$B$2:$C$5范围中的第三列,而查找范围中并没有第三列,所以报#REF!错误。(就算不报错,返回的值也不是想得到的值哦)
lookup5.png
  • =VLOOKUP($I3,$B$2:$C$5,COLUMN(B1),0),得到了正确的结果

Reference: https://www.zhihu.com/question/34419318

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容