举个工作中的例子,左边是员工信息表,有各种字段信息。
我们需要根据员工姓名,查找对应字段的信息,这个字段,我们使用下拉菜单可以实时变动,同时,需要查找出对应的信息:
如果我们需要查找匹配部门,则需使用公式:
=XLOOKUP(G2,A:A,B:B)
查找值是G2,查找列是A列,结果列是B列
如果将H1单元格更改成查找工资,那么,公式就需要变成:
=XLOOKUP(G2,A:A,E:E)
所以,两个公式不同的地方,在于第3参数,结果列的不同
它根据H1单元格的值进行变化
因此,我们可以结合OFFSET公式来动态引用结果列
插曲:OFFSET公式简单介绍OFFSET是一个偏移公式
使用的用法是:=OFFSET(起点,向下移动,向右移动,取多少行,取多少列)
起点可以是单元格,也可以是一整列数据
当我们起点,选择的是一整列数据的时候,可以只填前3个参数
当我们输入=OFFSET(A:A,0,2)
它表示A列的数据,向下不移动,向右移动2列,它就等同于C列
回到主题,根据H1单元格的值,我们就要从A列向右偏移多少列
这里就可以结合MATCH公式,来匹配它在第一行是第几列
输入的公式是:
=MATCH(H1,1:1,0)
表示H1单元格在第一行是第几个位置,0表示精确查找
得到结果是第5个位置
结果列是从A列偏移4列的结果,所以,如果我们想要得到工资列,就可以使用公式:
=OFFSET(A:A,0,MATCH(H1,1:1,0)-1)
最后,我们只需要将这整个公式,替代最开始的XLOOKUP的第3参数,做为结果列
一气呵成输入的公式是:
=XLOOKUP(G2,A:A,OFFSET(A:A,0,MATCH(H$1,$1:$1,0)-1))
向下填充的时候,H1单元格,第1行不变,可以固定行标
第1行也固定不变,所以第1行也固定引用
这样,我们更改H1单元格的值,无需再次输入公式,就可以自动得到结果了:
关于这个函数公式组合,你学会了么?动手试试吧!