我们知道,使用Excel【数据有效性】当中的【序列】功能,可以在单元格内创建一个下拉菜单,在进行输入时可以在下拉菜单中选择项目。这样的下拉菜单可以提高用户输入时的准确性和便利性。
如果下拉菜单中的选择项目非常多,在选择项目时也是不方便的。自适应下拉菜单,就是可以根据用户在单元格里输入的字符,在下拉菜单的显示项目中自动筛选出以这些字符开头的项目,缩小下拉菜单中的项目选择范围,以方便用户选取。完成效果如下。
创建Excel自适应下拉菜单――工具/原料EXCEL
创建Excel自适应下拉菜单――自适应下拉菜单具体设置方法如下:创建Excel自适应下拉菜单 1、
将需要作为选择项目的原始数据进行升序排序。排序以后,相同字符开头的字符串将分布在连续的单元格中,便于创建数据有效性的引用序列。
创建Excel自适应下拉菜单 2、
选中需要设置下拉菜单的单元格,打开【数据有效性】对话框,选择【序列】,并且在【来源】中使用以下公式:
=OFFSET($B$1,MATCH(J6&"*",$B:$B,0)-1,,COUNTIF($B:$B,J6&"*"))
其中B列是之前排过序的项目数据源所在列,J6 则是当前选中的单元格。
创建Excel自适应下拉菜单 3、
上述公式的具体含义如下:
MATCH(J6&"*",$B:$B,0)
这部分可以在B列中查找以J6当中字符打头的项目,返回其中找到的第一个项目的行号
COUNTIF($B:$B,J6&"*")
这部分公式在B列中统计以J6当中字符打头的项目的个数
这个OFFSET函数公式的作用是形成一个引用区域,即以B1单元格向下偏移MATCH(J6&"*",$B:$B,0)-1行,以此单元格起始的COUNTIF($B:$B,J6&"*")行单元格区域为引用范围。
这个公式的整体作用就是在B列数据源中提取出了以J6单元格当中字符开始的所有项目。以这个提取出来的区域作为数据有效性序列的引用源,就可以形成一个可以动态变化、自动适应单元格输入内容的下拉菜单。
创建Excel自适应下拉菜单_excel 下拉菜单
创建Excel自适应下拉菜单 4、
选中【数据有效性】的【出错警告】选项卡,取消勾选【输入无效数据时显示出错警告】选项。这个操作步骤的目的是为了在单元格当中输入不完整的项目字符串时,系统不会因为数据有效性的错误警告而阻止用户的输入。
创建Excel自适应下拉菜单 5、
最后选择J6单元格填充下拉,最终完成效果如下: