工作中,经常需要一次性查询多列结果,举个例子,左边是员工档案数据,需要根据员工的姓名,查找匹配出多列的信息:
我们可以分析出来,查找的结果和原始数据里面表头的顺序是一致的:
所以我们只需要输入公式:
=XLOOKUP(G2,A:A,B:E)
3个参数解读:
查找值是G2单元格
查找区域是原始数据中的A列
想要的结果是B:E列的值
但是,如果说,我们需要的结果,顺序不一致,只是挑选了其中几个字段呢?
遇到这种情况,大部分朋友,可能手动的一次次的去输入公式
依次输入3次公式得到对应的结果
如果说,我们想要的效果是,我们的查询结果,是下拉菜单,可以自由选择,当我们选择了什么字段的结果,就要得到什么呢?
如果切换完一次,又重新手动输入公式,那就太麻烦了
遇到这种情况,我们只需要两个XLOOKUP公式组合就可以得到结果了
首先,我们知道,XLOOKUP公式,前2项是确定的
=XLOOKUP(G2,A:A,
只是查找结果列,有可能会变动,根据H1单元格值不同,列不同
那有没有可能,我们需要H1单元格的值,直接锁定对应列呢?
我们可以用另一个XLOOKUP公式来确定
当我们输入公式:
=XLOOKUP(H1,1:1,1:1048576)
它会从第1行中匹配H1的值,然后获取所有行的结果,就是岗位这一列了
所以我们把这个结果当做第一个XLOOKUP的第3参数,就可以得到结果了,输入的公式是:
=XLOOKUP($G2,$A:$A,XLOOKUP(H$1,$1:$1,$1:$1048576))
其中G2单元格固定列标
H1单元格固定行标,其它数据源全固定引用
当我们切换H1单元格的值时,它能匹配出结果:
关于这个小技巧,你学会了么?动手试试吧!