一旦下拉菜单选项较多时,而不断向下拉菜单,会很麻烦。
但当输入前两个字,即可跳出相应下拉选项,就很方便了,效果如下:
制作方法,即是用OFFSET函数,来动态引用某区域。

首先,需要对E列公司执行升序排序,以A2中的[中远]为例,开头为中远的首条数据,需从E1单元格下移6行,即至E7单元格,开头为中远的数据,共有3行。
再使用MATCH函数,来获取开头为中远的首条数据所在位置,减去1后,即可获取需从E1单元格的下移位数。
=MATCH(A2&"*",$E:$E,0)-1
同样,再使用COUNTIF函数来获取开头为中远的数据,共有多少行。
=COUNTIF($E:$E,A2&"*")
之后使用OFFSET函数搭配MATCH、COUNTIF函数,即可动态获取开头为中远的数据区域。
=OFFSET($E$1,MATCH(A2&"*",$E:$E,0),,COUNTIF($E:$E,A2&"*"))
最后,再选择需下拉菜单的单元格,鼠标依次点击数据选项卡→数据验证,选择序列,输入如下公式,在去掉出错警告勾选之后,即可大功告成。
=OFFSET($E$1,MATCH(A2&"*",$E:$E,0),,COUNTIF($E:$E,A2&"*"))