资源描述:
《excel制作二级下拉菜单全过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Excel表格制作二级下拉菜单全步骤感谢sou6的投递时间:2011-12-15来源: 通过2级菜单,倒是可以比较深入熟悉INDIRECT,INDEX,OFFSET,这三个函数,是你要想学excel函数,估计你肯定过的关。 在论坛里看帖子,有一点比较累,很多都是直接用excel文件里做说明,你需要下载文件。我这里就全部用图来说明。 不过二级菜单的第一级的做法,都是相同的,大家可以参考上面的文章创建一个一级菜单。 第一种做法:使用函数INDIRECT 看看例子 很明显,我们希望在一级选择机房故障,那么2级就出现他下面的列表。 要实现这个目标并不复杂。 1:建立“名
2、称 3个一级选项,我们需要建立3个“名称”:机房故障线路故障用户端故障。 这个时候,你就创建了3个名称 还需要建立一个名称,叫做“故障类型”这个名称包括“机房故障线路故障用户端故障”这3项。这个时候,你就可以在“名称管理器”看到4个名称 2:创建1级菜单 1级菜单的办法就简单了 这样就解决了一级的下拉菜单。 3:2级菜单 这个地方你需要注意,=INDIRECT($F2) 如果你写成=INDIRECT($F$2), 如果是这样的话,你确定会出现一个报错 这个时候,你就实现了2级菜单 第二种做法:使用函数INDEX 还是上面的例子,用另外一种方式来实现。这个
3、例子里,你只需要建立2个名称。 1:建立名称 建立:故障类型名称,方法和上面一样。 建立:2级 名称 创建上面两个名称。 2:创建下拉菜单 第一下拉菜单和上面一样,我就不重复了,现在是演示第二级下拉菜单 =INDEX(二级,0,match(I$2,故障类型,0)) 这样你就搞定2级菜单里。 第三种做法:使用函数OFFSET 学这个offset函数半天,才搞定。现在只是可以实现这个功能。不过还有需要改进的地方 还是上面的例子, =OFFSET(A2,,MATCH(L2,故障类型,)-1,6,1) 这样也是可以实现2级的下拉菜单。 以上的方式其实是不太完
4、善的,因为我们的2级菜单刚好都是6项,那么如果是不等的,那你就只能取最多的。 完善的做法,当然是动态的,根据2级菜单的数量来显示。需要解决的问题,就是如果动态计算出每项2级菜单的数量。 2级菜单数量=COUNTA(OFFSET(A:A,,MATCH(L2,故障类型,0)-1))-1 那么我们的公式就变成 =OFFSET(A2,,MATCH(L2,故障类型,)-1,COUNTA(OFFSET(A:A,,MATCH(L2,故障类型,0)-1))-1,1) 这样就更加完美。 把excelhome的论坛关于下拉菜单的贴看了不少。发现实现2级的下拉菜单的方法好像也有好几种,我想
5、我就做一个总结,自己也提高一下。另外一些方法 制作一级菜单: 以选择性别为例,制作有男、女选项的下拉菜单: 选中“性别”数据区域; 执行“数据/有效性”命令,打开“数据有效性”对话框; 单击“设置”选项卡,在“允许”栏选择“序列”,“来源”中输入“男,女”(不含引号,用英文单引号分隔); 单击“确定”按钮。 “在下拉菜单中选择一个值之后能同时在另一个单元格里对应出一个数值或是文字”,这要根据实际情况再加工的哦! 制作二级下拉菜单: 设置“数据”表 A列B列 部门员工 A张三李四 B王二郑大 C刘一王五 D初一赵钱 …… 命名: 选中A列,在“名
6、称框”中输入“部门”,回车确认。 选中B列,在“名称框”中输入“员工”,回车确认。 (名称框位置:“名称框”在标题栏、工具栏下方的空白域,就是当你的鼠标放在任一单元格时,在表格的上方一栏都会显示“A-Z多少列”空白区,当你的鼠标放在指向上面时,就会显示“名称框”。) 在“菜单”表制作下拉菜单: 制作一级下拉菜单 选中A1:B1单元格区域; 执行“数据/有效性”命令,打开“数据有效性”对话框; 在“设置”选项卡下,“允许”选择“序列”、“来源”中输入“部门,员工”(不含引号,用英文逗号分隔); 选中“忽略空值”、“提供下拉箭头”,单击“确定”按钮,完成一级下拉菜单制
7、作。 此时在A1、B1中,单击右侧的下拉按钮进行选择输入。 制作二级下拉菜单 从A2单元格起向下选中单元格区域; 执行“数据/有效性”命令,打开“数据有效性”对话框; 在“设置”中,“允许”选择“序列”、“来源”中输入公式“=INDIRECT(A$1)”;(注:OFFICE2007与以前的版本不一样) 选中“忽略空值”、“提供下拉箭头”,单击“确定”按钮,完成“部门”的二级菜单制作。 同法制作“员工”的二级菜单。此时“来源”中输入公式“=INDIRECT(B$1)”