关于VLOOKUP的第⼀个参数,我有话要说……先上⼀个简单的例⼦,如图:
表中E2的公式该怎么写?
好吧,我再加个要求:必须⽤VLOOKUP!
路⼈甲:=VLOOKUP(D2,A:B,2,)
路⼈⼄:=VLOOKUP(D:D,A:B,2,)
以上两个公式,结果都正确:
但是!
如果E2和E3换⼀下,其中⼀个公式的结果就不对了:
所以,正确的写法应该是路⼈甲的=VLOOKUP(D2,A:B,2,)
路⼈甲与路⼈⼄的公式,差异在第⼀个参数,⼀个⽤了D2,另⼀个⽤了整D列。
关于这个参数的基本⽤法,在函数参数对话框⾥就说明得很清楚:
关于这个参数的基本⽤法,在函数参数对话框⾥就说明得很清楚:
数字、引⽤或字符串,⼈家没说可以⽤数组、单元格区域,所以,查值只能是⼀个。
但是函数有点这样的⼩脾⽓,绝⼤部分函数的参数,如果说明了只能是⼀个,我们不⼩⼼(gu yi)⽤了多个以后,这公式就摇⾝⼀变,成数组了。
⽐如Left函数,说好了是“从⼀个⽂本字符串的……”,第⼀个参数就该是⼀个单元格呀,可就是⽤了A1:A3三个单元格了,结果不仅有,⽽且还更⾼⼤上了。
同样的原理,是不是也可以⽤在VLOOKUP上?
不好意思,VLOOKUP是个异种!
VLOOKUP的第⼀个参数,就是⼀个值,如果⽤了多个,其结果,是⼀个伪内存数组。
路⼈⼄:等下,啥叫伪内存数组?
呃……这个解释起来有点,那啥啥啥啊,要不这样吧,还是举实例,刚才那个Left数组的结果,是个内存数组,我们可以在外⾯再套其他函数,⽐如ConCat,⼀步到位合并三个单元格的左边那位:
⽽同样的⼿法⽤在VLOOKUP上,结果就……
所以,简⾔之,伪内存数组就是看上去长得像数组但其实其结果⽆意义的东东。
所~以~,路⼈⼄的公式=VLOOKUP(D:D,A:B,2,)结果,其实是个伪内存数组。
路⼈⼄:那为什么我的公式在特定情况下结果正确呢?
嗯,这个“特定”⽤得好!
这是因为结果正确的那个公式误撞到了绝对交集引⽤。
parameter是什么意思啊图⽂作者:⼩妖同学
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论