编按:HLOOKUP与VLOOKUP用法基本一致。在搭配IF函数进行反向查找的时候,得注意1和0之间的符号。这不,阿美用HLOOKUP反向查找就出错了……
阿美是学校的教务人员,她遇到了问题,用HLOOKUP编写的公式得不到正确结果,你能帮她解决吗?
这是横向反向查找,需要的学号(返回行)位于姓名(查找行)的上方。
VLOOKUP反向查找的时候,可借助IF函数交换查找列与返回列的位置,如下:
=VLOOKUP(A21,IF({1,0},$B$13:$B$18,$A$13:$A$18),2,)
显然阿美知道这点,所以她在HLOOKUP公式中也运用了IF函数来交换。但为何结果不对呢?
常量数组中的逗号和分号
Excel用大括号来组建常量数组,数组中列值之间用半角逗号分开,行值之间用半角分号隔开。如将下图B3:C4区域作为常量数组引用,可以写作{94,95;94,85}。
下方用VLOOKUP查找英语和数学成绩。英语的返回列数是2,数学的返回列是4,可以直接将它们作为常量数组用入公式。
2、4之间用不同的符号,结果排列不同。
公式“=VLOOKUP(A21,B13:E18,{2,4},0)”,数值之间用逗号,会得到两个列值。
公式“=VLOOKUP(A21,B13:E18,{2;4},0)”,数值之间用的是分号,会得到两个行值。
修改阿美的错误
回到开头,可以帮阿美解决问题了。
VLOOKUP反向查找,需要得到交换了位置的两列数据,所以常量数组是{1,0},数值之间是半角逗号。
HLOOKUP反向查找,需要得到交换了位置的两行数据,因此常量数组就应该写作{1;0}。
=HLOOKUP($A8,IF({1;0},$B$2:$G$2,$B$1:$G$1),2,)
最后留一个小问题。你能帮阿美优化公式,使其输入一个公式然后下拉右拉即可得到学号、科目成绩吗?
做Excel高手,快速提升工作效率,部落窝教育Excel精品好课任你选择!
学习交流请加微信hclhclsc进群领取资料
查找之王INDEX+MATCH
学函数必懂的数组基础知识
IF函数
利用控件制作动态图表
版权申明:
本文作者小窝;部落窝教育享有稿件专有使用权。若需转载请联系部落窝教育。
热门跟贴