首页 > Excel > Excel vlookup工作原理(附流程图)

Excel vlookup工作原理(附流程图)

2010年6月22日 Surda 发表评论 阅读评论

Vlookup函数在一个茫茫的Excel数据源中,自动找出你要的某个数据的相关资料并填在指定的地方。也是就是,可以在一个表格或指定的一个区域中查找某一指定的值,并由此返回该值相对应当前行中指定列处的数值。

vlookup可能都经常用,但其内部工作流程是怎样的?或许真正了解的人不多。先看一个例子:

=VLOOKUP(1,{1,2;2,2;3,2;4,2;5,2;1,3;6,2;7,2},2,0)

不难看出这个公式返回的结果是“2”,为什么不是“3”呢?我们看看vlookup的内部工作流程图。

Vlookup工作流程图

 图示很简单,vlookup就是行递进比对数据。用公式=VLOOKUP(1,{1,2;2,2;3,2;4,2;5,2;1,3;6,2;7,2},2,0)分解流图,我们把数组参数{1,2;2,2;3,2;4,2;5,2;1,3;6,2;7,2}理解为一7*2方形矩阵数组A(),vlookup按查寻值在A()范围内进行遍历,当发现与查寻值相等时停止遍历并返回当前A()对应的参数序列,这也是为什么=VLOOKUP(1,{1,2;2,2;3,2;4,2;5,2;1,3;6,2;7,2},2,0)结果为“2”,不是“3”的原因,因为发现第一个值就停止了。关于数组参数查看Excel基于数组参数的查找函数应用

如遍历完整个数组仍未匹配到相同值刚返回“#N/A”错误值。如=VLOOKUP(9,{1,2;2,2;3,2;4,2;5,2;1,3;6,2;7,2},2,0)则返回“#N/A”结果

如果不想返回“#N/A”错误信息,我可以用“ISERROR”+”IF”函数判断,将错误信息转置为“0”或其他。如:

=IF(ISERROR(VLOOKUP(9,{1,2;2,2;3,2;4,2;5,2;1,3;6,2;7,2},2,0)),0,VLOOKUP(9,{1,2;2,2;3,2;4,2;5,2;1,3;6,2;7,2},2,0))


ShareOn:
  •  
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.