Excel技术 | 数据有效性8:使用Excel表创建动态级联列表

Excel表能够创建结构化引用,并且在表中增加或删除行时,数据会自动调整。在Excel工作表中,选取数据单元格,单击“插入”选项卡中的“表”即可创建Excel表。

下面,我们使用Excel表中的数据来创建级联列表。

如下图所示的“数据信息”工作表,创建了两个表,即区域A1:B10和D1:D4。注意,数据必须按“班级”排序。

命名单元格区域

在“数据信息”工作表中,命名区域及名称如下:

  • 将单元格A1命名为“班级类”

  • 将单元格区域A2:A10命名为“班级名称”

  • 将单元格区域B1:B10命名为“学生数据”

  • 将单元格区域D2:D4命名为“班级列表”

调出“名称管理器”,可以看到定义的名称都指向了表名,当在表中添加或者删除行时,这些命名区域将自动调整。

创建班级下拉列表

打开一个新的工作表,将其命名为“创建下拉列表”。

在“创建下拉列表”工作表中,在单元格A1中输入“班级”,在B1中输入“学生”,单击“数据”选项卡中的“表”,创建一个Excel表。

选择单元格A2,单击“数据”选项卡中的“数据有效性”。在“数据有效性”对话框中,选取“允许”下拉框的“序列”,在“来源”框中输入公式:

=IF(B2="",班级列表,INDEX(班级名称,MATCH(B2,学生数据,0)))

设置完成后的效果如下图:

创建级联下拉列表

选择单元格B2,在“数据有效性”对话框中选择“允许”下拉框中的“序列”,在“来源”框中输入公式:

=OFFSET(班级类,MATCH(A2,班级名称,0),1,COUNTIF(班级名称,A2),1)

设置完成后的效果如下图:

至此,级联列表制作完成!

可以在列A中选择“班级”,列B下拉列表中显示相应班级的学生姓名。当扩展“数据信息”工作表中表的数据时,下拉列表条目会自动更新。

提示:如果列B不为空,则列A中只能选取列B中的数据所在的班级,这个公式为我们展示了一个级联选择技巧。

(0)

相关推荐