我们知道,这样的公式:VLOOKUP(C1,IF({1,0},A1:A10,B1:B10,2,0)可以实现从右向左查询
但是其中的IF{1,0}的原理却常常引起初学者的疑惑。
{1,0}是一个一行两列的横向水平数组。
IF({1,0},数列1,数列2)这一公式产生了新的一行两列数组:{数列2,数列1}
原来的数组(B,C列)无法实现从右向左查询,而变换后的数组把查值换到了左侧,就能使用V
这样的数组变换还有很多变化,可以到更多的用途。
1, 在HLOOKUP中的运用
在这样的数据表中,用HLOOKUP也只能从【姓名】查询【工号】。要想从【工号】查【姓名】,仍然可以用
之所以把逗号改为分号,是因为后面的两个数列是水平数组,而{1;0}是一个一列两行的垂直
2, 多列查询
C49单元格中的公式是:=VLOOKUP(B49,IF({1,1,1,1,0},shangyu实例!C9:F12,shangyu实例!B9:B12),5,0)
{1,1,1,1,0}是一个一列5行的常量数组,而后面红部分有四列,蓝部份一列,
在使用这个内存数组时,要注意各字段的位置。如【姓名】在内存数组的第5列,所以C49的公式 =VLOOKUP(B49,IF({1,1,1,1,0},shangyu实例!C9:F12,shangyu实例!B9:B12),5,0)当然,这个查询公式并没有什么实用价值,因为【工号】栏本来就在【性别】【籍贯】【出生年
只是用这个例子来说明数组变换。
3, 如果【工号】在最后一列,还有一个更简单的查询方法
更多的IF变换:
excel数组函数的实例通过以下不同变换,在内存中可以得到不同的字段排列
变换的规律是:{}中的常量数组四个元素对应IF函数的Value_if_true的四个数列,
其中0所在位置,被Value_if_false 对应的数列所替换
CHOOSE变换:
与IF变换相比,CHOOSE变换更简单、灵活:
CHOOSE还可以这样用:
CHOOSE函数还可以任意组合:
比如:
甚至还可以把“两地分居”的两个数据源合并成一个内存数组进行VLOOKUP查询:
数据源2,见“snahngyu实例”工作表的表一。
左侧,就能使用VLOOKUP查询了
】查【姓名】,仍然可以用数组变换的方法:0}是一个一列两行的垂直数组。
hangyu实例!B9:B12),5,0)
,所以C49的公式是:
,5,0)
出生年月】的左侧,不需要变换也能直接查
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论