在Excel中用数据有效性制作的下拉列表通常是静态的,即下拉列表中的内容不会发生改变。但有时我们需要创建一个动态下拉列表,让列表中的内容随着某个单元格值的改变而发生改变。例如下图中,当C11单元格中的内容为“办公外设”时,D11单元格中的下拉列表为相应的办公外设产品。
?????
????????????????????? ?图一
??? 当C11单元格中的内容为“数码产品”时,D11单元格中的下拉列表为相应的数码产品。
?????
??? 下面以Excel 2003为例来介绍其制作过程:
??? 1.首先在工作表中准备一个类似图一A1:D8区域中的产品名称列表,其中第一行为列标题,注意第一列中包含了B:D列的列标题名称。
??? 2.选择A1:D8区域,单击菜单“插入→名称→指定”,弹出“指定名称”对话框,仅选择“首行”,单击“确定”。
???
??? Excel将自动创建4个名称,分别为“办公外设”、“产品类别”、“家电产品”和“数码产品”。单击名称框右侧的下拉箭头可以看到这4个名称。
???
??? 3.选择C11单元格,单击菜单“数据→有效性”,弹出“数据有效性”对话框,在“允许”下方的下拉列表中选择“序列”,在“来源”下方的文本框中输入公式:
??? =产品类别
?????
??? 单击“确定”按钮。这时C11单元格中已包含了一个下拉列表,单击C11单元格右侧的下拉箭头,任意选择一个产品类别,使C11单元格不为空。这一步十分重要,否则会在下面的步骤中出现错误。
??? 4.选择D11单元格,单击菜单“数据→有效性”,弹出“数据有效性”对话框,在“允许”下方的下拉列表中选择“序列”,在“来源”下方的文本框中输入公式:
??? =INDIRECT(C11)
???
??? 单击“确定”按钮关闭对话框。至此完成动态下拉列表的制作,当我们在C11单元格中选择不同的产品类别时,D11单元格会出现相对应的下拉列表。
……