加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

excel中match结合index进行查询的方法

(2013-12-23 09:29:32)
标签:

excel

match

index

查询

技巧

分类: IT

MATCH函数也是一个查找函数。MATCH 函数会返回匹配值的位置而不是匹配值本身。在使用时,MATCH函数在众多的数字中只查找第一次出现的,后来出现的它返回的也是第一次出现的位置。
  MATCH函数语法:MATCH(查找值,查找区域,查找模式)
  可以通过下图来认识MATCH函数的用法:

http://s9/mw690/001EG9V7ty6Fd9V9RxKe8&690

 

  =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函数的用法:

http://s13/mw690/001EG9V7ty6Fda0kUmU4c&690

 

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

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

http://s10/mw690/001EG9V7ty6Fda9Ebc5e9&690

 

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

 http://s1/mw690/001EG9V7ty6Fdab0AO4e0&690

  随意选择一个型号,比如A0110,然后在B6单元格输入公式:=MATCH($B$5,$D$4:$D$12,0),得到结果1。
  公式解释:用MATCH函数查找B5单元格这个型号在D4:D12区域中对应的位置。其中的0参数可以省略不写。MATCH函数中0代表精确查找,1是模糊查找。
  第二,单击B9单元格下拉按钮,选择规格,然后在B10单元格完成规格所在列号的查询。如下图所示:

 http://s4/mw690/001EG9V7ty6FdaeLJqr03&690

  随意选择一个规格,比如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函数实现行列汇总查询。

http://s9/mw690/001EG9V7ty6Fdaoehjq88&690

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函数的理解和使用,对熟悉的朋友,可以直接在行汇总一步完成公式的输入。
  根据下面的工作表,进行区域汇总求和。

http://s11/mw690/001EG9V7ty6FdarkeOS1a&690

 

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

http://s1/mw690/001EG9V7ty6FdasMtVK30&690

 

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

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有