听说你想学下拉菜单,这一次四种下拉菜单方式全部安排到位~
在Excel中有一个实用的方法叫做——【数据验证】,常常用来限制数据类型或用户输入单元格的值。许多小伙伴还喜欢使用数据验证去创建下拉菜单。那么今天,我们便来聊一聊关于下拉列表的那些“神”操作~
老规矩,学习时间到!

一级下拉菜单
难度系数:⭐️
一级下拉列表其实非常简单,只需要一个简单的数据验证便可以了。
首先准备好数据源:

方法如下:

打开【数据】菜单,选择【数据验证】窗口;
验证条件更改为【序列】;
添加来源为原数据源。
二级下拉菜单
难度系数:⭐️⭐️
二级下拉菜单,就是第二级的菜单选项,可以根据第一级的数据动态更新:

二级下拉菜单需要用到三个核心元素,分别是:定义名称、数据验证与INDIRECT 函数。
方法如下:

1、准备数据源

2、定义名称:选择所有的列表数据,单击【公式】选项卡,找到「定义的名称」-【根据所选内容创建】。
演示版本为MAC版本,Windows系统根据实际情况进行查找

3、在弹出的窗口中,勾选【首行】,单击【确定】。

4、在省的下方单元格,根据【一级下拉菜单】的制作方式,来制作下拉菜单。
5、在市的下方单元格,打开【数据】菜单,选择【数据验证】窗口,验证条件更改为【序列】,在来源时使用 Indirect 函数。

看到这里,你也许会疑问,为什么要使用 Indirect 函数呢?🤔️
这是因为 Indirect 函数的作用为间接引用【返回由文本字符串所指定的引用】。
比如这里引用的是 A10 单元格,但返回的结果是参数表 A2:F7 单元格里的值。即:引用省份中所包含的市级。
三级下拉菜单
难度系数:⭐️⭐️⭐️
对比前两个下拉菜单,三级下拉菜单的复杂之处,在于数据源的不同处理,比如:三级内容的表头,是由一二级连接在一起的。

在上图中,可以看到,我预留了三个单元格用于下拉菜单的制作。制作三级下拉菜单,【省】对应【一级下拉菜单】,【市】对应【二级下拉菜单】,【区】对应【三级下拉菜单】。关于一、二级已经说过了制作方法,这里便不再赘述。具体可以参考下图:

三级下拉菜单制作方式如下:
1、未避免表格中含有空格数据,可以预先进行选择列表数据,使用【定位】功能快速选择所有的非空单元格;


2、使用【公式】选项卡中的【根据所选内容创建】的功能,批量的创建省份对应城市选区的自定义名称。

3、借助【Indirect】函数,引用一级列表和二级列表。

公式:
=Indirect(D2&E2)
怎么样,三级下拉菜单也不难吧,相信聪明的你,一定可以举一反三,做出四级五级下来菜单出来~下面么,我们来看看搜索下拉菜单怎么做?
搜索下拉菜单
如果下拉菜单的选项过多,那么小一个格子,要我们去一个个的找,实在是有些费眼睛。这时候,如果有一个搜索的下拉菜单,就很棒啦,就像这样:

在Excel进行更新后,出现了 Filter 函数,这个函数有许多方便的功能。也可以用来制作搜索下拉菜单。
Filter 函数需要 Office 365 版本
在这里,我准备了一个数据源:

在C2单元格,我们可以先用 Filter 函数搭配 ISNUMBER 函数 与 FIND 函数一起制作出神奇的查询公式
=FILTER($A$2:$A$9,ISNUMBER(FIND(B2,$A$2:$A$9)))
实现效果:

看着函数很复杂,没关系,我们来梳理思路::
首先,我们使用 Find 函数去查找搜索区域中有关 B2单元格 的位置,如果没有找到返回错误值;
接着用 Isnumber 函数判断是否是数值,是的话返回 True,否的话返回 False;
最后利用 Filter 函数将筛选条件为 True 的筛选区域返回。
结合各函数的语法来看:
Find函数语法:
Find 函数是用来对要查找的文本进行定位,以确定其位置。
=FIND(find_text,within_text)
=FIND(查找值,在哪里找)
Isnumber函数语法:
判断引用的参数或指定单元格中的值是否为数字,正确返回TRUE,否则返回FALSE。
=isnumber(value)
Filter 函数语法
FILTER 函数可以基于定义的条件筛选一系列数据。
=FILTER(array,include)
=FILTER(筛选区域,筛选条件)
使用公式的目的是创建一列辅助列,然后在【数据验证】中使用 Indirect 函数进行映射:

#符号称为溢出的范围运算符,它是引用整个数组范围的表示方式。
如果觉得辅助列过于碍眼的话,将文字颜色替换为白色就好了。
好啦,以上便是本期关于【下拉菜单】的所有内容啦,赶快下去试一试吧~