之前已经发过一篇多级下拉菜单的设置方法,到第三或跟多级下拉菜单时,可能会比较麻烦,现在再给大家介绍一种方法,两种方法也可以相互配合使用。还是以之前的表格为例,只是表格的形式做了些修改。
先选择C5,打开数据有效性,其他设置都一样,只是在来源一栏输入公式,然后确定即可:
=OFFSET(INDEX($F$5:$F$11,MATCH(B5,$F$5:$F$11,0)),0,1,COUNTIF($F$5:$F$11,B5),1)
1、OFFSET: offset(reference, row, cols, [height], [width]), offset有3个必选参数和2个可选参数。offset函数是根据参考位置来进行偏移,从而索引到需要的单元格或单元格区域。第一个参数reference就是参考位置。第2,3个参数分别是偏移的行和列,第4,5个参数表示了单元格区域的高和宽。
假如我们商品类别里选择了手机数码,那么我们希望商品名称的有效性数据为手机数码里包含的项。这时我们将第一个手机数码设置为参考位置,那么通过将偏移量设置为偏移0行,1列,就可以找到“手机”那一项。将高和宽分别设置为3和1,就可以将“手机”“存储卡”“移动电源”全部包含到区域内。
这样,INDEX($F$5:$F$11,MATCH(B5,$F$5:$F$11,0))就根据match函数提供的位置找到了参考位置的索引。
我们发现最终的公式里还有一个countif函数,这个函数是统计给定区域内符合条件的值的个数。因为每一个商品目录下商品个数是不同的,所以我们在用offset索引时也要根据商品类型来指定区域的大小,这也是为什么在“手机”“存储卡”“移动电源”这些项前都要加一个”手机数码“的原因,就是为了来统计”手机数码“里包含多少个项。
第二级下拉菜单设置成功后,第三级下拉菜单就好说了。只需要将第二级下拉菜单里用到的那个公式里所有的B5改为C5,所有的单元格区域$F$5:$F$11改为第三极菜单的区域。
后边多级菜单也就比较简单了,方法是一样的。
可能我的表述不是很清楚,尤其是在函数介绍那一部分,还请各位看官多多包涵,感谢您的阅读,请批评指正。
联系客服