关于查找引用函数“找位置”的心得 结合对Lookup、Match(-1)流程图的修正过程(Hlookup、Vlookup精确查找流程易理解——见15楼),稍作总结: 1、这四个函数的查找机制均不是“遍历”法: HLookup、Vlookup、Match模糊查找时(最后参数为忽略或1或True),其作用基本等同于Lookup的数组语法。均为“二分法”,即“视数据为升序”而将数据采用对半收敛的方式缩小查找范围,直至找到小于等于查找值X的位置——速度奇快哦。 Hlookup、Vlookup、Match精确查找时(最后参数为0或False或省略剩下逗号),采用从第1个往下一直找直到找到为止,若找到最后一个还没找着,返回#N/A。 Match降序查找时(最后参数为-1),采用也是从第1个往下找:如果第1个就比查找值X小,返回#N/A;否则,如果先找到=X的值,就返回该位置,如果先找到比X小的值(比如在第m个位置),返回该位置的上一个位置(m-1)。 2、无论是Match还是其他三个函数,其核心都是用“比较值”(比较数据区域内的值和查找值X)的方法实现“找位置”——定位! “位置”找着了,Match返回的是“位置”,其他三个直接返回“值”。
[此贴子已经被作者于2007-5-12 1:33:36编辑过] |