您的位置: 网站首页> IT爱问> 当前文章

index函数、match函数及两者嵌套

老董2022-12-08154围观,107赞

  本站站长擅长用python自动处理excel,请多关注本站。

  部落窝教育excel教程:INDEX和MATCH函数实战应用分享

   第一,MATCH函数用法介绍

  MATCH函数也是一个查找函数。MATCH 函数会返回匹配值的位置而不是匹配值本身。在使用时,MATCH函数在众多的数字中只查找第一次出现的,后来出现的它返回的也是第一次出现的位置。

    MATCH函数语法:MATCH(查找值,查找区域,查找模式)

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

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

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

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

    第二,INDEX函数用法介绍

  INDEX函数的功能就是返回指定单元格区域或数组常量。如果同时使用参数行号和列号,函数INDEX返回 行号和列号交叉处的单元格中的值。

    INDEX函数语法:INDEX(单元格区域,行号,列号)

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

  =INDEX(A1:C6,2,3),意思就是返回A1:C6中行号是2 列号是3 ,即第二行与第三列的交叉处,也就是C2单元格的值,为84。

    第二部分:INDEX和MATCH函数应用案例介绍

   下图工作表所示的是一个产品的型号和规格的价格明细表。通过这个表的数据,进行一些对应的查询操作。

  第一,单击B5单元格下拉按钮,选择型号,然后在B6单元格完成型号所在行号的查询。如下图所示:

  随意选择一个型号,比如A0110,然后在B6单元格输入公式:=MATCH($B$5,$D$4:$D$12,0),得到结果1。

  公式解释:用MATCH函数查找B5单元格这个型号在D4:D12区域中对应的位置。其中的0参数可以省略不写。MATCH函数中0代表精确查找,1是模糊查找。

  第二,单击B9单元格下拉按钮,选择规格,然后在B10单元格完成规格所在列号的查询。如下图所示:

  随意选择一个规格,比如101,然后在B10单元格输入公式:=MATCH(B9,E3:G3,0),得到结果1。

  第三,查询B6和B10单元格所对应的价格。

  价格的查询,可以使用index函数完成,输入公式:=INDEX(E4:G12,B6,B10)可以得到结果为78。嵌套上面的match函数,可以将公式改为:=INDEX(E4:G12,MATCH(B5,D4:D12,0),MATCH(B9,E3:G3,0))。大家可以变化C3中的型号来看看结果是否正确。

    通过下面工作表的源数据,利用index函数实现行列汇总查询。

  INDEX函数的帮助文件知道,如果将 row_num 或 column_num 设置为 0,函数 INDEX 则分别返回整个列或行的数组数值。通过用法说明,来实现上图的行列汇总。

  首先,单击C3单元格下拉按钮,选择数据,比如选择A0111,然后在C4单元格进行C3单元格对应的行号查找,公式为:=MATCH(C3,E2:E10,),得到结果为2,说明A0111在E2:E10区域的第二行。

  然后对行号所对应的价格进行汇总求和。在C5单元格输入公式:=SUM(INDEX(F2:H10,MATCH(C3,E2:E10,),))

  如果选中公式中的INDEX(F2:H10,MATCH(C3,E2:E10,),)部分,按下F9键,执行结果是{80,97,84},可以看到就是对第二行的数据进行求和。

  同样的方法,可以进行列汇总,在C9单元格输入公式:=SUM(INDEX(F2:H10,,MATCH(C7,F1:H1,)))。

  说明:查找行号和查找列号,只是过渡一下,帮助新手朋友加深对match函数的理解和使用,对熟悉的朋友,可以直接在行汇总一步完成公式的输入。

   根据下面的工作表,进行区域汇总求和。

  首先,分别在开始行号、结束行号、结束列号、结束列号选定需要求和的区域,比如A0110、A0111、201、301。此题可以套用下图的格式进行求和。

  因此,在C20单元格输入求和公式:=SUM(INDEX(F16:H24,MATCH(C16,E16:E24,),MATCH(C17,E16:E24,)):INDEX(F16:H24,MATCH(C18,F15:H15,),MATCH(C19,F15:H15,)))

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会

文章评论

    index函数、match函数及两者嵌套文章写得不错,值得赞赏

站点信息

  • 网站程序:Laravel
  • 客服微信:a772483200