乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel,你的下拉列表有1000个选项,你还打算用吗?效率太低了。-excel下拉列表

excel,你的下拉列表有1000个选项,你还打算用吗?效率太低了。-excel下拉列表

作者:乔山办公网日期:

返回目录:excel表格制作

下拉列表的功能都非常实用,轻轻一点,选择一下,就完成了输入,但是遇到下面这种情况,怎么办,一个一个去找吗?

excel,你的下拉列表有1000个选项,你还打算用吗?效率太低了。

像上图这种情况,还不如自己手工输入。

excel,你的下拉列表有1000个选项,你还打算用吗?效率太低了。

那么这种效果如何?

excel,你的下拉列表有1000个选项,你还打算用吗?效率太低了。

你只需要输入简单的几个字,就可以把范围大幅缩小。方便多了。

下面我们看如何制作。

1、 将数据源的右边放置一个辅助列,辅助列的作用就是让我们在任一单元格输入文字,将回筛选出包含的内容。

在G1单元格输入公式:=INDEX(A:A,SMALL(IF(ISNUMBER(SEARCH(CELL("contents"),$A$1:$A$180)),ROW($1:$180),4^8),ROW(A1)))&""

注意:三键结束(ctrl+shift+回车),把公式往下拉。

excel,你的下拉列表有1000个选项,你还打算用吗?效率太低了。

现在我们试验一下,随便找一个单元格,输入内容,我们的辅助列是不是在变化,这就是根据你输入的内容进行了筛选。

公式解读:

SEARCH(CELL("contents"),$A$1:$A$180),在A1:A180单元格里面查找当前单元格的内容,并返回你要查找内容的位置。

IF(ISNUMBER(SEARCH(CELL("contents"),$A$1:$A$180)),ROW($1:$180),4^8),使用if函数,将查找到的内容返回对应的ROW($1:$180)序号,如果没查找到内容,就反回4^8。这样的结果会形成一个数据,凡是符合你输入的条件的,就是规则的序号,不符合条件的,就显示4^8。

SMALL(IF(ISNUMBER(SEARCH(CELL("contents"),$A$1:$A$180)),ROW($1:$180),4^8),ROW(A1)),利用SMALL函数,求出第一个最小值,其实这个最小值就是符合你条件的数据源位置。

最后,用INDEX函数根据位置引出内容。

我们将这个公式往下拉。

即然在任一地方输入数字都可以实现筛选,那我们只需要把这个筛选的内容放入到下拉列表就可以了。

2、 下拉列表数据源设

在你需要使用下拉列表的地方设置数据验证-序列,在数据源位置输入以下公式:

OFFSET(数据!$G$1,,,COUNTA(数据!$G$1:$G$50)-COUNTBLANK(数据!$G$1:$G$50))

注意:出错警告选项卡的小勾要去掉。

excel,你的下拉列表有1000个选项,你还打算用吗?效率太低了。

然后就可以应用了,如果你有多个单元格需要这个使用,不用重复设置,只需要设置一个,复制到其它单元格就行了。

excel,你的下拉列表有1000个选项,你还打算用吗?效率太低了。

最后想说一句,这种方法,可以实现动态筛选输入,但还不太方便,如果要更方便,那就是VBA制作,下图是VBA制作的模型,制作方法,我们下回分解。

excel,你的下拉列表有1000个选项,你还打算用吗?效率太低了。

我是EXCEL共享局,关注我,每天提升工作效率。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网