龙空技术网

MATCH函数,用于查找匹配值第一次出现的位置

VBA语言専攻 627

前言:

当前小伙伴们对“match函数c语言”都比较珍视,大家都需要知道一些“match函数c语言”的相关文章。那么小编同时在网络上收集了一些有关“match函数c语言””的相关资讯,希望大家能喜欢,各位老铁们一起来了解一下吧!

在前面的文章中十分详细和透彻地讲解了VLOOKUP函数的意义和用法,同时又引申地讲解了此函数的高级应用,当然用到了数组的概念。VLOOKUP函数是查找函数,查找到了固定的值。今日给大家讲的MATCH函数也是一个查找函数,但和VLOOKUP相比,有不同点,也有相同点。最大的不同是返回的内容不同,究竟有什么不一样呢?我下面给大家详细地分析讲解。

MATCH函数也是一个查找函数,是EXCEL主要的查找函数之一。需要注意的是MATCH 函数会返回匹配值的位置,而不是匹配值本身。在使用时,MATCH函数在众多的数字中只查找第一次出现的位置。这个函数也是十分有用的函数。在下篇文章中我将介绍这个函数和INDEX函数的组合应用,组合后相当于VLOOKUP。

该函数有着自己的特点,通常用于

(1) 确定列表中某个值的位置;

(2) 确定某值是否存在某个列表中;

(3) 判断某列表中是否存在重复数据;

(4) 定位某一列表中最后一个非空单元格的位置。

需要注意的是:查找文本值时,函数 MATCH 不区分大小写字母。

语法:MATCH(lookup_value, lookup_array, match_type)

语法解释:MATCH(查找值,查找区域,查找模式)

参数的讲解:

1 lookup_value:需要在数据表(lookup_array)中查找的值。可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。

2 lookup_array:可能包含有所要查找数值的连续的单元格区域。

3 match_type:表示查询的指定方式,用数字-1、0或者1表示,match_type省略相当于match_type为0的情况。

为1时,查找小于或等于lookup_value的最大数值在lookup_array中的位置,lookup_array必须按升序排列:为0时,查找等于lookup_value的第一个数值,lookup_array按任意顺序排列:为-1时,查找大于或等于lookup_value的最小数值在lookup_array中的位置。

上面的这段话是十分重要的一段话,它解释了此函数的用法细则,我再给大家做一遍详细的解释:

第一种情况,如果 match_type 为 1,函数 MATCH 将查找小于或等于 lookup_value 的最大数值。Lookup_array 必须按升序排列:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE。

第二种情况,如果 match_type 为 0,函数 MATCH 将查找等于 lookup_value 的第一个数值。Lookup_array 可以按任何顺序排列。

第三种情况,如果 match_type 为 -1,函数 MATCH 将查找大于或等于 lookup_value 的最小数值。Lookup_array 必须按降序排列:TRUE、FALSE、Z-A、...、2、1、0、-1、-2、...,等等。

可以通过下图来认识MATCH函数的用法:

=MATCH(206,C2:C8,0),得到结果为4,返回数据区域 C2:C8 中 206 的位置。

=MATCH(205,C2:C8,1),得到结果为3,由于此处无正确匹配,所以返回数据区域 C2:C8 中(204) 的位置。注:匹配的查找值,MATCH 函数会查找小于或等于(205)的最大值。

=MATCH(204,C2:C8,-1),得到结果为#N/A,由于数据区域 C2:C8 不是按降序排列,所以返回错误值。

当然上面的介绍只是简单地给出了此函数的一般用法规则,还有很多的用法,以后有机会再和大家分享。

今日内容回向:

1 MATCH 函数的语法是怎么规定的。

2 MATCH 函数的第三个参数的值有哪些?

3 当数据的没有排序时是否可以使用MATCH函数?

标签: #match函数c语言