比Vlookup好用10倍,这才是Excel中最牛的查找方法
- 2026-10-26 11:32:38

1、单条件查找
1)升序排序
先选中数据区域,点击【数据】——【排序】——【主要关键字】——【姓名】——【确定】。

2) 输入公式
=LOOKUP(E2,A2:A12,C2:C12)

我们以后碰到这类查询问题,都可以按这个模式套用:=LOOKUP(查找值,查找区域,返回结果区域)
例如,案例中,F2单元格的公式:
查找区域 A2:A12,即姓名列,找到与 E2 相同的值"王武";
返回结果区域,即部门这列,找到"王武"对应的部门位置,返回结果:策划部。
👉 敲重点:
在使用 LOOKUP 函数时,【查找区域】必须要升序排序。
否则可能得不到正确结果。
如下图:明明"王武"的部门是 策划部,公式结果却是 财务部!
若发现返回结果出错了,首先检查自己有没有进行升序排序!!!
重要的事要说三遍,一定要先升序排序!一定要先升序排序!一定要先升序排序!

2、数组型查找
这时就有小伙伴纳闷了:写函数公式,还要时刻注意给原来的数据排序,这也太麻烦了!
别急!不想排序的话,Lookup 也有办法。
请往下看!
单条件查询
如下图,根据姓名查询部门:

看起来好复杂啊!
不怕,以F2 单元格中的公式为例,我们先来看看公式解析~
=LOOKUP(1,0/(E2=A2:A12),C2:C12)
1) E2=A2:A12 先判断 A2:A12 (姓名列)是否等于E2("王武")。
如果是,则返回 True,否则返回 False;这时形成由 True 和 False 组成的数组。
2)0/({FALSE;FALSE......}),用 0 除以判断结果形成的数组。
0/TRUE=0,0/FALSE=#DIV/0!
在四则运算中,True 相当于 1,False 相当于 0,形成由 0 和#DIV/0!组成的数组。
如图所示:

3) Lookup 函数先在【查找区域】中查找与 1 匹配的值。
如果找不到,则继续找小于且最接近查找值的数值。
在【查找区域】中 0 最接近 1,所以结果返回 0 对应的C2:C9中的值,策划部。
PS:Lookup 函数是根据二分法进行跳跃式查找的,它会忽略#DIV/0!错误值,所以查找区域中仅存在数值 0,且 0 也是小于等于 1 的数值。
简言之,这个公式的关键在于第 2 参数:
0/(E2=A2:A12生成一个由数值 0 和错误值#DIV/0! 组成的数组。
再从这个数组中找到小于或等于 1 的最大值 0,最后返回第 3 参数:C2:C9对应的值。
敲重点:
当我们碰到单条件查找的问题时,可以按照下面的公式直接套用!
=LOOKUP(1,0/(条件=条件区域),返回区域)
看案例!
如下图,我们需要根据姓名查询性别:
以E2 作为条件,A2:A12 为条件区域,B2:B12 为返回区域,套用:
得到 G2 单元格公式:
=LOOKUP(1,0/(E2=A2:A12),B2:B12)


office研习社,每天陪你学习一点点,进步一点点。
喜欢今天的文章,别忘记“收藏”点“在看”支持~ 
咱们下期再见!^_^