在Excel数据查询中,VLOOKUP只能从左往右查,遇到反向查询就不够用了。而LOOKUP函数可以实现任意方向的数据查询,无论查找值在左还是在右,都能灵活应对。它有一套固定的模式化写法,掌握之后,很多复杂的查询场景都能用同一个套路解决。

一、单条件查询

模式化写法:

=LOOKUP(1, 0/(区域=指定条件), 要返回内容的区域)

以准考证号查询为例,C列是姓名,A列是准考证号。需要根据G1单元格中的姓名,查询对应的准考证号,在目标单元格输入:

=LOOKUP(1,0/(C2:C8=G1),A2:A8)
LOOKUP函数怎么用?任意方向查询一个公式搞定-天天办公网
单条件查询

公式拆解:

  • C2:C8=G1:判断C列每个姓名是否等于H2,返回一组TRUE或FALSE
  • 0/(…):用0除以这组逻辑值,TRUE变0,FALSE变错误值
  • LOOKUP(1, …):用1查找,忽略错误值,返回最后一个0对应的位置
  • A2:A8:从准考证号列中返回对应位置的内容

二、多条件查询

模式化写法:

=LOOKUP(1, 0/(区域1=条件1)/(区域2=条件2), 要返回内容的区域)

多个条件用 / 连接,表示“且”的关系。例如同时根据姓名和部门查询:

=LOOKUP(1, 0/(C2:C10=H2)/(D2:D10=I2), B2:B10)

只有两个条件同时满足的行才会保留,其余全部变成错误值,LOOKUP自动忽略错误值返回匹配结果。

三、LOOKUP的三个特点

特点一:要求查询区域升序排列,但如果用0除以条件的方式构造数组,这个限制就自动绕过了。

特点二:当查找不到精确值时,会以比查找值小且最接近的值进行匹配。这里用1查找,数组中只有0和错误值,所以必定匹配到0。

特点三:自动忽略数组中的错误值,这是它能处理条件查询的根本原因。

四、总结

LOOKUP函数单条件用一次除法,多条件用多次除法连接。无论查找值在左还是在右,无论是一个条件还是多个条件,都能用同一个套路完成查询。比起INDEX+MATCH组合,这个写法更加简短,适合在需要灵活查询时使用。