当前位置:首页 > 科技 > 正文

Lookup二分法太难?试试用Xlookup,真的很解压!

哈喽,大家好呀~

如图所示,我们想要更直观查看每个运货商对应每个产品的客户ID。

数据源是一个一维表,要转换成一个二维表。

与以往案例不同的是,二维表要填充的是一个字符串,而不是数字

如果要填充数字的话,直接用数据透视表就可以搞定,或者SUMIFS函数也比较方便。

可是对于字符串来说,就只能老老实实的用匹配函数去搞。

先来看下常规思路,可以使用LOOKUP得到所需的结果,公式为:

=IFERROR(LOOKUP(1,0/(($B$2:$B$19=$E2)*($C$2:$C$19=F$1)),$A$2:$A$19),"")

这是一个多条件匹配并且考虑容错的问题,使用LOOKUP算是比较简单的。

关于这些函数的用法和原理,之前发过很多相关的教程,这里就不啰嗦了。

如果需要讲解的同学在评论区留言“求讲解”。

下面重点看看使用XLOOKUP解决这个问题有多爽。

=XLOOKUP($E2&F$1,$B$2:$B$19&$C$2:$C$19,$A$2:$A$19,"")

仅对比公式的长度感觉就很爽。

如果要解释公式的原理感觉更爽了,一点也不绕,简单又直接。

XLOOKUP函数本来有六个参数的,本例只用到前四个参数,咱们就本例的公式来解释,要了解完整的XLOOKUP使用攻略请参阅之前的教程:XLOOKUP函数的用法

公式解析:

本例使用的XLOOKUP结构是=XLOOKUP(查找值,查找范围,结果范围,找不到时显示的值)。

其中查找值是$E2&F$1,也就是产品名称+运营商。

查找范围是$B$2:$B$19&$C$2:$C$19,也就是数据源中的产品名称+运营商。

查找结果是$A$2:$A$19,也就是数据源中的客户ID。

找不到时显示的值是"",也就是空值。

对于XLOOKUP来说,没有正向反向的区别,单条件与多条件直接用&合并就能用,完全不需要做大的调整,这些特性其他的查找函数都不具备,另外还可以直接指定找不到时显示的值,这就让IFERROR函数彻底无用武之地,就问你使用XLOOKUP爽不爽?

你可能想看:

有话要说...

取消
扫码支持 支付码