Excel如何精确匹配行列字段,不使用vlookup

2025-04-18 13:00:06

有时候,我们需要从另一个张表中匹配获取本表中没有的字段,Excel提供了一个函数:vlookup(hlookup),这个函数有个坏处,你无法向左匹配,就是说,你要获取的列,必须在待匹配列的右边。这篇经验将使用两外两个函数,实现更精确的匹配功能。

需求分析

1、假设有一张表如下图所示,共有800多名人员信息。

Excel如何精确匹配行列字段,不使用vlookup
Excel如何精确匹配行列字段,不使用vlookup

2、而你所需要的,仅仅是填充下面的表:

Excel如何精确匹配行列字段,不使用vlookup

基础学习

1、先学习两个函数:match( val, arr, n )match函数,有三个参数,他返回 val所指定的值在 arr 数组中所在的位置索引,如果val不在arr中,则返回N/A,n表示匹配模式,一般传递0值,表示精确匹配。例如:match( "c", { "a", "b", "c", "d" }, 0 )它的计算结果是3,因为 “c”在数组{"a","b","c","d"}中排在第三位。如下图:

Excel如何精确匹配行列字段,不使用vlookup

2、index( arr, ind )index函数返回在arr数组中第ind个元素的值。比如:index( {"a","b","c","d", 3 }它的计算结果是 c,因为第三个元素就是"c"。如下图:

Excel如何精确匹配行列字段,不使用vlookup

实际运用

1、以那个需求表为例,填充数据可以使用下面的公式:=INDEX(Sheet2!B:B,MATCH($B3,Sheet2!$A:$A,0))公式原理:match返回B3单元格的值(名字)在sheet2表A列(也是名字,但作为一个数组来看)所在的位置索引,实际就是看”曹操“这个名字在整个sheet2表中的A列中在第几行。然后index返回B列的第几行(match的计算结果)。如下图:

Excel如何精确匹配行列字段,不使用vlookup

2、填充公式:一下就可以得到整个结果,如下图:

Excel如何精确匹配行列字段,不使用vlookup
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