2000元课程
函数+VBA
二维数据的查找在Excel中甚至可以作为专门的话题来研究,例如下图所示,要从原数据中查找指定姓名的3个科目成绩。
多年的实践中已经积累了一批经典的函数嵌套解决方案:VLOOKUP+MATCH, INDEX+MATCH, TEXTJOIN+IF, INDEX+SAMLL+IF.
FILTER和XLOOKUP作为2021版的后起新秀,自然要在这个经典话题中展示大显身手。
FILTER:我能自己嵌套自己
=FILTER(B2:E10,B1:E1=H1)
我先到B2:E10中去把所有人的历史成绩筛选出来,以数组的形式展示在H列,看懂没?
我在外面再嵌套一个我自己,从刚才的历史成绩中筛选出姓名为李二狗的数据:
=FILTER(FILTER(B2:E10,B1:E1=H1),A2:A10=G2)
看懂没?
我的第一参数是上一步得到的所有人的历史成绩;
第二参数是筛选条件,姓名要等于李二狗。
最后呢,因为公式要向下向右填充,该锁定的要锁定起来:
=FILTER(FILTER($B$2:$E$10,$B$1:$E$1=H$1),$A$2:$A$10=$G2)
这里会用到各种锁定方式,都是基础知识哦。
XLOOKUP:呵呵,好像谁不会嵌套自己一样
我也先把所有人的历史成绩找出来:
=XLOOKUP(H1,B1:E1,B2:E10)
再自己嵌套自己,从里面找到李二狗的成绩:
=XLOOKUP(G2,A2:A10,XLOOKUP(H1,B1:E1,B2:E10))
锁定,填充公式
=XLOOKUP($G2,$A$2:$A$10,XLOOKUP(H$1,$B$1:$E$1,$B$2:$E$10))
联系客服