现在来说下具体是怎么实现的,右侧的表中每个年级对应着相应年级的班级,首先要实现的就是让班级包含在对应的年级中,比如,我一说“四年级”,就得知道包含着4.1班和4.2班,而不会出现其它班级。这里,用到的就是“公式”选项卡中的“定义的名称”功能。
这个功能说白了就是给一些数据命个名字,当提到这个名字的时候,我们就知道对应了哪些内容。我们得先让各班级归属到相应年级当中,这里使用的是“根据所选内容创建”,意思是从选择的区域中,选择数据来命名,点击后弹出如下对话框。
选择“首行”就说明首行的数据作为我们所命的名字,其下面的数据都是它所对应的内容。
这样,我们就让一年级对应1.1,1.2,1.3,1.4,1.5,二年级对应2.1,2.2,2.3,等等,依此类推。大家可能注意到上面的演示中,选择区域的时候把多余的空值给去掉了,这是因为,如果存在空值的话,下拉列表中也存在空值,影响使用,采用的方法就是CTRL+G,弹出定位条件,选择“常量”,这样就只选择有内容的单元格了。
接下来,就要进行下拉列表的制作了,年级列的下拉列表跟平时的方法一样创建就行,当选择年级之后,班级的下拉列表就要随之发生变化,因此班级列下拉列表的制作需要注意下,“数据验证”里“来源”用到了INDIRECT函数。
先来说下INDIRECT函数,它的语法规则是:INDIRECT(引用区域,引用格式)
一般引用格式都默认空着就行,实际常常使用的是INDIRECT(引用区域)
这个引用区域要注意,往往是某个单元格,加引号和不加引号的意思是完全不同的,这个一定要记住。
比如:INDIRECT(“A1”)得到的是单元格A1中的值;
INDIRECT(A1)得到的是单元格A1中的值所对应的内容。
明白了二者的区别后,我们进行分析,在我们选择年级之后,我们希望在班级的单元格中,出现所选年级所对应的的班级,比如我选择“一年级”后,就希望班级单元格中出现的是一年级对应的班级,因此班级单元格下拉列表选项的“来源”应该是 INDIRECT(年级所在的单元格),即是不加引号,详细的演示如下。
为了方便大家的学习,我把每篇文章的实例都做了配套视频,以后会陆续发布,欢迎大家的持续关注!