1、整理数据源,一级菜单的数据单独放在一列,二级菜单的数据根据一级菜单的选项分为N列,如图
2、批量定义名称。选择第一列一级菜单数据,功能区【公式】,【根据所选内容创建】,弹出对话框,勾选【首行】,【确定】。按照以上步骤依次选择后面每列数据操作,这样就新建了一批按照首行字段名命名的自定义名称,可以通过功能区【公式】,【名称管理器】查看到刚刚定义的名称
3、制作一级菜单。光标定位在要设置一级菜单的单元格H1,依次选择功能区【数据】,【数据验证】,弹出数据验证对话框,【允许】选择序列,勾选【提供下拉箭头】,【来源】输入:=广东省 (此处为刚刚定义的一级菜单名称)。这样一级下拉菜单就做好了
4、制作二级菜单。光标定位单元格H2,依次选择功能区【数据】,【数据验证】,弹出数据验证对话框,【允许】选择序列,勾选【提供下拉箭头】,【来源】输入公式:=indirect(H1) 。这时确定后可能会弹出错误警告框,不必理会直接确定(如果H1单元格此时无数据就会弹出警告框),这样二级菜单也做好了PS. indirect函数可以根据H1单元格中的文本字符串返回引用,当H1单元格值变化时,所返回的引用也会相应的动态变化
5、最后解释一下,第二步用到自定义名称必须注意遵循的命名规则:1. 名称可以包含字母、汉字、数字、以及【_】【.】【?】三种符号2. 名称具有唯一性3. 名称必须以字母或汉字或下划线_作为开头,不能以数字、字母R、字母C作为开头,并且不能像单元格引用,例如,32和A4都不能作为区域名称,由于Excel 2016可以达到16384列,不能使用XFD1之类的区域名称,因为存在一个XFD1单元格4. 名称中不能包含空格。直接定义名称不能包含空格或其他无效字符。如果使用“根据所选内容创建”来创建区域名称,并且名称中包含空格,Excel会插入下划线“_”来填充空格。例如,名称Product 1将被创建成Product_15. 名称不能使用纯数字6. 名称不能包含Excel内部名称,例如:excel中有R1C1引用样式,所以excel名称不能以R,r,C,c作为开头来命名7. 名称字符不能超过255个字符8. 名称中的字母不区分大小写。A和a是一样的,B和b是一样的