本帖最后由 wp8680 于 2011-3-31 12:28 编辑
我们知道,这样的公式:VLOOKUP(C1,IF({1,0},B1:B10,A1:A10),2,0)可以实现从右向左查询
但是其中的IF{1,0}的原理却常常引起初学者的疑惑。
{1,0}是一个一行两列的横向水平数组。
原来的数组(A、B列)无法实现从右向左查询,而变换后的数组把查找值换到了左侧,就能使用VLOOKUP查询了。
在这样的数据表中,用HLOOKUP也能从下面一行查到上面一行,仍然可以用数组变换的方法:
=HLOOKUP(查找的的值,IF({1;0},下面的行区域,上面的行区域),2,0)
注意这时的IF({1;0},中间的分号隔开,上面的VLOOKUP中是用逗号隔开的,道理就不用讲了。
还可以实现的多列查找,如=VLOOKUP(要查的值,IF({1,1,1,1,0},右边的五列区域,左边的列区),5,0)
对IF({1,1,1,1,0},连续的五列区域,左单列区域) 的用法解释是,左列区域想放在五列区中的任意一列代替,就将0放在数组{1,1,1,1,0}中的什么位置,比如将某单列区替代四列区中的第二列,就用IF({1,0,1,1,1},连续的五列区域,某单列区域)。就是说0在什么位置,IF的第三个参数就在什么位置。
当然关键一点,用CHOOSE({1,2,3,4,5},列,列,列,列,列)比IF 更简单。
我是不是把简单东西复杂化了?如果觉得还有点小用就支持评分吧。
|