本帖最后由 liyh67 于 2013-11-3 12:35 编辑
我们经常用数据有效性来建立下拉列表,从中选择输入,既方便快捷又避免了输入的不一致。但是,如果选择项很多又没有顺序,从众多的选项中寻找也是比较费劲的事,如果能够输入关键的一两个字符,使选择项都是含有这个关键字符的,选择起来就方便多了。其实,实现起来也不复杂,不需要用VBA也可以做到,只要用CELL函数取得最后更改的单元格的值,再用公式得到包含这个值的列表作为辅助列,把这个辅助列作为数据有效性序列的来源就可以了。如果这个辅助列和建立数据有效性下拉列表的单元格不在同一个工作表,则需要将这个辅助列定义成一个名称,在数据有效性的序列来源里填写这个定义的名称。
附件中Sheet1的D列和E列是得到只要包含输入的关键字的所有列表,不管关键字的位置,F列得到的是开头是关键字的所有列表,G列是结尾是关键字的所有列表,而H列的公式得到的是使用统配符的列表,如输入“?酸?”得到所有名称是3个字且第2个字是“酸”的名称列表,如碳酸银、硫酸钠、硝酸铵等等。大家可以根据自己的需要选择合适的公式,这些公式都是数组公式,输入时要以Ctrl+Shift+Enter结束,输入公式时会出现下面这个循环引用的提示框,点击“取消”即可,然后将公式向下拉到足够多。
|