上图所示有效性异表二级下拉列表设置说明:
1、设置一级下拉列表:
上图中黄底红字部分选择,“数据/有效性/设置/允许/序列/来源”选择下图中的烟酒糖茶四个单元格,即将其设置了一级下拉列表。
2、设置二级下拉列表:
1)定义名称:
选中下图中的甲乙丙丁四种烟,”公式/名称管理器/新建/名称“定义为“烟”(也可在左上角“名称框”输入定义),依次定义“酒”、“糖”、“茶”。
2)设置二级下拉列表
上图中绿色部分单元格C2选择,“数据/有效性/设置/允许/序列/来源/=INDIRECT($B2)/确定”,完成二级下拉列表设置,其他单元格复制有效性验证即可。单元格B2、3、4即使上图中黄底红字部分。
Excel中的数据有效性更新是被动式,因此如果你想用公式来实现下拉列表自动更新是做不到的。
最好的做法是利用VBA,打开VBA代码输入窗口之后,在对应的Sheet代码输入窗口中输入以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$4" Then Cells(5, 5) = ""
End Sub
代码中的Target.Address = "" 引号中的内容为Indirect指向的单元格的地址,就是你输入A或者B的那个单元格,然后Cell(x,y)表示你需要自动变成空白的那个单元格,括号中的那两个数字,第一个数字表示行号,第二个表示列号,如单元格E5,对应的行号列号都是5
这样,如果你每次改变单元格D4中的值的时候,单元格E5中的值就会变为空白,然后你可以在单元格E5中设置数据有效性下拉列表,这样如果D4中的值不变,你可以在E5中任意选择你想要的数据,每次D4变化后,E5就会清空,方便你从列表中输入新的选项
由于问题不够具体,只能给你提供解决思路:组合Offset和Match定义名称,数据有效性选择对应名称。
你好,请问你找到方法了吗