Excel二级下拉菜单,这东西听起来好像很高大上,其实做起来也没那么难,关键是你要搞清楚思路,别被那些专业术语唬住了。我跟你说,就像小时候玩乐高,一步一步来,总能搭出你想要的玩意儿。
先说最基础的,一级下拉菜单。这个简单,数据有效性嘛!选中你要设置下拉菜单的单元格,然后找到“数据”选项卡,点“数据有效性”,在“设置”里面选择“序列”,来源就填你想要显示的选项,用逗号隔开,比如“北京,上海,广州”。就这么简单,一个基础的下拉菜单就出来了。
但是,二级下拉菜单,它不一样。它要根据你在一级菜单里选择的东西,来动态地显示二级菜单的选项。这就需要用到一些技巧了,比如说,OFFSET函数、INDIRECT函数,还有定义名称。别怕,听起来复杂,其实拆开来看,都很好理解。
想象一下,你要做一个关于水果的二级下拉菜单。一级菜单是“产地”,比如“南方”、“北方”、“国外”。二级菜单是具体的“水果名称”,比如南方产“荔枝”、“龙眼”,北方产“苹果”、“梨”,国外产“香蕉”、“榴莲”。
第一步,你要把这些数据整理好。在一个新的Sheet里面,把产地作为标题,下面列出对应的水果。比如说:
| 产地 | 水果名称 | | ------ | -------- | | 南方 | 荔枝 | | 南方 | 龙眼 | | 北方 | 苹果 | | 北方 | 梨 | | 国外 | 香蕉 | | 国外 | 榴莲 |
记住,一定要把数据整理得整整齐齐,否则公式会出错,到时候你就要抓狂了。
第二步,就是定义名称。这步很重要,相当于给你的数据贴标签,方便后面引用。选中“南方”下面的“荔枝”、“龙眼”这两个单元格,然后在左上角的名称框里输入“南方”,注意,这个“南方”要和你在产地那一列里面写的一模一样。然后,选中“北方”下面的“苹果”、“梨”,定义名称为“北方”,同理,“国外”下面的定义为“国外”。
记住!名称定义里面,不能有空格!不要偷懒,一个个定义好,不然等着哭吧。
第三步,回到你想要设置下拉菜单的那个Sheet。先设置一级下拉菜单,也就是“产地”。用刚才说的数据有效性方法,在“来源”里面直接输入“南方,北方,国外”(或者引用包含这些产地的单元格区域),这样一级下拉菜单就做好了。
第四步,也是最关键的一步,设置二级下拉菜单。选中你要设置二级下拉菜单的单元格,还是用数据有效性,在“来源”里面输入公式:=INDIRECT(A1) (假设A1是你的一级下拉菜单所在的单元格)。
这个INDIRECT函数,它厉害的地方在于,它可以把文本字符串转换成单元格引用。也就是说,它会把A1单元格里的内容,也就是你选择的“南方”、“北方”或者“国外”,当作一个名称,然后去寻找你之前定义的那个名称区域,也就是对应的水果列表。
理解了吗?如果没有,再想想,这个地方是核心。
然后,点击确定,你就可以试试看了。当你在一级下拉菜单里选择“南方”的时候,二级下拉菜单里就会自动显示“荔枝”和“龙眼”,是不是很神奇?
这里要特别提醒你几个容易出错的地方:
- 名称定义错误: 确保你定义的名称和一级下拉菜单里的选项完全一致,大小写也要一样!
- 数据区域整理不规范: 数据区域一定要整齐,不能有空行或者错误的数据。
- INDIRECT函数引用错误: 确保
INDIRECT函数引用的是一级下拉菜单所在的单元格。
除了上面这种方法,还有一种方法是用OFFSET函数和MATCH函数结合。这种方法稍微复杂一点,但是灵活性更高。
还是用水果的例子,假设你的数据是这样排列的:
| 产地 | 南方 | 北方 | 国外 | | --- | --- | --- | --- | | 水果 | 荔枝 | 苹果 | 香蕉 | | | 龙眼 | 梨 | 榴莲 |
这种排列方式,用OFFSET函数和MATCH函数更方便。
首先,还是要做一级下拉菜单,这个前面已经说过了,不再赘述。
关键是二级下拉菜单的公式,这个公式有点长,你要耐心一点:
=OFFSET(Sheet2!$A$1,MATCH(Sheet1!A1,Sheet2!$A:$A,0)-1,1,COUNTA(OFFSET(Sheet2!$A$1,MATCH(Sheet1!A1,Sheet2!$A:$A,0)-1,1,1,10)),1)
别晕,我来给你解释一下:
Sheet2!$A$1:这是数据区域的起始单元格,也就是包含“产地”的那个单元格。MATCH(Sheet1!A1,Sheet2!$A:$A,0):这个MATCH函数,它会在Sheet2的A列里查找和Sheet1的A1单元格(也就是一级下拉菜单所在的单元格)相同的值,然后返回它的位置。比如说,如果Sheet1的A1单元格里是“南方”,那么MATCH函数就会返回1(因为“南方”在A列的第一个位置)。MATCH(Sheet1!A1,Sheet2!$A:$A,0)-1:为什么要减1呢?因为OFFSET函数是从起始单元格开始偏移的,而我们的水果列表是从起始单元格的下一行开始的,所以要减1。OFFSET(Sheet2!$A$1,MATCH(Sheet1!A1,Sheet2!$A:$A,0)-1,1,1,10):这个OFFSET函数,它会根据MATCH函数返回的位置,从起始单元格开始偏移,找到对应的水果列表。这里的“1”表示向右偏移一列(因为水果列表在产地的右边),“1”和“10”分别表示返回1行和最多10列的数据,用于后续的COUNTA计数。COUNTA(OFFSET(Sheet2!$A$1,MATCH(Sheet1!A1,Sheet2!$A:$A,0)-1,1,1,10)):这个COUNTA函数,它会统计OFFSET函数返回的水果列表中有多少个非空单元格,也就是有多少种水果。OFFSET(Sheet2!$A$1,MATCH(Sheet1!A1,Sheet2!$A:$A,0)-1,1,COUNTA(OFFSET(Sheet2!$A$1,MATCH(Sheet1!A1,Sheet2!$A:$A,0)-1,1,1,10)),1):最后的这个OFFSET函数,它会根据COUNTA函数返回的水果数量,返回完整的水果列表。
这个公式虽然长,但是理解了每个部分的作用,也就没那么难了。
用这种方法,你的数据可以更加灵活地排列,即使产地对应的水果数量不一样,也不会出错。
总而言之,做Excel二级下拉菜单,关键在于理解数据有效性、INDIRECT函数和OFFSET函数的用法,以及如何定义名称。多尝试,多练习,你也能成为Excel高手!记住,遇到问题,先冷静分析,再逐个排查,总能找到解决办法的。祝你成功!
【excel二级下拉菜单怎么做】相关文章:
怎么把excel表格变成图片12-07
excel表格怎么去重复12-07
excel自动行高怎么设置12-07
excel表格怎么设置打印区域12-07
excel表格怎么插入页码12-07
excel怎么跳行求和12-07
excel二级下拉菜单怎么做12-07
excel怎么取消下拉选择12-07
excel怎么批量删除空白行12-07
excel表格怎么算总价12-07
excel截屏怎么截图12-07
excel太大了怎么缩小12-07
excel的下拉列表怎么设置12-07