表格中自适应成绩查询系统

菜单式成绩查询
每个学校都会用到成绩查询。常规的查询查询方式是输入待查询对象的相关信息后让系统提取成绩资料。

这种方式有两个缺点:

1.需要录入文字,对于不会打字或者字符录入速度慢者不方便;

2.如果录入了错别字、同音字,则无法查询到正确的结果。

今天教大家一种新的查询方式,不需要录入任何字符就可以查询任何资料。同时因为不需要录入字符,也就避免了错误的产生。

假设图A是学校中所有班级的平均成绩表,其中各系别的学期长度不同,分别有2年、3年、4年,所以中间存在空白区。

图A 平均成绩表

在本例中,“成绩表”中存放所有数据,需要在“查询表”中显示结果。设计查询功能步骤如下:

一:定义名称

1.进入工作表“查询表”,单击A1单元格,选择菜单工具栏中插入名称定义,打开定义名称对话框;

2.在名称处键入“系别”,在引用位置处键入:

“=OFFSET(成绩表!A1,1,,COUNTA(成绩表!A:A)-1)”

然后单击“添加”按钮完成第一个名称的定义过程。

3.继续在名称框中键入“年级”,在引用位置处键入以下公式:

“=OFFSET(成绩表!$A$1,,1,,COUNTA(INDIRECT("成绩表!"&(MATCH(查询表!$A$1,成绩表!$A:A,0)&":"&MATCH(查询表!$A$1,成绩表!$A:A,0))))-1)”

然后单击“添加”按钮,并关闭窗口。

提示:定义名称时当前的活动单元格位置很重要。在本例中需要选择A1再定义名称。

本例中两个公式的含义如下:

1.“=OFFSET(成绩表!A1,1,,COUNTA(成绩表!A:A)-1)”

这个公 式是指以成绩表中A1单元格为参照点,偏移1行、0列(Offset的第二参数和第三参数被忽略时默认值为1),偏移的高度为COUNTA函数所返回的结 果减1,即A列中非空单元格个数减1。这个公式用于自适应系别的增减。当在工作表中添加新的系别如“演艺系”时,公式可以自动将之提取出来

2.“=OFFSET(成绩表!A1,,1,,COUNTA(INDIRECT("成绩表!"&(MATCH(查询表!A1,成绩表!A:A,0)&":"&MATCH(查询表!A1,成绩表!A:A,0))))-1)”

这个公式的功能是根据A1的系别返回其对应的年级。结果是一个包含多单元格引用的数组。如果A1是“文学系”,则本公式产生一个一至四年级的数组。如果A1是“法律系”,则本公式将产生一个一至二年级的数组。

本公式的运算较复杂。可以分段理解。其 中,MATCH函数用来计算“查询表”中A1单元格的系别在“成绩表”中A列中的排位,并将其结果返回给INDIRECT函数转换为行引用。而 COUNTA函数则计算该引用行中非空单元格的个数,此个数控制着年级的数量,使用公式具有自适应的能力。整个公式将会以“成绩表”中A1单元格为参照, 偏移0行、1列,产生一个高度为1(Offset的第四参数和第五参数忽略时默认值为1)、宽度为COUNTA函数返回值的区域引用。

二:生成下拉菜单

为了实现下拉菜单选择条件以查询成绩,需要将前一步所定义的名称套用到数据有效性,产生下拉菜单序列,供用户选择。

1.选择“查询表”中的A1,单击数据有效性,打开“数据有效性”对话框;

2.在“允许”下拉列表中选择“序列”,在“来源”框中输入公式“=系别”,见图B所示。然后单击“确定”按钮返回工作表。

图B 设置数据有效性

3.选择B1单元格,重复步骤1和2,对B1添加数据有效性,其来源的公式为“=年级”。

注意:“来源”框中的公式必须用半角的等号,否则无法得到正确结果。

三:设计成绩公式下拉列表设计完毕后,需要利用一个单元格来显示查询结果。
1.选择C1单元格,输入以下公式:
=INDEX(成绩表!A1:I100,MATCH(A1,成绩表!A:A,0),MATCH(B1,成绩表!1:1,0))&""

