CASE 1
基础精确查找
★★★要求:根据员工编号 E003 查询姓名fx公式示例
=VLOOKUP("E003",$D$7:$I$13,2,FALSE)练习题公式(E003)
=VLOOKUP(F17,$D$7:$I$13,2,FALSE)
解释:在员工编号列精确定位记录,并返回表格区域中的第2列姓名。
=VLOOKUP(查找值, 表格区域, 返回列数, [匹配方式])
| # | 参数 | 要求 | 怎么理解 / 怎么填 |
|---|---|---|---|
| 1 | 查找值 | 必填 | 要查找的内容,可以是编号、名称、日期或单元格引用。 |
| 2 | 表格区域 | 必填 | 包含查找列和返回列的完整数据区域。 |
| 3 | 返回列数 | 必填 | 从表格区域最左列开始数,要返回第几列。 |
| 4 | 匹配方式 | 选填 | 控制精确匹配或近似匹配;日常查询通常用 FALSE/0。 |
① 找到数据区域
先确认条件列和结果列在哪,注意固定区域加 $
② 按顺序填参数
依次填 查找值、表格区域、返回列数
③ 回车并向下填充
双击填充柄,整列公式自动套用
=VLOOKUP("E003",$D$7:$I$13,2,FALSE)=VLOOKUP(F17,$D$7:$I$13,2,FALSE)
解释:在员工编号列精确定位记录,并返回表格区域中的第2列姓名。
=VLOOKUP("E005",$D$7:$I$13,{2,3,4},FALSE)=VLOOKUP(F25,$D$7:$I$13,{2,3,4},FALSE)解释:在支持动态数组的 Excel 中,数组常量 {2,3,4} 会一次性向右溢出三列;旧版需要分别使用三个公式。
=IFERROR(VLOOKUP("E999",$D$7:$I$13,2,FALSE),"未找到")=IFERROR(VLOOKUP(F33,$D$7:$I$13,2,FALSE),"未找到")
解释:使用 IFERROR 包裹查找公式,在没有匹配记录时返回更容易理解的提示。
=VLOOKUP(1,CHOOSE({1,2},($F$8:$F$13="技术部")*($G$8:$G$13="深圳"),$E$8:$E$13),2,FALSE)解释:CHOOSE 临时构造“条件结果”和“返回结果”两列,使 VLOOKUP 可以处理两个同时成立的条件。
=VLOOKUP("E005",$D$7:$I$13,MATCH("月薪",$D$7:$I$7,0),FALSE)=VLOOKUP(F49,$D$7:$I$13,MATCH("月薪",$D$7:$I$7,0),FALSE)解释:MATCH 自动找到目标表头的位置,避免手工填写固定列数。
=IFERROR(VLOOKUP("E006",$D$7:$I$10,2,FALSE),VLOOKUP("E006",$D$11:$I$13,2,FALSE))=IFERROR(VLOOKUP(F57,$D$7:$I$10,2,FALSE),VLOOKUP(F57,$D$11:$I$13,2,FALSE))
解释:IFERROR 将两个查找区域连接起来,第一段没有匹配时自动继续查询第二段。
=VLOOKUP("*七*",$E$7:$I$13,2,FALSE)=VLOOKUP(F65,$E$7:$I$13,2,FALSE)
解释:星号代表任意多个字符;将姓名列放在查找区域第一列后即可进行模糊匹配。
上面案例里的 员工编号、姓名 等列,就来自这张表
| 行 | 员工编号 | 姓名 | 部门 | 城市 | 月薪 | 绩效等级 |
|---|---|---|---|---|---|---|
| 8 | E001 | 张三 | 技术部 | 北京 | 15,000 | A |
| 9 | E002 | 李四 | 市场部 | 上海 | 18,000 | B |
| 10 | E003 | 王五 | 技术部 | 深圳 | 22,000 | A |
| 11 | E004 | 赵六 | 财务部 | 广州 | 12,000 | C |
| 12 | E005 | 钱七 | 市场部 | 杭州 | 10,000 | B |
| 13 | E006 | 孙八 | 技术部 | 北京 | 28,000 | A |