Excel横竖交叉匹配,5种公式方法,你都会么?

志课程 2024-10-08 15:38:37

模拟工作中的一个场景

左表是从出发地到目的地,不同城市的一个报价运费表

现在需要根据出发地和目的地,两个条件,快速交叉查找匹配出对应的运费是多少

有5种解决办法

1、VLOOUP+MATCH组合法

首先,我们要使用MATCH函数,来定位,我们需要查找的数据源在第几列

当我们输入的公式是:

=MATCH(I2,$1:$1,0)

它表示I2单元格,在第1行的位置里面查找匹配,0表示精确匹配

它的结果就是4

通过这个公式,分别可以知道我们想要的结果在对应的列数

然后上面的公式作为VLOOKUP公式的第3参数进行返回,就可以得到我们想要的结果,综合使用的公式是:

=VLOOKUP(H2,A:F,MATCH(I2,$1:$1,0),0)

就可以查找匹配出对应的结果

2、使用INDEX+MATCH+MATCH组合

INDEX的用法是:

INDEX(数据源,行标,列标),所以INDEX(A:F,3,4),表示返回数据源内第3行,第4列的结果

所以我们可以用MATCH函数分别去找到行标和列标

综合下来,使用的公式是:

=INDEX(A:F,MATCH(H2,A:A,0),MATCH(I2,$1:$1,0))

3、使用OFFET+MATCH

原理和上面差不多,但是利用的是偏移的特性

我们使用的公式是:

=OFFSET($A$1,MATCH(H2,A:A,0)-1,MATCH(I2,$1:$1,0)-1)

从左上方A1单元格进行偏移,偏移量都需要减去1,也可以得到正确的结果

4、使用INDIRECT+名称管理器的方法

首先,我们需要选择数据区域的内容,然后在公式选项下,点击根据所选内容创建,然后勾选,首行和最左列,然后点击确定

有了这一步操作之后,我们只需要输入的公式是:

=INDIRECT(H2) INDIRECT(I2)

注意中间有一个空格符合

这样也可以得到对应的结果,利用的是空白符,可以返回横列交叉中间数据

但是这种方法,如果源数据改动之后,需要重新定义名称管理器,才能得到结果,否则不会刷新结果

5、两个XLOOKUP公式

我们使用的公式是:

=XLOOKUP(H2,A:A,XLOOKUP(I2,$1:$1,$1:$1048576))

XLOOKUP即可以横向查找,也可以纵向查找

首先用横向查找,可以把目的地对应的所有数据源给匹配出来,得到一个数组

然后再使用纵向查找,查找上方的数组,可以把出发地对应的数据匹配出来

以上几个方法,你都会用么?动手试试吧!

6 阅读:278