饶奇兰
摘要:文章通过介绍Offset函数的语法规则,并结合具体的应用实例,对Offset函数在教师监考查询表中的数据批量查询功能进行详细讲解,通过使用Offset函数,可以帮助监考教师最快获取自己的监考信息,同时能提高教务人员的工作效率,并能确保数据的可靠性。
关键词:Offset函数;数据处理;批量查询;教师监考信息管理
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2021)10-0257-02
1 引言
每一学期学校都将进行各种考试,比如:期中期末考试,时间间隔长,监考信息量大,每位监考教师的监考场次多,如果想要在电子版监考表中很快查找到自己的监考信息,需要通过Excel中常用的“查找”功能来进行,一方面耗时,另一方面也不能立马查找到自己所有的监考信息,所以监考教师大多会选择人工纸质版的表格查询并记录,不仅浪费时间和纸张,同时信息容易出错,另外如果有特殊情况需要跟其他教师调换监考也需要查找对比大量数据,不仅效率低下,而且耗时耗力。
如果能够进行批量查询(又称“数据匹配”),则可以解决问题。在Excel中,我们要实现通过查找监考教师姓名,找到对应的监考信息,因为需要提高制作查询表的简便快捷,所以我们采用Offset函数使用查找教师监考信息,这样可以在最短的时间内查找到所有监考教师的监考信息,这样既可以帮助监考教师快速查询到自己和别人的所有监考信息,同时也提高了教务人员的工作效率,极大提高了数据的完整性与可靠性。
2 功能简介
Offset函数:
offset函數是以指定的引用为参考系,通过上下左右偏移得到新的区域的引用。返回的引用可以是一个单元格也可以是一个区域。并且可以引用指定行列数的区域。如果行数和列数偏移量超出工作表边缘,函数 OFFSET 返回错误值 #REF!。下面介绍她的语法和参数用法。
offset函数的语法表达式的语法形式为;
OFFSET(reference,rows,cols,height,width)
用通俗易懂的方式可以表示为:
offset(起始区域,向下偏移行数,向右偏移列数,返回的行数,返回的列数)
(1)Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值#VALUE!。(2)Rows相对于偏移量参照系的左上角单元格,上(下)偏移的行数,行数可为正数(代表在起始引用的下方)或负数(代表在起始引用的上方)。(3)Height高度,即所要返回的引用区域的行数。Height 可以为负,-x表示当前行向上的x行。(4)Width宽度,即所要返回的引用区域的列数。Width 可以为负,-x表示当前行向左的x列。
3 offset函数应用实例
为了能快捷查出每一个教师的监考情况,同时简化数据实现过程,我们使用OFFSET 函数来帮助我们实现,现以监考表查询内容为例,探讨OFFSET函数的具体应用(因本文主要是为了说明函数的使用,故数据做了简化处理)。
首先,在EXCEL Sheet1和Sheet2工作表中先分别创建监考表以及监考教师名单,比如三天的监考信息情况表,表中有时间,班级,科目,学号,份数,考场,监考教师,每天3场监考,以下为部分截图,表的名称为监考信息表,如图1所示,现要查找监考教师的每天的监考信息,则需要找监考教师的姓名作为查询对象,所以放到表的第一列中。
其次,以上两个表格建好后,在Sheet3工作表中开始建立监考查询表如图3。图3监考查询表中D2单元格采用数据验证,数据来源图2中的教师监考名单中的数据。C6单元格中输入公式,函数的参数设置情况如图4所示,数据来源为图1中的教师监考表。
图3中C6单元格的公式为:
{=OFFSET(Sheet1!$A$1,SMALL(IF($D$2=Sheet1!$A$2:$A$302,ROW(Sheet1!$A$2:$A$302),60000),ROW(Sheet1!A1))-1,COLUMN(Sheet1!A1))}
D2单元格值为刘贤敏,上图为查找刘贤敏老师的监考信息,当C6单元格公式输完后,使用向右和向下复制填充公式将返回表Sheet1中与D2单元格内容相匹配的单元格数值,即返回表Sheet1中第195行和第300行的刘贤敏老师的监考信息,监考查询表将依次排列刘贤敏老师在整个考试期间的所有监考信息。现以图3查找监考教师刘贤敏为例,对以上公式进行解析:
1)IF($D$2=Sheet1!$A$2:$A$302,ROW(Sheet1!$A$2:$A$302),60000),这个表达式意思是:D2单元格值为刘贤敏,则将在Sheet1工作中查询刘贤敏老师的监考信息,如果Sheet1工作表中A2:A302区域查找到刘贤敏老师的监考信息的那条记录,就返回这条记录的行号,反之则就返回60000这个数值,查询结果为只有第195行和第300行是刘贤敏老师的监考信息,其他行不是,所以返回的结果为行号195、行号300和60000的数组,即{60000,60000,…,195,60000,…300,60000,…,60000},因行数总共为302行,除去标题,所以返回的结果共301个数值组成的数组。
2)SMALL(IF($D$2=Sheet1!$A$2:$A$302,ROW(Sheet1!$A$2:$A$302),60000),ROW(Sheet1!A1), 这个表达式意思是SMALL函数将上述行号,和60000组成的数组进行由小到大的排序,所以此步骤表达式结果排序后结果为:{195,300,60000,…,60000}。
3)OFFSET(Sheet1!$A$1,SMALL(IF($D$2=Sheet1!$A$2:$A$302,ROW(Sheet1!$A$2:$A$302),60000),ROW(Sheet1!A1))-1,COLUMN(Sheet1!A1)),这个表达式意思是,以A1为起始点 ,偏移数不包括A1所在的行,所以向下偏移行数为行号减一,向右偏移A1的列,因为是数组,所以上述按表达式需要按 ALT+CTRL+ENTER 返回区域所对应的第一个数值。图3中查询结果将显示第195行和第300行的数据,所以第2表达式结果为以A1为起始点,向下偏移194行,再向右偏移1列,所以C6单元格返回的结果为: Sheet1工作表中第1列7月23日的日期;将此公式向右复制填充,图4中D6单元格公式将把未锁定的A1变为第二列B1,则结果返回的值将为Sheet1工作表中第195行的第2列班级信息,依此类推。将C6单元格公式向下复制填充,图4中C7单元格将返回第300行的数据,即结果为以A1为起始点,向下偏移299行,再向右偏移1列,所以C7单元格返回的结果为: Sheet1工作表中第1列7月24日的日期;將C7单元格向右复制填充,图4中D7单元格公式将把未锁定的A2变为第二列B2,则结果返回的值将为Sheet1工作表中第300行第2列班级信息,以此类推。结果为60000的对应的是空单元格。
使用函数offset函数查询到的结果是没有边框线的,为了能够更直观看到自己的监考信息,所以有数据时画边框线,无数据时不画边框线,这种效果可以通过条件格式来设置;当数据出现零时,如果不想让零显示,可以通过EXCEL选项中高级选项来设置,具体细节不再阐述。
4 结语
本文以教师监考查询表为例,讲解了监考查询表的制作过程以及offset函数在监考查询表中的具体应用,通过offset函数的运用,可以快速帮助监考教师在教师监考查询表能快速查找到自己和别人的监考信息,同时能提高教务人员的工作效率,并能确保数据的可靠性。
参考文献:
[1] 鲁翠柳.OFFSET函数在“数据有效性”中的应用[J].电脑知识与技术,2010,6(30):8515-8516.
[2] 周红晓.Excel函数在数据有效性设置中的应用[J].电脑学习,2009(5):32-34.
[3] 周洪林.EXCEL函数高级应用[J].福建电脑,2009,25(2):179-180.
【通联编辑:王力】