模糊查找不漏过任何有用内容

来源 :电脑爱好者 | 被引量 : 0次 | 上传用户:zenghui_yan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【挑战题描述】
  我有两个Excel表格,记录的是相关数据,现在要把其中相同的选项选取出来。由于汇集的数据来源并不一致,其中有些相同选项会出现细微差别,比如“北京市海淀区CFAN”和“北京海淀区CFAN”,中间差一个“市”字,就可能导致无法匹配。能否设置一种模糊查找的方法,将类似的项对应起来呢?(题号:20141303)
  【解题思路】
  不管是一个表格还是两个表格,按挑战题中的描述,实际上就是把一些略有差别但实际相同的项找出来而已。模糊查找的关键,就是将不同项中重复的字符作为固定的关键词,而其中可能会有变化的地方则用一些特殊的符号(比如通配符)来替代。根据挑战题中的描述,该Excel表格中可能包含多个“北京市海淀区CFAN”或“北京海淀区CFAN”项,可以发现其中连续出现的重复字节是“海淀区CFAN”,从这一特征入手,通过Excel函数或VBA技术即可实现模糊查找。
  【解题方法】
  VLOOKUP函数实现模糊查找
  根据挑战题中的描述,通过VLOOKUP函数即可实现。首先简单了解一下这一函数,按照Excel帮助文件中的描述,这一函数的格式如下:
  VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
  它共有四个参数:其中第一个表示要查找的目标;第二个表示查找的范围;第三个表示返回值的列数;第四个是精确或模糊查找的开关,如果它的值为0(或FALSE)则是精确查找,如果是1(或TRUE或省略)则为模糊查找。具体的模糊实现,可通过在查找目标中添加类似DOS下的通配符“*”来完成。
  现在假设已有一个数据表(标签为“数据”,图1),接下来切换到另外一个数据表中(本例的标签为“查找”,图2),在C2单位格中输入“=VLOOKUP("*"&A2&"*",数据!$A$2:$B$7,2,0)”,可以使用拖动的方法在该列无限复制,将会看到只要是模糊符合原数据中的单位名称,相应的数据(这里是电话)就会自动显示出来。这个公式中,查找目标中的星号是为了模糊匹配,“数据!$A$2:$B$7”则指出对比的数据来源(在“数据”标签的表格中)。
  VBA实现模糊查找
  以上方法使用简单,大部分人很容易就能上手,但是它也有很大的局限性。如果稍微懂一些VBA知识,通过VBA编程,可以实现更灵活的模糊查找功能。
  单击“开发工具”选项卡中的“Visual Basic”按钮,选择设计模式和插入(图3),选择Acttivex控件(CommandButton)并输入以下代码(不要输入前面的行号,那只是为了表述更方便):
  01 Private Sub CommandButton1_Click()
  02 Dim d As Object, Itm
  03 Dim arr, k&
  04 Dim rng As Range
  05 Set d = CreateObject("Scripting.Dictionary")
  06 For Each rng In Range("A2", Range("a1").End(xlDown))
  07 d(rng.Value) = ""
  08 Next
  09 arr = Sheets("数据").Range("a1").CurrentRegion
  10 For Each Itm In d
  11 For k = 2 To UBound(arr)
  12 If arr(k, 1) Like "*" & Itm & "*" Then d(Itm) = d(Itm) & " " & arr(k, 2)
  13 Next
  14 Next
  15
  16 On Error Resume Next
  17 For Each rng In Range("A2", Range("a1").End(xlDown))
  18 rng(1, 2).Resize(1, 1) = Split(Trim(d(rng.Value)), " ")
  19 Next
  20 Set d = Nothing
  21 End Sub
  以上代码并不复杂,这里对其核心语句略做解释。第5行代码是在创建字典对象,第6行表示从A2开始A列区域,第7行表示从A2开始数据写入数组,第9行定义arr来源于“数据”表A列,第10行表示Itm数据在字典里,第11行表示“数据”表A列数组从第二个开始到完成,第12行表示“数据”表A列数组中模糊查找Itm数据相等时等于B列数据,第17行根据单元格填写查找到的数据。
  当然实现VBA模糊查找不限于以上代码,也可以通过其他方法来实现。
