美文网首页
Excel公式函数技巧:INDEX()、MATCH()函数查找取

Excel公式函数技巧:INDEX()、MATCH()函数查找取

作者: Excel活学活用 | 来源:发表于2017-02-15 23:08 被阅读367次

在笔者前期系列文章:Excel财务综合应用之一:小型账务系统中,涉及较多的函数、公式的综合应用,现在我就来具体地讲讲它们的使用技巧。今天,我们一起来学习一下INDEX()、MATCH()函数的相结合的具体应用。如果你善于网络搜索的话,也许能找到若干教程,我这里将结合实际应用案例来进一步说明。
首先,我们来看看函数的基本语法,Office帮助是这么说的:

INDEX 函数返回表格或区域中的值或值的引用。
INDEX(array, row_num, [column_num])
INDEX(reference, row_num, [column_num], [area_num])

MATCH 函数在 范围 单元格中搜索特定的项,然后返回该项在此区域中的相对位置。例如,如果 A1:A3 区域中包含值 5、25 和 38,那么公式 =MATCH(25,A1:A3,0) 返回数字 2,因为 25 是该区域中的第二项。
MATCH(lookup_value, lookup_array, [match_type])

Match_type 行为
1 或省略:MATCH 查找小于或等于 lookup_value 的最大值。lookup_array 参数中的值必须以升序排序,例如:...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE。
0:MATCH 查找完全等于 lookup_value 的第一个值。lookup_array 参数中的值可按任何顺序排列。
-1:MATCH 查找大于或等于 lookup_value 的最小值。lookup_array 参数中的值必须按降序排列,例如:TRUE, FALSE, Z-A, ...2, 1, 0, -1, -2, ... 等等。

通俗地讲,通过指定行坐标、列坐标,确定一个值,也就是取出指定行、列交叉处的值。
在前面的小型账务系统案例中,我们在设置凭证打印模板时,需要把指定的凭证数据从明细账中提取出来,比如我们要把某号凭证的第一条分录的摘要信息提取出来

image.png
具体说明
  1. 确定INDEX()函数引用的数据区域,如上图所示为明细账!$A$2:$S$611,这里根据具体情况来设置,简单的来讲,可以设置一个相对较大的区域,只要超过实际的分录条数就可以了。当然也可以定义一个动态名称,随着明细账记录的增加而变动,那样显得“专业”一点,以后再讲动态名称的设置与应用。
  2. 确定行坐标,比如如上图所示12月,记账-004号凭证,第一条分录,如何确定?我们在明细账中设置了字段PrindKey,它是将每条分录的年、月、凭证号、分录号连接起来,得到一个不重复的关键字,我们可以去数一数,看上图所示的分录在明细账数据区域是第N行,这个N就作为INDEX()函数的第一个参数。当然,我们不会真的去数,我们就会用到MATCH()函数来取得有关字段的位置值。
    在凭证打印模板中,年、月、日、凭证号都有了,还差一个分录号,怎么办呢?其实,所谓分录号就是一个序号,每张凭证的所有分录编号从1开始,顺序编号到该凭证的最后一条分录为止。我们使用ROW()函数来产生编号,参数为$B1其他单元格引用也可以,只要从第一行开始就行。
  3. 确定列坐标,同样是用MATCH()函数,根据凭证打印模板中第5行所列示的关键字来查找定位。
  4. 我们在B8单元格中写好公式,INDEX(......),然后再利用ISERROR()函数来去除错误值。
  5. 将公式直接复制到相关单元格。

The End.

相关文章

网友评论

      本文标题:Excel公式函数技巧:INDEX()、MATCH()函数查找取

      本文链接:https://www.haomeiwen.com/subject/ljyxwttx.html