一、3个函数

制作智能下拉菜单我们是利用函数完成的,在这里我们须要用到3个函数:offset、match以及countif函数,对付match以及countif函数都是我们常用的函数,在这里就不多丛先容了,我们来理解下这offset函数的浸染以及参数

Offset函数:offset是一个偏移函数,它以一个基点为原点进行偏移得到一个新的偏移区域

第一参数:参照区域,以选择的区域作为偏移基点第二参数:行数,将基点区域在行方向移动多少行单元格第三参数:列数,将以行方向移动过的区域,再以列方向移动多少个单元格第四参数:高度,将第一第二参数移动过后的新区域取多少列第五参数:宽度,将第一第二参数移动过后的新区域取多少行

第2到第5参数如果不填写则需省略

如何取到jsp中下拉列表的值下拉菜单选项太多找不到数据用智能下拉主动断定要输入的数据 SQL

offset函数会根据一个单元格的位置,移动得到另一个新的数据区域,它返回的结果是一个区域,并不是一个单元格,以是常与函数进行嵌套利用,这个函数常常用于制作动态图表

二、制作智能下拉

首先我们须要对数据进行排序,这一点非常主要,如果不排序是不能达到这样的效果的,然后我们点击想要制作智能下拉的单元格,点击数据找到数据验证,在许可中找到序列,然后输入函数:

=OFFSET($A$1,MATCH(C2&\"大众\"大众,$A:$A,0)-1,,COUNTIF($A:$A,C2&\"大众\"大众))

紧接着我们点击出错警告,将输入无效数据时显示出错警告前面的对勾去掉,点击确定,这样的话智能下拉就完成了

下面跟大家大略的先容先函数

=OFFSET($A$1,MATCH(C2&\"大众\公众,$A:$A,0)-1,,COUNTIF($A:$A,C2&\"大众\公众))

第一参数:基点,$A$1,基点单元格,也便是我们表头的位置,需绝对引用

第二参数:移动的行数 ,MATCH(C2&\公众\"大众,$A:$A,0)-1,在这里match函数的浸染是查找不才拉中输入的数据在A列的位置,第一参数:C2&\"大众\公众,在这里星号是通配符代表任意多个字符,比如我们在单元格中输入vivo。
便是查找以vivo开头的单元格的位置,由于有重复值的存在,函数仅仅会返回都一个查找的结果,在这里我们须要将查找结果减去1是由于有表头的存在,如果没有表头的话在这里就不用减去1了

第三参数:移动的列数,以为这个仅有一列,以是我们可以将第三参数省略

第四参数:偏移后区域的高度,COUNTIF($A:$A,C2&\"大众\"大众),在这里我们利用countif计数同样的在这里我们也利用了C2&\"大众\"大众,我们假设单元格中输入vivo,他就会统计以vivo开头的单元格的个数

第五参数:偏移后区域的宽度,仅为数据仅有1列,以是可以省略第五参数

由于offset得到是一个数据区域,当我们输入不同的数据,函数就会返回不同的数据区域,从而达到智能下拉的效果

智能下拉的制作还是须要一定的函数根本的,如果你以为难的话,可以直策应用上面的函数,更换相应的单元格位置即可

我是excel从零到一,关注我持续分享更多excel技巧