其他文献
很多年前诞生了一款叫拳皇的游戏,相信影响了一代玩家。包括之后出现的侍魂、铁拳等,至今也是很多朋友热衷的游戏。今天介绍一款在平板电脑可以玩的格斗闯关类游戏——永恒战士3。  勇闯天下  在这款游戏中,有三种职业可供选择。玩过魔兽世界的朋友可能对这款游戏会更为熟悉,游戏的整体设计与魔兽世界风格类似,都是角色扮演为主。不过不同的是,在游戏中,玩家只能靠自己单打独斗闯每一关。而且也不会像魔兽世界一样,到了
期刊
钻石级别的外观标准  显示器一直在追求极致纤薄,自从DELL U2414H开始使用嵌入式面板设计边框,众多厂商蜂拥而上纷纷效仿。这种方式的好处是,它并非像传统显示器那样由外至内扣住面板,而且嵌入,AOC LV273HIP官方宣称边框只有4.1mm的边框,如果算上不发光的面板边缘大概也只有6-7mm左右,确实非常出色。  除了超窄边框,LV273HIP的质感也是经过精心设计的,正面四个边框均采用香槟
期刊
由于已经沦为“非主流”,所以DVD刻录机的售价非常便宜。内置DVD光驱的最低售价为85元,而内置DVD刻录机的最低售价则为95元,仅贵10元钱。虽然DVD刻录机的读盘性能和寿命略逊于功能单一的DVD光驱,但是考虑到现在光驱读盘的频率已经越来越低,所以还是额外提供了刻盘功能的DVD刻录机更具购买价值,如果要买DVD光驱就买刻录机,一步到位。  DVD刻录机主要分为内置和外置,内置DVD刻录机采用了台
期刊
与雷神的前几款产品不同,雷神911从外观设计就彰显了其顶级游戏本的定位,由动感线条勾勒的机身与犹如跑车大灯的炫酷装饰LED红光效果,多少有些想与“外星人”(Alienware)争相斗艳的味道。好消息是,该产品的LED灯(包括背光键盘)都可随时一键开启或关闭,在外人面前开启可引人侧目,而夜晚酣畅游戏时则可关闭避免炫光影响注意力。此外,1080P屏幕与独立低音炮单元也是雷神911的标配,在方寸之间就可
期刊
时尚专业一把抓  以前提起三星显示器,比较注重底座功能的专业用户总是有些不屑。在液晶显示器诞生最初几乎所有产品都支持升降,部分支持旋转,就是三星首先推出那种固定支架并且在业界内流行。固定支架能有效降低成本,有助于液晶显示器普及,但是却扼杀了屏幕的可操控性。  三星这次的S32D850T完全不同,产品正面依旧时尚,上和左右三个方向是一体成型的黑色塑料边框,而拥有SAMSUNG标志和OSD按键的底部边
期刊
手感更为出色的“大牛”  和上代Z5s相比,努比亚Z7 Max将屏幕尺寸提升到了5.5英寸,类肌肤质感的外壳手感出众,没有了Z5s塑料高亮外壳的那股廉价感。需要注意的是,肌肤质感虽可提升手感,但防滑性的表现一般,平时要注意握稳小心脱手,或乖乖地为Z7 Max准备一个保护套。得益于屏幕窄边框设计,Z7 Max单手持握的压力不大,而电池容量也顺势提升到了3100mAh,不会因屏幕以及高端的硬件引发太大
期刊
串烧音乐的制作  经过学习和了解才知道,太极拳也是多种多样的,比如简化的24式太极拳以及88式太极拳等。但是动作越多所用的时间也就越长,而普通一首曲子的时间太短,不能满足这些太极拳伴奏的需求,所以最好的方法就是将多首不同的曲子串烧在一起。合并多首曲子可通过GoldWave这款音频编辑软件(下载地址:http://tinyurl.com/m65fz8w)来完成。  每首曲子的开头和结尾可能会有空白段
期刊
锁住控制系统的“快门”  Windows 8.1的Win+X快捷组合能开启丰富的系统控制菜单。但是,它在方便用户控制系统的同时,也给系统带来了不安全的隐患,如果自己使用的系统不希望别人通过Win+X热键来轻易进入和更改设置,那么可以用如下方法将其屏蔽。  在本地组策略“文件资源管理器”编辑窗口右侧窗格中,找到“关闭Windows+X热键”并双击,设置其状态为“已启用”,这样就可以关闭系统对此项快捷
期刊
【挑战题描述】  每个人的硬盘里面或多或少都有一些秘密,为了不让其他人知道这些秘密,往往会通过各种方式进行保护,比如加密工具TrueCrypt就是不少人的选择。可是最近TrueCrypt出现了安全漏洞,官方也通知用户放弃该软件的使用。连安全软件都不安全了,那还要怎么来保护隐私数据呢?  【解题思路】  其实Windows系统自身就提供非常强大的加密工具BitLocker,它可以对数据进行快速有效的
期刊
模式多样  在这款游戏中,常规的模式有经典模式、限时模式和无尽模式。这三种模式中,玩家只需要点击和出现图标完全相反的选项就可以。除了这三种基本模式,还包括了街机模式、动感模式、炫彩模式、混合模式等多种玩法,每一种玩法都稍有不同。比如在炫彩模式中,玩家不仅要有逆向思维,还要有顺向思维,绿色的图标表示玩家要按照顺向思维点击,而白色图标则是逆向思维来判断。到最后会出现多种混合的排列组合,非常复杂,也很好
期刊