excel中vlookup函数的精确查询和模糊查询的查询结果有什么区别
我要查询的是姓名相同的项对应的有关信息,但在试验的时候发现无论用vlookup函数中的精确查询和模糊查询他们的结果都一样,除了操作方式上不一样而已,但是在解决多数据时却发...
我要查询的是姓名相同的项对应的有关信息,但在试验的时候发现无论用vlookup函数中的精确查询和模糊查询他们的结果都一样,除了操作方式上不一样而已,但是在解决多数据时却发现用精确查询时结果会不正确,但用模糊查询又怕结果不精确,所以想问大侠们模糊查询和精确查询的结果本质区别在哪里?谢谢啦
展开
7个回答
展开全部
精确查询指按照指定条件进行精确查询,查询不到结果直接返回错误值。模糊查找指按照指定条件,进行精确查询,当查询不到结果,模糊匹配小于查找值的最大值。操作方法如下:
1、首先在单元格中输入“=vlookup(”,会出现提示如下图所示。
2、lookup_value:需要查询什么值,table_array:查询的区域,col_index_num:在查询区域的第一列查询到对象之后,返回第几列的值,range_lookup:精确查询还是近似查询。
3、第一个参数lookup_value是问需要查询什么值。选择左侧的单元格“J3”,告诉电脑需要查询的是姓名“黄龙”。
4、第二个参数table_array,是问需要在哪个区域中查询,选择如图所示“B2:G26”查询区域。
3、第4个参数range_lookup,是问需要查询的匹配类型,是“TRUE-近似匹配”,还是“FALSE-精确匹配”。也可以输入“1”表示近似匹配,输入“0”表示精确匹配。输入“0”,进行精确匹配。完成vlookup函数。
展开全部
本质区别就是查找方式不同。
近似匹配使用的是二分法(或叫折半法)查找。要求table_array的首列必须按升序排列。
所谓二分法,就是先取数组的中间值与查找值比较,若查找值大于中间值,则在后一半数组中继续按这种方式查。如果查找值小于中间值,就会在前一半里继续找,直到找到一个匹配(或接近,就是帮助里说在找不到精确匹配值情况下,返回小于查找值e 的最大值)值。
所以,如果table_array不是升序排列的话,这个函数总能返回一个值,但这个值不一定正确。
但是,若查找值正好落在二分法的节点上,就有可能返回正确值了。
数字的顺序不用说了,字符的顺序按AscII码顺序,汉字则是按拼音顺序。
精确匹配用的是顺序查找,即从头到尾一个一个比较。找到就找到了,找不到就返回错误(#N/A表示找不到),不会返回近似值。
近似匹配使用的是二分法(或叫折半法)查找。要求table_array的首列必须按升序排列。
所谓二分法,就是先取数组的中间值与查找值比较,若查找值大于中间值,则在后一半数组中继续按这种方式查。如果查找值小于中间值,就会在前一半里继续找,直到找到一个匹配(或接近,就是帮助里说在找不到精确匹配值情况下,返回小于查找值e 的最大值)值。
所以,如果table_array不是升序排列的话,这个函数总能返回一个值,但这个值不一定正确。
但是,若查找值正好落在二分法的节点上,就有可能返回正确值了。
数字的顺序不用说了,字符的顺序按AscII码顺序,汉字则是按拼音顺序。
精确匹配用的是顺序查找,即从头到尾一个一个比较。找到就找到了,找不到就返回错误(#N/A表示找不到),不会返回近似值。
追问
觉得你的答案比较精深,我好像看不是很明白,但还是谢谢你了!不过根据我这几天的尝试,我发现用汉字查找的话还是用模糊查询比较准确一点!如果是数字或字母的话那就精确查询比较准确些!我也不知道为什么,或许,他们各有优缺点!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本质区别就是查找方式不同。
近似匹配使用的是二分法(或叫折半法)查找。要求table_array的首列必须按升序排列。
所谓二分法,就是先取数组的中间值与查找值比较,若查找值大于中间值,则在后一半数组中继续按这种方式查。如果查找值小于中间值,就会在前一半里继续找,直到找到一个匹配(或接近,就是帮助里说在找不到精确匹配值情况下,返回小于查找值e 的最大值)值。
所以,如果table_array不是升序排列的话,这个函数总能返回一个值,但这个值不一定正确。
但是,若查找值正好落在二分法的节点上,就有可能返回正确值了。
数字的顺序不用说了,字符的顺序按AscII码顺序,汉字则是按拼音顺序。
精确匹配用的是顺序查找,即从头到尾一个一个比较。找到就找到了,找不到就返回错误(#N/A表示找不到),不会返回近似值。
近似匹配使用的是二分法(或叫折半法)查找。要求table_array的首列必须按升序排列。
所谓二分法,就是先取数组的中间值与查找值比较,若查找值大于中间值,则在后一半数组中继续按这种方式查。如果查找值小于中间值,就会在前一半里继续找,直到找到一个匹配(或接近,就是帮助里说在找不到精确匹配值情况下,返回小于查找值e 的最大值)值。
所以,如果table_array不是升序排列的话,这个函数总能返回一个值,但这个值不一定正确。
但是,若查找值正好落在二分法的节点上,就有可能返回正确值了。
数字的顺序不用说了,字符的顺序按AscII码顺序,汉字则是按拼音顺序。
精确匹配用的是顺序查找,即从头到尾一个一个比较。找到就找到了,找不到就返回错误(#N/A表示找不到),不会返回近似值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
精确跟模糊的差别在于,模糊查找只要碰到首字母(首字)相同的马上就返回得到的值。精确查找则会核对整个字符串,就算是字符串后边儿有空格,都会认为不一样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询