对于Excel的参照性输入,我们一般会使用数据验证里面的序列功能。常规下我们用作系列的数据源无非就是一个数据列表。但这种处理有个很大的问题,那就是如果系列里面的数据项太多,那么在下拉列表里面非常难以查找,他就会变成如下图这般,很多个列表项目全部混在一起,需要用滚动条不停的滚动才能找到。

以上这种常规的做法效率非常低,体验并不好,那么有没有一种快速定位列表项的办法呢?当然有,且看下面我们怎么实现它。

1、建立数据列表项目的数据源。

在此,为了更加快速的输入,我们采用助记码方式,而非直接输入汉字。毕竟字母输入的效率肯定比汉字输入要高。

2、设置数据验证

具体办法是在需要做下拉列表的地方做数据验证,这里我就不废话了。毕竟大家都知道如何操作。这里最关键的地方有两点:

第一点,就是数据来源的设定。结合上表,我们在此输入的数据来源的公式为:

=OFFSET($B$1,MATCH("*"&E2&"*",$C$2:$C$11,0),0,COUNTIF($C$2:$C$11,"*"&E2&"*"))

该公式就不做过多解释了,这里不是Excel函数教育的地方。

第二点,出错警告这里必须去除选项,否则直接没法完成查找引用。

3、实际使用场景

在此,我们在做完数据验证的E2单元格输入助记码“tk”,然后单击下拉框,于是就自动列出了包含助记码为“tk”的项目名称。当然了,这里助记码是不分大小写的。助记码可以输入任意字符完成模糊匹配

4、深化助记码

执行到第三步时,实际上已经完全可以使用了。但鉴于用户体验的问题,如果还想更进一步,那么助记码这个都可以使用自定义函数来自动生成。当然了,如果不愿意使用自定义函数,则仍然可以使用手工编制助记码。但更推荐这种使用函数自动对全字段取码的方式,因为这个是全字段拼音简码,匹配的范围要比部分拼音码要更宽一些。

函数取码的效果如下:

当然了要实现以上自动生成汉字拼音首字母,我们得先用VBA做一个自定义函数“PinYin”。如下图,在VBA编辑器里面插入一个模块,然后输入如下代码:

Function PinYin(ByVal Expression) As StringDim lngI    As LongDim strWord As String   Expression = Trim$(IIf(IsNull(Expression), 0, Expression))For lngI = 1 To Len(Expression)strWord = Mid$(Expression, lngI, 1)Select Case Asc(strWord)Case -20319 To -20284: PinYin = PinYin & "A"Case -20283 To -19776: PinYin = PinYin & "B"Case -19775 To -19219: PinYin = PinYin & "C"Case -19218 To -18711: PinYin = PinYin & "D"Case -18710 To -18527: PinYin = PinYin & "E"Case -18526 To -18240: PinYin = PinYin & "F"Case -18239 To -17923: PinYin = PinYin & "G"Case -17922 To -17418: PinYin = PinYin & "H"Case -17417 To -16475: PinYin = PinYin & "J"Case -16474 To -16213: PinYin = PinYin & "K"Case -16212 To -15641: PinYin = PinYin & "L"Case -15640 To -15166: PinYin = PinYin & "M"Case -15165 To -14923: PinYin = PinYin & "N"Case -14922 To -14915: PinYin = PinYin & "O"Case -14914 To -14631: PinYin = PinYin & "P"Case -14630 To -14150: PinYin = PinYin & "Q"Case -14149 To -14091: PinYin = PinYin & "R"Case -14090 To -13319: PinYin = PinYin & "S"Case -13318 To -12839: PinYin = PinYin & "T"Case -12838 To -12557: PinYin = PinYin & "W"Case -12556 To -11848: PinYin = PinYin & "X"Case -11847 To -11056: PinYin = PinYin & "Y"Case -11055 To -10247: PinYin = PinYin & "Z"Case Else:             PinYin = PinYin & strWordEnd SelectNext
End Function

完成以上自定义函数之后就可以在工作簿内调用该函数了。

如此,在参照输入时,只需输入拼音简码,即可快速定位列表项目,比简单的列表要高效得很多。


创作不易,转载请注明出处!

