Excel 2007查询操作中的函数应用
2007-08-06 22:02:24 来源:WEB开发网图5
这里用到了两个函数,INDEX和MATCH。先说说这个MATCH(A3,第1次!$B$1:$B$92,0)。它的意思是在“第1次”工作表的B1:B92单元格区域中查找A3单元格数据,然后返回该数据在B1:B92单元格区域中的行数。以本例而言,该公式返回的结果是“2”。这一点,只要看一下图1所示工作表就清楚了。至于该公式中最后一个参数“0”是要求精确匹配,而且使用该参数时,B1:B92单元格区域不需要排序。
再来看这个INDEX函数。它的用法是INDEX(参数1,参数2,参数3)。参数1是要查找的区域。参数2是行数,参数3是列数。比如公式INDEX(A2:C6,2,3)的意思就是要返回在A2:C6这个区域中第二行第三列的数据,即C3单元格的数据。所以,本例中公式的意思就是返回“第1次”工作表A1:I92单元格区域中第二行第一列的数据,呵呵,那不正是该同学所在的班级嘛!
与VLOOKUP函数相比较,INDEX函数的“限制”要少一些。
三、OFFSET函数
其实,我们还可以使用OFFSET函数完成这个任务的。比如我们要查A3单元格同学在第二次考试中的总分。那么只需要点击E3单元格,并输入公式“=OFFSET(第2次!$A$1,MATCH($A3,第2次!$B$1:$B$92,0)-1,7,1,1)”,回车后并向下复制公式,就可以得到所需要的数据了。如图6所示。
图6
OFFSET函数是以指定的引用为参照系,通过给定偏移量得到新的引用,比如公式“=OFFSET(C3,2,3,1,1)”,它的意思就是返回以C3单元格为基准,向下偏移2个单元格,向右偏移3个单元格处的单元格数据,即F5单元格的数据,数一下就清楚了。
所以本例公式中先由“MATCH($A3,第2次!$B$1:$B$92,0)”得到“第2次”工作表B1:B92单元格中与A3单元格相匹配的数据所在行数(本例结果为2),再减去1正好是它相对于“第2次”工作表A1单元格的向下偏移的行数,而后面的参数“7”,则是该同学的总分成绩所在单元格相对于A1单元格的向右偏移量。因此,本例中在E3单元格的公式其实就是“=OFFSET(第2次!$A$1,1,7,1,1)”,其意思就是返回“第2次”工作表中相对于A1单元格下移一行右移7行处单元格数据。
好了,这三个查找引用函数的用法应该算说清楚了吧?只要我们认真研究它们的用法,相信会有很多妙用的。
更多精彩
赞助商链接