您的位置: 首页 > 软件教程 > Excel动态更新的下拉菜单制作详解(UNIQUE+Drop)

Excel动态更新的下拉菜单制作详解(UNIQUE+Drop)

编辑:伢子
2024-03-20 10:43:09

在Excel中,动态更新的下拉菜单可以极大地提高工作效率和准确性。通过结合UNIQUE函数和Drop功能,我们可以快速制作一个根据数据更新自动调整的下拉菜单。这种方法不仅能够节省时间,还能够帮助我们轻松管理大量数据,让工作变得更加轻松和高效。接下来,让我们详细了解如何使用这一功能来提升工作效率。

利用下拉菜单,我们可以减少很多输入量,而且不会出错。

比如,在图示的年月,我们可以设定一个数据有效性,直接通过鼠标点击选择,是不是很简单方便?

Excel动态更新的下拉菜单制作详解(UNIQUE+Drop)

现在我们来讲解不同的数据下拉菜单的做法:

一、固定候选序列的下拉菜单:

我们可以预先输入序列,然后选择“数据”,“数据验证”,在“来源”中选择刚才输入的序列:

这种方法的好处是简单,但如果随着新数据的录入,无法实现动态更新。为了实现动态更新下拉菜单,我们现在试着研究如何实现。

二、动态候选序列的下拉菜单:

首先,如何获取某列的唯一值?

这里我们使用UNIQUE函数,他可以将重复的值去掉,我们这里使用UNIQUE(B:B),由于B列有很多空置,所以会在尾部产生多余的0。

我们如何去掉这个0呢?我们可以使用drop公式。

drop的意思就是去掉数组中的第几个字符,可以为正或负,正的时候是顺着数第几个,为负则是倒着数第几位。所以这里就用drop(*,-1)就把多余的0去除了。

同样,上述的“年月”也是多余的,我们也可以用同样的方法去掉:

现在我们试图将这个公式放到数据有效性的公式中,在尝试过程中,可以发现它出错了:

出现这种情况时,我现在还没有更好的办法,只好先用个辅助数据区域,然后,在这里去引用它。引用的过程,为了动态更新,而且不出现多余的字符,我们需要用indirect函数,精确的列出序列:=INDIRECT("$K1:$K"&COUNTA(K:K))

至此,我们就可以实现自己想要的功能了:

以上是在最新版的365上实现的,你也可以去尝试一下,非常方便!