这两天学习excel,发现实现同一个功能,你会发现有不同的办法,各自有优点。
下拉菜单,这个是在资料录入的时候,非常有用的功能,这里就只讨论一级下拉菜单,估计这也是用的最多的。以office2007为例,看看你是第几种境界?
第一种境界:我会做下拉菜单
其实做下拉菜单比较简单,使用序列就可以了。
设置下来菜单的区别就在于数据来源,那么你可以直接在来源里直接录入你要下拉的选项。
还有一种办法,就是
看你的需求,选择哪种方式。
第二种境界:使用“名称”
上面的做法,如果自己使用,那是没有问题的,不过感觉不是很正规。正规的做法你应该是对下拉菜单的内容设置“名称”这样看起来好懂很多。
在excel2007里设置“名称”比较简单,
所以你的名称设置的清晰,那么你看起来就很清楚。
第三种境界:窗体控件
通过窗体控件有一个优势,就是下拉菜单的那个箭头会一直显示,不需要鼠标放上去
看见没有,那个箭头一直显示,不过在excel2007里,要找到控件的工具可不容易,看下图
其实表单控件和activex控件,都有类似下拉菜单的功能,他们互相的区别,其实没有搞明白,可以用窗体控件来实验
这样就可以用窗体的方式实现下拉菜单。好像这种方式如果选择后,无法清空,所以我就加入一行空行,这样就可以清空。
第四种境界:动态菜单
上面的做法,有一个缺点,当你增加选项,如果你是在最后一行里增加,那么你是需要调整“名称”的范围。
如果你增加选项,不是从最后一行添加,而是采用插入的方式添加到中间的话,那么“名称”会自动调整。显示你所有的选项。所以如果你是采用第二种方式的话,那么你增加选项就最好不要在最后一行添加。而是采用插入。这样你就不需要调整“名称”的范围。
如果你这个下拉菜单是给别人使用,那么恐怕对方不懂如何调整“名称”的范围。那么我们就需要做成一个动态的菜单。
把内容
=Sheet1!$H$2:$H$4
改为
=OFFSET(Sheet1!$H$1,1,,COUNTA(Sheet1!$H:$H)-1,)
这个时候,你就会发现,你增加下拉菜单的选项,那边也同时更新,不需要你维护。
上面公式的含义,我解析一下。
COUNTA 是计算一定范围内含有数据的个数。减去1,是因为标题行。当你增加下拉菜单的内容,这个数字也是跟着变化。
OFFSET 用法比较复杂,看说明吧。