编按: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精品好课任你选择! 相关推荐: 版权申明: 本文作者小窝;部落窝教育享有稿件专有使用权。若需转载请联系部落窝教育。 |
|
来自: 部落窝教育BLW > 《部落窝excel/VBA》