上周帮同事处理一份差旅报销表,她要用报销编号、差旅事由、所属部门三个条件去匹配报销金额。按她之前的做法,得先用辅助列把三个条件用“&”连起来,再用VLOOKUP去查。改一个条件就得重做辅助列,特别麻烦。

其实用XLOOKUP函数就能快速搞定。今天分享两个我常用的多条件查询技巧。

场景一:多个条件必须同时满足(且关系)

比如要查“编号BX003、事由客户拜访、部门业务部”这一项的报销金额。直接用乘号把条件连起来:

=XLOOKUP(1,(A:A=F2)*(B:B=G2)*(C:C=H2),D:D,"")

XLOOKUP函数多条件查询的万能公式,比VLOOKUP好用10倍!-趣帮office教程网

这里的逻辑是:每个条件判断会生成一组True/False,相乘后只有三个条件都满足的行会得到1。XLOOKUP函数就负责在结果数组里找到这个1,返回对应的D列金额。

场景二:满足任意一个条件即可(或关系)

如果要查“只要编号匹配、或者事由匹配、或者部门匹配”就返回金额,把乘号换成加号:

=XLOOKUP(1,(A:A=F2)+(B:B=G2)+(C:C=H2),D:D,"")

加号会把满足任意条件的行标记为1(至少一个True),XLOOKUP函数会定位到第一个1的位置返回结果。

总结

这两个公式都不需要辅助列,数据源增减条件时直接改公式里的判断区域就行。用XLOOKUP函数做多条件查询,核心就是把“条件判断”转换成“0和1的数组”,再用查找1的方式定位。掌握这个思路,以后碰到再复杂的匹配规则,都能用XLOOKUP函数轻松拆解。