【前言】录入数据时可以制作成下拉式列表,但是如果下拉式列表条目比较多,选择起来也是很麻烦,这样也就失去了下拉式列表快速录入数据的意义。今天小编教大家一款联想式下拉式列表:只需要输入关键字,就会筛选出只包含关键字的条目,效果如下图:

EXCEL中制作最高级的下拉式列表—输入关键字只筛选出所需要的!

效果展示

【step1】首先建立下拉式列表条目,在F列中输入所有下拉式选项;在E列中输入公式:=IFERROR(INDEX($F$1:$F$60,SMALL(IFERROR(FIND(INDIRECT("b"&CELL("row")),$F$1:$F$60)^0*ROW($F$1:$F$60),""),ROW(1:1))),"")后按ctrl+shift+enter结束然后填充到最后一行。

EXCEL中制作最高级的下拉式列表—输入关键字只筛选出所需要的!

公式思路当选择B列中任意单元格时,获得选中的单元格内的关键字后在F列中查找出所有含有关键字的条目。

CELL("row")——获得被选择的单元格列号

INDIRECT("b"&CELL("row"))——获得被选择的B列单元格内的关键字

FIND(INDIRECT("b"&CELL("row")),$F$1:$F$60)^0*ROW($F$1:$F$60)——获得含有关键字条目的行号

INDEX($F$1:$F$60,SMALL(IFERROR(FIND(INDIRECT("b"&CELL("row")),$F$1:$F$60)^0*ROW($F$1:$F$60),""),ROW(1:1)))——获得包含关键字的条目名称

函数是Excel的灵魂和核心,不买几本书怎么才能学好Excel!给大家推荐几本学习Excel的书籍:


别怕 Excel 函数其实很简单(进阶版)

¥49.8

购买

【step2】定义名称;将公式=OFFSET(Sheet1!$E$1,0,0,COUNTA(Sheet1!$E$1:$E$60),1)定义为名称

EXCEL中制作最高级的下拉式列表—输入关键字只筛选出所需要的!

【step3】设置数据有效性

EXCEL中制作最高级的下拉式列表—输入关键字只筛选出所需要的!

【step4】选择数据后自动刷新数据可以加入代码来实现(保存时要保存为启用宏的工作簿

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

Application.Calculate

End Sub