二级下拉菜单就好了
先做一个对应表,如下图,我省略了异常大项对应的小项,用甲乙丙丁和字母代替
第一步:在异常大项做数据验证(有的版本叫“数据有效性”)设置
第二步:选中F1:J8,按Ctrl+G,调出定位对话框,定位条件选“常量”
第三步:公式,根据所选内容创建,确定;
第四步:选择B列,做数据验证(数据有效性)设置,来源处输入=INDIRECT(A2)
效果如下:
这个不难,稍微有点复杂!按照如下步骤来:
假定:
1)你的这个异常类别表假定在单独的一个工作表,叫"异常类别"表好了,在A、B列,数据从A2、B2单元格开始,假定有100行吧(自己可以调整,不过你说只有几十项);
2)然后你在你的工作表(就叫”表一“吧)需要先下拉选择”异常大项“,然后再根据所选择的异常大项目,下拉选择所对应的异常小项,假定在单元格A2、B2;
步骤:
1)在”异常类别“表的C1单元格输入”辅助列“:
2)在”异常类别“表的C2单元格输入公式:=IFERROR(INDEX($B$2:$B$101,SMALL(IF($A$2:A$101=表一!$A$2,ROW($A$2:$A$101)-1,4^8),ROW($A1))),""),然后选定此单元格并按F2按钮,然后再按Ctrl+Shift+Enter/回车三键,直至公式首尾出现{ };
3)选定此单元格并向下拖动填充柄填充公式直到第C101单元格;
4)选定C2:C101单元格区域,按Ctrl+F3按钮,点击 新建...按钮,名称输入ABC,最下面输入公式:=OFFSET(异常类别!$C$2,,,100-COUNTBLANK(异常类别!$C$2:$C$101)),点击确定;
5)选定”表一“B2单元格,然后菜单 数据-->数据工具-->数据有效性(选择 数据有效性...),然后在上面“允许”选择“序列”,“源”那里输入公式:=ABC,点击确定。搞定!
在数据有效性范围中输入
=OFFSET(C$1,(ROW(A1)-1)*4,,4,)
写代码可以实现