0
点赞
收藏
分享

微信扫一扫

INDEX搭配MATCH,近似查询实力强!

大家好,今天我们来试着解决一下“近似查询”的案例。


如下图所示

A列B列是各省的销量数据,我们想要在C列对销量数据做一个评价。评价规则是这样的:销量大于等于0小于300时,评价显示“差”;销量大于等于300小于500时,评价显示“一般”;销量大于等于500小于800时,评价显示“良好”;销量大于等于800时,评价显示“优秀”。


以前我们讲解过几种方法。最普通的莫过于IF函数条件判断嵌套法了,但是如果条件太多的话,会嵌套好几层,效率低且思维绕,基础知识掌握不牢的小伙伴会感到非常的头疼。


INDEX搭配MATCH,近似查询实力强!_升序


今天我们尝试使用INDEX搭配MATCH函数解决此类问题。


首先我们先来准备一下评价规则对照表,注意这里有一个前提:查询区域首列,也就是对照表E列的销量值必须以升序排序,否则后面使用函数时就混乱了。如下图所示:


INDEX搭配MATCH,近似查询实力强!_Excel_02


接下来我们在C2单元格输入函数公式

=MATCH(B2,E$3:E$6)


MATCH函数就是查找值在区域中的位置,结果返回为一个数字。


函数结构:

=MATCH(查找值,查找区域,查找类型)


第1参数是查找值,它可以是一个单元格、文本、数值或引用,甚至可以是一个单元格区域。

第2参数查找区域,是要进行查询的连续的单元格区域,或一个数组及列表。

第3参数查找类型,它包含两种情况3个特定值:

第1种情况是精确查找,参数值为0,即查找列表中完全相同的值的位置;

第2种情况是近似查找,参数值可设置为1或-1,分别表示查找列表中小于或等于查找值的值位置,以及大于或等于查找值的值位置。


MATCH函数前两个参数必须填写,第三个参数可以省略,省略后默认值为1。


本例中MATCH函数省略第3参数,表示在E3:E6这个区域中查找小于或等于B2单元格的最大值,也就是小于等于100的最大值。在E3:E6本区域中,未曾出现过100这个数值,在“0,300,500,800”四个数值中,小于等于100的最大值只有数字“0”了。最后返回数字“0”在“0,300,500,800”中的位置为1。


INDEX搭配MATCH,近似查询实力强!_数据_03


我们继续在外面嵌套INDEX函数

=INDEX(F$3:F$6,MATCH(B2,E$3:E$6))


INDEX函数的作用是引用区域中指定行列交叉位置的值。


函数结构

=INDEX(引用区域,行序号,列序号)


本例中INDEX函数根据上一步中MATCH函数得到的位置1作为第2参数行序号,也就是查询F3:F6中,第1行,第1列(省略第3参数,第1列与F3:F6列重合了)交叉位置的值“差”。


INDEX搭配MATCH,近似查询实力强!_升序_04


举报

相关推荐

0 条评论