本公式中,利用MATCH函数计算A1系别在“成绩表”中A列中的排位,以及计算B1年级在“成绩表”中1行中的排位,然后通过这两个座标返回区域A1:I100中的相应单元格的值。

而公式中的“&""”可以将零值转化为空白。如INDEX引用的区域是空白时,结果会为0,为了将此0值转化为空白,则在公式后面添加“&""”。

四:查询

1.在单元格A1单击,从下拉列表中选择“法律系”,见图C所示;

2.在单元格B1单元,下拉列表中产生法律系对应的两个年级。从中选择“二年级”,在C1单元格将会自动产生查询结果:外语系三年级的成绩84。见图D所示;

3.单击A1选择“文学系”,则B1的下拉列表将产生四个年级;

4.如果在“成绩表”中添加新的系别或者添加年级数,A1和B2的下拉列表将自动更新。

图C 选择系别

图D 选择年级后产生查询结果

总 结:在利用名称配套数甩有效性产生下拉列表时,都利用OFFSET函数的第四参数或者第五参数指定一个区域引用来达成。而为了让公式适应数据的增减,通常 使用COUNTA函数来获取行或者列中的非空单元格个数,做为OFFSET的参数。本例中展示了公式、名称、数据有效性结合的多功能、自适应查询系统。

自动生成查询.rar

(0)

相关推荐

  • WPS表格怎么制作智能成绩查询系统

    WPS表格制作智能成绩查询系统的步骤: 打开一份成绩单表格,如图所示,就是我们平时常见的表格,我们要做的是成绩查询,即要实现输入学号后会自动筛选相对应的信息!为什么输入学号呢?因为学号是唯一的,不可能 ...

  • 学生成绩查询系统小程序(怎么样在微信小程序上查分)

    随着移动互联网的发展,在教育领域信息化水平也在不断提升,主流的媒体工具也给家.校带来了不小的便利,微信就是其中一个;通过微信,老师可以建立班级的专属微信群,有重要信息或考情通知,可以第一时间在微信群里 ...

  • Excel如何制作成绩查询系统

    成绩的查询是一个问题,如何才能有效并且高效的查询到自己的成绩,能够一眼看出自己的排名,这些都可以实现.利用Excel函数进行制作成绩查询系统,让查询成绩变得不再复杂,那么如何制作成绩查询系统呢?一起来 ...

  • 如何用excel制作学生成绩查询系统

    我们用excel可以很容易制作学生成绩管理表,但是这张表可以看到所有人的信息,我们可以用excel制作一个查询系统,学生要输入自己的准考证号才能查询,如果不知道别人的考号是不可以查询别人的成绩. 操作 ...

  • 怎么快速在Excel表格中查找同一查询结果的多列数据

    今天,小编给大家分享快速在Excel表格中查找同一查询结果的多列数据的方法,希望对大家有所帮助.具体如下:1. 首先,请大家在自己的电脑中找到想要进行查找的Excel表格,然后把数据表打开.2.第二步 ...

  • 怎么在WPS表格中给成绩排名

    WPS的功能特别全面,我们越来越多的人习惯用WPS表格来处理一些数据,今天给大家介绍一下怎么在WPS表格中给成绩排名的具体操作步骤.1. 打开电脑后,找到我们需要排名的成绩表用WPS打开,如图.2. ...

  • 如何利用if函数给Excel表格中的成绩进行判定

    我们都会选择用Excel表格记录成绩,但是如果想要给成绩判定合格与否,该怎么操作呢?今天就跟大家介绍一下如何利用if函数给Excel表格中的成绩进行判定的具体操作步骤.1. 打开电脑,找到想要编辑的e ...

  • 如何对excel表格中的成绩进行排序

    我们将成绩输入Excel表格中之后,想要进行排序的话,该怎么操作呢?今天就跟大家介绍一下如何对excel表格中的成绩进行排序的具体操作步骤.总分排序:1. 首先打开电脑,找到想要排序的excel表格, ...

  • 表格中 老师轻松查询学生的各科成绩

    上学的时候,经常到了期末各位同学的家长跑到学校来找老师咨询自己孩子的期末考试情况,老师们也为了应付做了本厚厚的成绩本,一页一页的翻查着,其实利用WPS表格可以相当轻松的解决相关查询问题,免去一天到晚翻 ...