目录
入门
精确查询
模糊查询
反向查询 (搭配 if 函数)
多列查询 (搭配 match 函数)
入门
精确查询
需求: 查找 学生编号是008 所在的班级
操作: 在I2单元格输入公式如下,=VLOOKUP(H2,B1:E12,4,FALSE), 得出结果
看一下vlookup 公式每一个参数应该怎么写?
语法: vlookup (查找值, 数据表范围 列序数, 匹配条件)
查找值: H2 (在H2单元格写好学生编号 : 008)
数据表范围: B1:E12
为什么数据表范围选择B1:E12 而不是 A1:E12 ?
因为 查找值(学生编号)必须在数据表范围的第一列,否则会报错如下图
学生编号在B1:E12这个数据范围的第一列
所以数据表范围选择B1:E12 ,而不是A1:E12
列序数: 4 (要得到的结果 班级列 在 数据表范围的 第4列 )
匹配条件: FALSE (表示精确匹配)
再测试查一下学生编号是008的 专业:
查 学生姓名 是 小二 的入学日期
模糊查询
需求: 根据右侧表,算出左侧表各学生的奖金
第4个参数写true,表示模糊匹配
注意第2个参数(数据表范围)用绝对引用, 因为后续要进行奖金列的下拉填充
将E2单元格下拉填充得到如下, 就算出了学生成绩对应的奖金
注意这里需要是 升序排序
降序排序会报错
反向查询 (搭配 if 函数)
需求: 根据学生编号,查询学生姓名
当vlookup的查找值(学生编号)不在数据值范围的第一列时,通过IF函数重构查找数据值范围
用 if 函数交换 学生编号 和 学生姓名这两列
I2 单元格输入: =VLOOKUP(H2,IF({1,0},B1:B12,A1:A12),2,FALSE)
再练习另一个反向查询
根据学生编号,查询入学日期
多列查询 (搭配 match 函数)
需求: 根据学生编号查询后面的一排信息, 在入学日期I2处写入公式, 后面的 专业班级等列 可以实现自动填充
I2处写入: =VLOOKUP($H$2,$A$1:$E$12,MATCH(I1,$A$1:$E$1,0),FALSE)
(注意,为了批量填充,单元格除了I1,多处使用了绝对引用)
得到结果
把I2单元格右拉填充 得到各结果