当前位置:数据库 > Excel >>

excel中vlookup函数的精确查询和模糊查询的查询结果有什么区别

我要查询的是姓名相同的项对应的有关信息,但在试验的时候发现无论用vlookup函数中的精确查询和模糊查询他们的结果都一样,除了操作方式上不一样而已,但是在解决多数据时却发现用精确查询时结果会不正确,但用模糊查询又怕结果不精确,所以想问大侠们模糊查询和精确查询的结果本质区别在哪里?谢谢啦
追问:觉得你的答案比较精深,我好像看不是很明白,但还是谢谢你了!不过根据我这几天的尝试,我发现用汉字查找的话还是用模糊查询比较准确一点!如果是数字或字母的话那就精确查询比较准确些!我也不知道为什么,或许,他们各有优缺点!Range_lookup    为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。
帮助中是这样说的,但我还是不怎么明白,是不是对于文本的查找,这两个的结果是一样的,但对于数值的查找就会出现不一样的结果呢?我试过了,好像不是这样哦!
答案:本质区别就是查找方式不同。
近似匹配使用的是二分法(或叫折半法)查找。要求table_array的首列必须按升序排列。
所谓二分法,就是先取数组的中间值与查找值比较,若查找值大于中间值,则在后一半数组中继续按这种方式查。如果查找值小于中间值,就会在前一半里继续找,直到找到一个匹配(或接近,就是帮助里说在找不到精确匹配值情况下,返回小于查找值e 的最大值)值。
所以,如果table_array不是升序排列的话,这个函数总能返回一个值,但这个值不一定正确。
但是,若查找值正好落在二分法的节点上,就有可能返回正确值了。
数字的顺序不用说了,字符的顺序按AscII码顺序,汉字则是按拼音顺序。

精确匹配用的是顺序查找,即从头到尾一个一个比较。找到就找到了,找不到就返回错误(#N/A表示找不到),不会返回近似值。
其他:可以看看帮助!就是处理数据的时候模糊查找会找到接近于你要找的数据,精确查找不会这样! 精确查询----在公示的后面是以0结束的,比如按姓名匹配出工资,如果姓名三个字中有两个字一样,用模糊查询就能匹配出来。精度查询就要求名字每一个字都一样。 精确跟模糊的差别在于,模糊查找只要碰到首字母(首字)相同的马上就返回得到的值。精确查找则会核对整个字符串,就算是字符串后边儿有空格,都会认为不一样。 

上一个:我用MFC读取数据库中的内容。显示在了列表控件上。。可是怎么把列表控件表里的内容复制到TXT或者EXCEL上?
下一个:我是个新手。有两个问题想问问各位了。第一,关于SQL。第二,关于操作系统。第三,关于excel。

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,