Excel 报表技巧 Index + Match 函数用法
Excel Match 函数用法
1、match 函数
= MATCH ( lookup_value , lookup_array , match_type)
lookup_value 为需要在数据表中查找的数值。可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用
lookup_array 应为数组或数组引用,可能包含所要查找的数值的连续单元格区域。
match_type,为数字 -1、0 或 1, 指明 Microsoft Excel 如何在 lookup_array 中查找 lookup_value。
示例:
2、index 函数
= INDEX ( array , row_num , column_num )
array 为单元格区域或数组常量
row_num 数组中某行的行序号,函数从该行返回数值。如果省略 row_num,则必须有 column_num。
数组中某列的列序号,函数从该列返回数值。如果省略 column_num,则必须有 row_num。
多与MATCH函数连用
示例:
Index + Match 函数用法
Excel 函数公式里,VLOOKUP是经典的查找引用函数。
CP组合INDEX+MATCH,操作上更灵活,很多时候能替代VLOOKUP。
举例,你有一份客户资料表,包括客户名称、区域、省份等。
现在需要在销售明细表里,填入客户名称,自动输出对应的区域、省份。
效果图如下:
怎么操作?可以通过VLOOKUP函数实现,不过IT之家下面讲解的案例,主要采用INDEX+MATCH。
首先看下各个函数的基本含义,以及通俗语法。
1、INDEX函数:返回表中的值。
=INDEX(在哪儿找,第几行)
2、MATCH函数:返回指定数值在指定区域中的位置。
=MATCH(找谁,在哪儿找,匹配方式)
3、VLOOKUP函数:纵向查找返回表中的值。
缺点:查阅值需要位于查找区域的第一列。
=VLOOKUP(找谁,在哪儿找,第几列,匹配方式)
下面看看销售报表案例里,INDEX+MATCH嵌套函数的写法。
A3处的公式如下
=INDEX(G:G,MATCH(C3,H:H,0))
这是一个嵌套函数,先计算MATCH函数,再将结果作为参数,计算INDEX函数。
首先,MATCH在H列查找匹配,结果为4,即C3的值在H列里位于第4行。
然后将MATCH的结果4作为参数,INDEX在G列查找返回结果G4“广东”。
在销售明细表里,把这个公式往下拉,那么每次输入客户名称,就会自动输出客户所在省份。这样可以避免手动输错的问题,也能节省一些时间。
同样的案例,用VLOOKUP函数怎么写?需要将案例中的G列、H列顺序对调,保证要查找的客户名称列,在查找区域首列。
A3处的公式如下。
=VLOOKUP(C3,G:H,2,0)
如果销售表、客户表不在同一张表里呢?很简单,公式前加入“工作表名称!”即可,如下。
=INDEX(客户!C:C,MATCH(D2,客户!D:D,0))
报表里还有一个非常重要的功能:数据验证(早期Office版本里叫数据有效性)。有什么作用?可以规范输入的数值格式,同时,还能提供下拉框来选择输入数值。
如果输入的数值不符合规定,则弹窗提示无法输入。本案例中,就能避免出现“中国联通”“联通”“联通公司”这样的多种写法。当多人维护同一份表格,再也不怕大家乱输数值了。同理,品名规格列也可以做数据验证。
操作路径:销售表里全选D列,菜单栏-数据-数据验证,允许选择“序列”,来源输入下面的公式。
=OFFSET(客户!$D$2,,,COUNTA(客户!$D:$D)-1)
公式含义:销售表里的客户名称列,只能输入客户表里已记录的客户名称。注意要加入绝对引用符号“$”,保证参数数值不变。
参考推荐:
Excel 多条件判断函数 IF、IFS、Choose 用法详解
MySQL 中 distinct 和 group by 性能比较
MySQL中distinct和group by过滤删除重复行
MySQL 中 insert ignore into, replace into 用法总结
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2020-07-28 05:47:58
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!