大家好,这篇文章跟大家分享一下如何在WPS表格中应用indirect函数制作三级下拉菜单。
首先要准备好制作下拉菜单所需的数据,下图工作表E—K列中列出了本案例中要用到的省份、不同省份下属城市、不同城市下属辖区。我们想实现的效果是:单击工作表A列省份中的任一单元格,单元格右下角的下拉列表按钮中会出现所有省份选项,本案例中,我们假定只有两个省份【广东】和【广西】。同一行中,B列单元格中的城市随着A列中的省份自动进行调整,比如说当A2单元格中的省份设置为【广东】时,B2单元格中的城市只能在广东下属的【广州市】和【珠海市】中进行选择。同理,同一行C列中的辖区在B列中城市辖区中进行选择。当B2单元格显示为【广州市】时,C2单元格中下拉列表选项为:【白云区】、【海珠区】、【越秀区】、【花都区】。
下面我们来看一下具体操作步骤:
1 选中E1:K5单元格区域,同时按ctrl+g组合键调出【定位】对话框,在【定位】对话框中,勾选【数据】下的【常量】,单击【定位】。这样就可以选中E1:K5单元格区域中有内容的单元格。
接下来在【公式】选项卡下,单击【指定】按钮,在弹出的【指定名称】对话框中,在【名称创建于】下面仅勾选【首行】,单击【确定】。
2 选中A2至A7单元格区域,在【数据】选项卡下单击【有效性】按钮,在弹出的菜单中选择【有效性】。接下来会弹出【数据有效性】对话框,在【允许】编辑框列表中选择【序列】,在【来源】编辑框中输入:“=省份”,单击【确定】。此时,我们在A1单元格中单击就可以看到下拉列表中已经出现了【广东】和【广西】两个省份选项。
3 在A2单元格下拉列表中选择【广东】。选中B2:B7单元格区域,按同样的方法打开【数据有效性】对话框。设置【有效性条件】为:【允许】【序列】,在【来源】编辑框中输入:“=INDIRECT($a2)”,单击【确定】按钮。此时,单击B2单元格,在下拉列表中就可以看到【广东】对应的下属城市选项【广州市】、【珠海市】。这里选择【广州市】。
4 选中C2:C7单元格区域,打开【数据有效性】对话框。设置【有效性条件】为:【允许】【序列】,在【来源】编辑框中输入:“=INDIRECT($b2)”,单击【确定】按钮。此时,单击C2单元格,在下拉列表中就可以看到【广州市】对应的下属辖区选项【白云区】、【海珠区】、【越秀区】、【花都区】。这里选择【白云区】。
5 接下来在第3行中进行测试,我们尝试在A3单元格下拉列表中选择【广西】,接着单击B3单元格,在下拉列表中可以看到【广西】下属城市选项【南宁市】和【桂林市】,这里选择【南宁市】。单击C3单元格,下拉列表会出现【南宁市】下属辖区【青秀区】、【江南区】,这里选择【青秀区】。测试正常,说明我们的三级下拉列表已经设置成功啦!
今天的分享就到这里,欢迎大家关注、留言、讨论!