在EXCEL中,在A列中查找一个固定值,返回满足条件相对应的B列中的最大值,数据量很大,求个函数,谢谢

001 张三 2009-1-1 60

001 张三 2010-2-1 70

001 张三 2011-10-1 80

002 李四 2012-10-2 81

002 李四 2012-10-3 82

002 李四 2012-10-4 83
如上,想知道“张三(编号001)”最后一次考试的成绩,函数如何设置?

同学,如果我没看错题目的话,你求的是 张三的最后一次考试成绩。

给你做了个例子

在我例子的G2中输入  =INDEX(D:D,MATCH(1=1,G1=B1:B6))

三键结束公式(CTRL+SHIFT+回车)


图二、我把查询的姓名换成李四


其实这个题。应该以编号来查询,这样可以杜绝同名出现。


温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-19

输入 公式后按SHIFT+CTRL+ENTER

=VLOOKUP(MAX((B1:B6="张三")*C1:C6),C:D,2,FALSE)

 

追问

如何向下填充?下拉的话,工式中的B1:B6就变成B2:B7了,C1:C6变成C2:C7了。

追答

=VLOOKUP(MAX(($B$1:$B$6="张三")*$C$1:$C$6),$C:$D,2,FALSE)

追问

公式有问题,max查找出了张三最后一次考试的日期,比如2011-10-1,但是如果有多个2011-10-1,vlookup只是返回第一个查找到的值,不符合要求啊。

本回答被提问者采纳
第2个回答  2018-12-04
公式(假定第一行是标题行,数据从第二行开始):
=SUMIFS(D:D,A:A,A2,B:B,B2,C:C,MAX(C:C))
第3个回答  2014-03-19
=MAX(IF((B1:B30="张三"),D1:D30,""))