easyui-combobox 模糊匹配 支持汉字和拼音_巧用数据验证制作模糊匹配的下拉列表...相关推荐

  1. vba有下拉框的模糊查找_巧用数据验证制作模糊匹配的下拉列表

    对于Excel的参照性输入,我们一般会使用数据验证里面的序列功能.常规下我们用作系列的数据源无非就是一个数据列表.但这种处理有个很大的问题,那就是如果系列里面的数据项太多,那么在下拉列表里面非常难以查 ...

  2. PHP 中文工具类,支持汉字转拼音、拼音分词、简繁互转

    ChineseUtil 下载地址:https://github.com/Yurunsoft/ChineseUtil 另外一个中文转拼音工具:https://github.com/overtrue/pi ...

  3. easyUI Combobox自定义调整支持中文模糊查询

    1.调整Combobox支持模糊查询,并支持从任意位置开始匹配 解决方案:将字符串的indexof匹配由原来的判定为头部匹配,改为包含匹配 return row[opts.textField].toL ...

  4. 表格排序 支持汉字按拼音排序,面向对象的使用方法

    周末无聊利用swapNode方法写了个排序算法,性能比较一般,超简单的冒泡排序,但是由于使用了swapNode,所以TR以及TD对象后绑定的属性不会丢失,同时解决了checkbox在swapNode后 ...

  5. java 汉字转拼音_推荐一款前端汉字转拼音组件工具

    推荐一个前端的汉字转拼音组件 hotoo/pinyin, 支持在 Node 和 Web 浏览器环境运行. github网址:https://github.com/hotoo/pinyin 特性 根据词 ...

  6. html下拉控件 拼音检索和中文检索,Combobox控件实现汉字按拼音首字母检索

    Combobox控件在开发中作为下拉选项的不二之选,用的非常频繁,前几日开发过程中刚好有个需求有用到这个控件,而且客户要求增加下拉选择功能,这个简单,设置控件的自动完成属性后就解决了this.comb ...

  7. python怎么读汉字翻译拼音_用python3.6把汉字转化为拼音

    本文,介绍一下用python把汉字转化为拼音的方法.这是语音合成的一种实现方法. 工具/原料 电脑 python3.6 方法/步骤 1 把一个汉字转化为unicode编码. a = u'水' b = ...

  8. java如何将汉字转换为拼音_将汉字转换为汉语拼音java实现

    有的时候我们需要将中文转换成汉语拼音,将汉字转换成汉语拼音其实挺简单.首先我找到了一个资源,是一个XML文件:TBL_Dict.xml ,这个文件中每个汉字作为一个节点,该节点下有该汉字对应的汉语拼音 ...

  9. python正则匹配字母后面四位数字_怎么写一条正则去匹配15位、18位、还有最后一个字符为字母的身份证号...

    大佬们,我想用一条正则表达式在一堆字符串里面去匹配匹配15位.18位.还有最后一个字符为字母的身份证号.那一堆字符串如下: |_ Potentially risky methods: TRACE |_ ...

最新文章

  1. 关于java.util.LinkedHashMap cannot be cast to ......的解决办法
  2. Windows 8.1 explorer.exe总是崩溃的解决办法
  3. java 异常抛出空指针异常_java.lang.NullPointerException 抛出空指针异常
  4. 服务器存储满了进不去系统,解决PC常见问题 篇四十五:建议收藏!手贱升级进不去系统?两步简单恢复黑群晖!...
  5. LeetCode 138. Copy List with Random Pointer
  6. 深圳联通与深圳中琛源科技正式达成了5Gn战略合作
  7. Windows 8.1 with Update MSDN 简体/英文/繁体
  8. 详细图解哈夫曼Huffman编码树
  9. mariadb登录mysql_MariaDB安装完怎么用root登录
  10. class 文件比较
  11. 对服务器系统盘扩容,服务器系统盘扩容
  12. pc微信多开hook版本3.2.1.123
  13. 远程主机强迫关闭了一个现有的连接
  14. ios 中间 图片缩放_iOS开发--如何进行图片缩放
  15. html母亲节主题网页源码jd
  16. 在JS中根据身份证号计算出生日期和年龄
  17. 光谱分析有哪些最新发表的毕业论文呢?
  18. oracle怎么赋予系统权限,讲解Oracle系统中用户权限的赋予和查看
  19. 你要整合资源,首先你得是一个有资源的人
  20. 名悦集团:为什么司机建议买车尽量买便宜的

热门文章

  1. Flex RIA的ArcIMS WebGIS之路(一)--胸中的那棵竹
  2. elementui 表头错位解决方法
  3. 深度模型推理在腾讯游戏的应用与实践(王者荣耀、和平精英等均有应用)
  4. 【免费下载】2021年5月热门报告盘点下载
  5. 文字生成视频,只需一步(附论文下载)
  6. 【招聘内推】推荐策略产品经理-阿里文娱优酷产品直招
  7. PyTorch系列入门到精通——BN、LN、IN and GN
  8. NLP简报(Issue#8)
  9. php删除双引号,PHP引号前添加反斜杠、去除反斜杠的方法
  10. 知识蒸馏在广告系统中的应用(一)