乐于分享
好东西不私藏

Excel一次返回多个值,XLOOKUP和FILTER简直夯爆了!

Excel一次返回多个值,XLOOKUP和FILTER简直夯爆了!

点击蓝字 关注我吧!

今天这篇,聊一个Excel中的高频需求:一次返回多个值。

比如,要从左边表格里,返回其中部分人员的全部信息。要返回的信息内容和顺序与原表完全一致。

面对这个问题,我个人觉得有两个函数最为合适:XLOOKUP、FILTER

一、XLOOKUP

1.方法

在J2输入以下公式,并向下引用到J5单元格。

=XLOOKUP(I2,B:B,C:F)

2.结合语法解析

=XLOOKUP(查找值,查找数组,返回数组,[未找到值],[匹配模式],[搜索模式])

查找值:I2,王五。

查找数组:B:B,去B列查找王五。

返回数组:C:F。在B列找到王五在第4行,返回第4行C~F列的内容。

匹配模式:省略,没找到会返回#N/A错误。

匹配模式:省略,默认精确匹配。

搜索模式:省略,默认从前往后搜索。

3.注意事项

XLOOKUP只会返回第1条匹配的数据。如果有2个“王五”,XLOOKUP 只会返回第一个“王五”的相关记录就结束查找。

二、FILTER

1.方法

在J2输入以下公式,并向下引用到J5单元格。

=FILTER($C$2:$F$12,$B$2:$B$12=I4)

2.结合语法解析

=FILTER(数组,包括,[空值])

数组:$C$2:$F$12,返回C列~F列的内容。

包括:$B$2:$B$12=I4,这是筛选条件;

判断B2:B12的姓名是否等于"王五",判断结果是TRUE的时候,第1参数对应的一行被保留。

空值:省略,如果没有符合条件的记录,返回#CALC!错误。

3.注意

① FILTER会返回所有符合条件的记录。

如果有两个王五,它会返回两个结果,并自动溢出到相邻单元格。

② FILTER是动态数组函数,参数引用整列,它会老老实实把1.4万行都对比一遍,可能造成卡顿。

不过,我们也可以结合区域修剪运算符来搞定。在冒号的后面加上点,代表裁剪掉下方和右边的空白单元格,既方便又高效。

=FILTER(C:.F,B:.B=I2)

三、小尾巴

看到这里,有人可能会说,VLOOKUP、INDEX+MATCH、CHOODEROWS+MATCH不是也可以吗?

没错,确实可以,但对比起来,还是XLOOKUP和FILTER简单太多啦!


记得点赞、关注再划走哦~