之前,我发布了一篇文章,在这篇文章中,我用“条件格式”中的“突出显示单元格规则”来快速查询到分数小于70分的成绩所在的单元格,有位读者给我留言,说能否用LOOKUP函数或者VLOOKUP函数来完成那个例子,今天这篇文章就来回答下他的这个问题,使用LOOKUP函数来进行条件查询,再对查询出的结果求和。
本文演示的环境如下
硬件型号:华硕顽石6代FL8700FJ
操作系统软件:Windows 10 家庭中文版 (版本号1910)
软件版本: Microsoft Office 专业增强版 2016 (版本号16.0.4266.1001)

在一行或一列中搜索值;不主张用数组形式,要使用数组形式,必须对数据排序,不方便使用,用数组形式的话,更推荐用VLOOKUP函数和HLOOKUP函数。
LOOKUP(lookup_value, lookup_vector, [result_vector])
lookup_valueookup_value
lookup_vector
可选的, 只包含一行或一列的区域。 result_vector参数必须与 lookup_vector参数大小相同。 意思是结果所选择的区域要与查找所选择的区域一样。
LOOKUP 函数找不到lookup_value,则该函数会与 lookup_vectorlookup_value的最大值进行匹配。
本文的这个例子是要进行条件查询,即查询出满足一定条件的数据,并不是直接查找到某个值。下面我们来完成这个例子。
先将表格的标题行和标题列复制到其他位置;

再在数据区域的第一个单元格中,这里是M3单元格,输入公式“=LOOKUP(1,0/(B3<70),B3)”,来说明一下这个公式,B3<70返回的是TRUE或FALSE,即如果B3中的数据小于70,就返回TRUE,否则返回FALSE,在运算中返回TRUE相当于是1,返回FALSE相当于是0,那么第二个参数0/(B3<70)在条件为TRUE时是0,因为0除以1得0,这个公式就返回第三个参数M3对应的值,在条件为FALSE时为错误,因为除数为0无意义,这个公式就返回错误。

按ENTER确认后,返回结果为#DIV/0!,说明条件不满足。B3单元格中为84,大于70,不满足小于70的条件,故返回错误。

将剩余单元格填充完公式后,结果如下所示;

会发现小于70的分数都被查询出来了,但其他单元格的错误影响我们计算,使用IFERROR函数来将错误单元格都返回空值。在M3单元格中重新输入公式“=IFERROR(LOOKUP(1,0/(B3<70),B3),"")”,再分别将其他单元格填充,结果如下:

最后,在H9单元格中输入公式“=SUM(M3:Q9)”,这样的话完成对小于70分的成绩的求和了。

最后结果为402,与按颜色求和结果相同。

特别说明:与LOOKUP函数相比,这个例子用IF函数更加方便、简单、容易理解。
演示动画如下:

总结:
1、复制表格的标题行和标题列;
2、在数据区域最左上角的单元格中输入公式“=IFERROR(LOOKUP(1,0/(B3<70),B3),"")”并填充其他单元格;
3、输入公式“=SUM(M3:Q9)”求和。
今天的内容就分享到这里,欢迎大家与我一起讨论Excel相关知识,喜欢就点关注哦!