分享

Excel反向查找出错原因:Hlookup函数与if搭配应用时的关键点

 部落窝教育BLW 2024-04-12 发布于四川

编按: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精品好课任你选择

相关推荐:

查找之王INDEX+MATCH

学函数必懂的数组基础知识

IF函数

利用控件制作动态图表

版权申明:

本文作者小窝;部落窝教育享有稿件专有使用权。若需转载请联系部落窝教育。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多