分享

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」

 我的人生宝库 2020-02-28

一、下拉菜单的基础(三种制作方式)

  1. 数据有效性制作下拉菜单
  2. 表单控件之组合框制作下拉菜单
  3. ActiveX控件之组合框制作下拉菜单

二、二级下拉菜单制作

三、三级下拉菜单制作

四、下拉菜单的特殊操作

  1. 多列数据如何设置数据有效性
  2. 如何制作关键字提醒的下拉菜单
  3. 如何制作越选越少的下拉菜单

五、Word中下拉菜单的制作


下拉菜单的基础

一、数据有效性制作下拉菜单

依次找到【数据】→【数据有效性】→【数据有效性(V)…】 → 【设置】序列 → 【设置】来源

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」

数据有效性制作下拉菜单

来源有以下四种:

① 直接引用单元格区域(限制其仅能引用同一工作表中同一列或者同一行的连续区域);

② 引用公式(公式必须是引用某个连续的列(行)区域,支持数组,但不支持内存数组);

③ 使用定义名称(就是把第②项的公式定义成名称,然后引用这个名称,可实现跨表引用数据);

④ 直接输入序列(例如:输入『1,2,3,4,5,6,7』,注:此处只能使用半角逗号分隔,区分大小写)。

小技巧:在直接输入序列的时候,如何在下拉列表中做一个空格选项呢?如果是手动输入序列来源,则用全角状态下的空格;如果是用公式,公式引用的时候多引用一行空白内容即可。

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」

下拉列表中增加空白选项

二、表单控件之组合框制作下拉菜单

依次找到【开发工具】→【插入】→【表单控件】→【组合框】→工作表中画一个组合框 → 设置控件格式 → 【控制】数据来源区域 → 【控制】单元格链接 【控制】下拉显示项数

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」

表单控件制作下拉菜单

注意:使用表单控件的组合框,选择菜单中的某一项后,单元格中得到的内容并非所选择的内容,而是所选择的内容在数据列中所处的位置。(此法常用于制作动态的图表)

三、ActiveX控件之组合框制作下拉菜单

依次找到【开发工具】→【插入】→【ActiveX控件】→【组合框】 → 工作表中画一个组合框 → 右键选择【属性】 → 【ListFillRange】数据来源区域 → 【LinkedCell |】单元格链接 → 【ListRows】下拉显示项数 → 退出设计模式

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」

ActiveX控件制作下拉菜单

用ActiveX控件制作简单的下拉菜单,还可以设置其他的属性,比图控件的大小、位置、风格、字体、颜色等。使用ActiveX控件设置下拉菜单,常用于VBA窗体中,在工作表中用的并不多。


二级下拉菜单制作(使用数据有效性)

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」

二级下拉菜单制作

第二级名称的下拉菜单,用的公式是:

=OFFSET($A$1,1,MATCH($H$1,$A$1:$E$1,)-1,COUNTA(OFFSET($A$2:$A$12,,MATCH($H$1,$A$1:$E$1,)-1)),1)

这里面,用了两个OFFSET函数,第一个是用于获取下拉列表的数据,第二个是用于计算下拉列表中名称的数量,即数据区域的高度,原理是用的OFFSET函数以区域为参照,偏移后的结果。如果不这样设置,下拉列表中将会出现空白行(如下图所示)

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」


三级下拉菜单制作(使用数据有效性)

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」

三级下拉菜单数据

一级菜单【省】的公式:=OFFSET($A$14,,1,1,COUNTA($A$2:$A$13))

二级菜单【市】的公式:=OFFSET($B$1,MATCH($A17,$A$2:$A$13,),,4,1)

三级菜单【区县】的公式:=OFFSET($B$1,MATCH($B17,$B$2:$B$13,),1,1,COUNTA(OFFSET($C$1:$L$1,MATCH($B17,$B$2:$B$13,),)))

最终效果如下:

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」

三级下拉菜单

如果下拉菜单达到了4级、5级甚至更复杂的程度,就不建议用函数公式了,直接用VBA吧。菜单层级太多时,各个层级之间的关系变得复杂了,会用较多的辅助列,实际体验可能不是很好。


下拉菜单的特殊操作

一、多列数据如何设置数据有效性

使用定义名称的形式,将多列数据组成的连续区域,定义成一个名称,然后直接使用定义的名称即可

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」

二、如何制作关键字提醒的下拉菜单

1、关键字可以直接获取连续区域

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」

关键字的数据有效性

由于数据有效性中,引用的区域必须连续,所以必须要求输入的关键字后,得到的区域也是连续的,这点有一定的局限性,要更灵活使用关键字,就需要用到辅助列或VBA,下面我们演示辅助列的方法。

2、关键字不能获取连续区域(辅助列方法)

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」

辅助列实现关键字的下拉菜单

辅助列公式为(数组公式):=INDEX($A$1:$A$65536,SMALL(IF(ISERROR(FIND($C$2,$A$1:$A$12)),4^8,ROW($1:$12)),ROW(A1)))&''

数据有效性公式为:=OFFSET($F$1,1,,SUM(--(LEN($F$2:$F$15)>0)),1)

辅助列的公式为经典的INDEX+SMALL+IF的函数组合公式

3、如何制作越选越少的下拉菜单(辅助列方法)

要实现下拉列表越选越少的下拉菜单,可以用VBA和辅助列的方法,今天我们介绍辅助列的方法:

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」

越选越少的下拉菜单

辅助列公式:=INDEX($A$1:$A$65536,SMALL(IF(COUNTIF($C$1:$C$12,$A$1:$A$12)=0,ROW($1:$12),4^8),ROW(A1)))&''

数据有效性公式:=OFFSET($F$1,1,,SUM(--(LEN($F$3:$F$15)>0)),1)


Word中下拉菜单的制作

关于下拉菜单,你知道的和不知道的,都在这里了「超全收录」

Word中的下拉菜单

另外,还有一些特殊形式的下拉菜单,比如可以直接显示多列的下拉菜单、带复选框的下拉菜单、带单选框的下拉菜单,这些无法通过函数来实现,在这次的分享中,就不再介绍了(文字太多了),以后在分享VBA控件相关知识的时候再介绍吧。

好了,今天就到这里,感谢各位朋友的关注和支持。

如果你喜欢我分享的内容,请点个赞支持下;

如果你觉得我分享的内容对你有帮助,可以关注我;

如果要看我以前分享过的好玩的内容,大家可以去我的主页查看历史文章。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多