1. VLOOKUP:纵向查找的代名词
VLOOKUP是微软 Excel 中最著名的取数公式之一。它的语法结构非常直观:=VLOOKUP(what, where, which, [exact])。尽管它存在无法向左查找、性能随数据量增加而下降的缺陷,但在中小规模数据处理中依然占据统治地位。
⚡ 注意: VLOOKUP 的第一个参数必须是查找区域的第一列。如果目标数据在左侧,此公式将无法直接使用,需改用 INDEX+MATCH 或 XLOOKUP。
实战案例:根据工号提取员工姓名
假设 A 列为工号,B 列为姓名,C 列为部门。我们要在 D 列根据 A2 的工号,从 E:H 区域(工号:姓名:部门:电话)中提取对应的姓名。
=VLOOKUP(A2, 2:1000, 2, FALSE)
- A2:要查找的工号。
- 2:1000:包含工号的完整数据表(必须加$锁定)。
- 2:返回第 2 列的数据(即姓名)。
- FALSE:代表精确匹配,这是Excel 取数最常用的模式。
2. XLOOKUP:新一代Excel 取数公式霸主
随着 Office 365 的普及,XLOOKUP正在迅速取代 VLOOKUP。它不仅解决了 VLOOKUP 的所有痛点,还引入了“未找到时的默认值”功能,极大提升了数据提取的鲁棒性。
核心优势:
- 双向查找:可以向左查找,不再受限于第一列。
- 默认返回值:直接定义找不到数据时显示什么(如“查无此人”),无需嵌套 IFERROR。
- 性能优化:在处理百万级数据时速度远快于 VLOOKUP。
实战案例:反向查找部门经理
现在已知部门名称(在 F2),需要从 G:H 列(部门:经理)中提取经理姓名,且部门可能在左边也可能在右边。
=XLOOKUP(F2, 2:100, 2:100, "暂无经理", 0)
这个公式的含义是:在 G 列找 F2,找到后返回 H 列对应行的值,如果没找到就显示“暂无经理”,0 代表精确匹配。
3. INDEX+MATCH:灵活多变的黄金搭档
在 XLOOKUP 出现之前,INDEX+MATCH是替代 VLOOKUP 的最佳方案。它利用 INDEX 定位单元格,MATCH 确定位置,两者结合可以实现任意方向的数据检索。
逻辑拆解:
- MATCH:先算出目标值在某一列的第几行(返回数字)。
- INDEX:根据这个数字,去另一列取出对应的值。
实战案例:二维交叉查找
我们需要查找“销售部”在"Q1 季度”的业绩。行标题是部门,列标题是季度。
=INDEX(2:100, MATCH("销售部", 2:100, 0), MATCH("Q1", 1:1, 0))
这种Excel 取数公式虽然书写稍长,但极其灵活,适用于复杂的矩阵数据提取。