下拉菜单的基础操作
如何制作一个下拉菜单?比如要在A2单元格设置,基础的操作步骤如下:
![28eff9e81206e04b3e74f177241389f9.png](https://i-blog.csdnimg.cn/blog_migrate/9060f3eb9070d12c4113ee8cf468fd89.jpeg)
第一步:鼠标单击A2单元格,然后点击数据选项卡
![0e29e7cbbe7684fb617e6ef572bb070d.png](https://i-blog.csdnimg.cn/blog_migrate/46be6e20d955ba870d9164694ea3ebc1.jpeg)
第二步:点击数据验证,然后再点击数据验证
![637949d96744070d27a6d863d0cd17eb.png](https://i-blog.csdnimg.cn/blog_migrate/17db9be6ae4cf7c83c0d823e4ca4fbae.jpeg)
第三步:选择序列
![6e2b956bd27b46a4bda454ed2cff3cd6.png](https://i-blog.csdnimg.cn/blog_migrate/b6c8a2dde7f041b69eb880c501e4465d.jpeg)
第四步:点击图片上的按钮
![53f40e913a58ae5190105395b7a62b2a.png](https://i-blog.csdnimg.cn/blog_migrate/6c842492fcf438c348dc9ebbe4daf6a2.jpeg)
点完后会出现下图
![545c387dba0666900a53ec273a8b60a4.png](https://i-blog.csdnimg.cn/blog_migrate/c6028e9dd9c13db121786a02c8ee1c09.jpeg)
第五步:选择数据区域,我的店铺名称是放在了sheet2里面,选择sheet2工作表,鼠标直接点击A1不放,然后拖到A8单元格,图片中的=Sheet2!$A$1:$A$8 Excel会自动生成,无需手写,最后再点击图片所指的地方。
![617b5c745c20683f1c805a835525cd85.png](https://i-blog.csdnimg.cn/blog_migrate/4fbae0be08836e2934a8bb8ab4668bcd.jpeg)
第六步:此时数据区域会自动填入,只需要点击确认即可。
![c6adab2fc0a57c86cf4c4f294d54ed47.png](https://i-blog.csdnimg.cn/blog_migrate/ff69fec20a6631b26759dd3e0e257123.jpeg)
此时下拉菜单就制作好了,是不是很简单,可以打开你的Excel测试一下。
![d4fe377c0bff453d99c99f942d28adb2.png](https://i-blog.csdnimg.cn/blog_migrate/7845af5888b5e07edb726207acc3d29c.jpeg)
但是这个下拉菜单不完美,为什么呢?因为随着数据的变动,下拉菜单不会变动,比如我在H后面加上一个W,下拉菜单并不会随之增加。
![bbf33a0acdb3efc78ec0b19348f3e708.png](https://i-blog.csdnimg.cn/blog_migrate/e2fa29dfc8bd424c8bcc5c81787d1273.jpeg)
数据区域增加W
![cb1c8a8a0fdc745604c148f4c4c1b4ac.png](https://i-blog.csdnimg.cn/blog_migrate/b8db530c6c5c4b7187643da6525bc483.jpeg)
下拉菜单并没有变化,没有增加W选项
那这个怎么解决?此时我们需要用到INDIRECT和COUNTA来获取动态数据区域
第一步:加入W后,此时数据区域从A1:A8变成A1:A9,所以最关键的是最后这个数字需要用一个公式来取代,当数据增加或减少时最后这个数字也会随之变动,这样就可以动态获取这个区域了。COUNTA(计算区域中非空单元格的个数)这个函数,就可以解决这个问题
![0881338d5f0c45da6a3f45438273ab1b.png](https://i-blog.csdnimg.cn/blog_migrate/26b18eb85007ba376b9940edfcf4e109.jpeg)
用COUNTA对A列进行统计非空单元格个数,可以得到9,如果把W删除掉,那就会得到8
![b832b6877ffb4ff330d67f6a2193769a.png](https://i-blog.csdnimg.cn/blog_migrate/6e5d49f2e5e1ac95162ea98100e38900.jpeg)
现在我们知道了COUNTA(A:A)能算出9,然后我们把区域表达式A1:A和COUNTA(A:A)用连接符&链接起来就可以了,就是这个样子(前提是字符A1:A需要用英文输入法的双引号)"A1:A"&COUNTA(A:A),那这样就可以动态的获取区域了。
![0163e25075ba7a6c0000edbca0d80fab.png](https://i-blog.csdnimg.cn/blog_migrate/b723499e6acf59b3b8fa32b8e6975c56.jpeg)
我们尝试着把这个动态区域放到数据验证里
![29aa034f200afb1a3610ff4ca1aaa361.png](https://i-blog.csdnimg.cn/blog_migrate/a93a00f393298cc741f1325eba1bc84d.jpeg)
发现这样并不行,会报错。为什么?因为这种属于间接引用,数据验证不能直接使用这个区域,我们需要用一个函数INDIRECT来重新定义这个区域,用法也很简单就是把刚刚的动态区域直接放进INDIRECT的括号里就可以了,就像这样=INDIRECT("A1:A"&COUNTA(A:A)) 然而还没有完成......由于数据是在sheet2里,所以在数据前面需要加入sheet2! 这样表示这个区域是在sheet2这个表里,否则Excel认为这个区域是当前工作表sheet1里。就像这样=INDIRECT("sheet2!A1:A"&COUNTA(Sheet2!A:A))最后把把这个粘贴到数据验证里,再点确认就不会有问题了。(公式太长图片没有全部显示)
![6b75917b3a5a1fab2e504dcb18566fc6.png](https://i-blog.csdnimg.cn/blog_migrate/ba38b7a4661f72c1de1ffa0ffaa36e40.jpeg)
此时不管增加什么,下拉菜单都能动态获取了。
![86caafafbab58dc6ea875583062d8380.png](https://i-blog.csdnimg.cn/blog_migrate/f3cea53d2e589055e61c029530bae967.jpeg)
![5902f52163f7f3612664b046b555d6d3.png](https://i-blog.csdnimg.cn/blog_migrate/3c3b20a9599185c77cdcddba7a9ce2c4.jpeg)
好了,关于动态下拉菜单就分享到这里,谢谢观看。
如果想系统学习Excel可以关注我,有详细视频讲解,还有Excel实用技巧。