EXCEL中怎么根据一列的值确定另一列最大的前两个值,在对应第三列返回一个值

如图根据A列,确定B列日期最大的前两个值,在C列对应的单元格返回一个值

描述的好深奥,我都看不懂 。

意思是根据 A列的数据,来取B列最大的两个数字是吗 ?这里我也理解,后面 又“返回一个值”就不懂了。

如上图,使用数组公式:

=LARGE((B2:B39)*(A2:A39=A2),1)

ctrl+shift+enter 一起按结束输入!

如果需要第二大的数字,使用公式 

=LARGE((B2:B39)*(A2:A39=A2),2)

如果两个数据都在一个单元格,需要注意使用  & 符号连接2个公式即可。

追问

后面又“返回一个值“”就是每组中对应的B列是前两大值在C列返回任意一个数,比如返回1或者分别返回1和2,这样我就能筛选出来。您这个方法是一组数据可以,但是我实际数据很大,两万多条6千多组,我需要根据每组的数据筛选出B列日期排名前两个的数据,感谢!

追答

数据太多确实不适合使用数组公式,你直接使用透视表可能更简单。

选择数据区,然后插入 ==》透视表。

然后将第一列数据设置为行标签,然后在 数值那里选择第二列数据,并设置字段为  最大值即可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-23
有个地方没懂:a列数字都一样,如何根据a列确定b列前两个最大值?a列和b列之间有什么关系?追问

实际A列数据有6000多组,A列是一个合并数据,B列是日期,需要根据A列筛选出每组中B列日期排名前两大的数据

追答

1、选中全部数据排序,以A升序并且以B降序。

2、在c1输入1,在c2输入公式=IF(A2=A1,1+C1,1),下拉。(这里可以设置一个条件格式,令单元格数值为1和2的格式填充为黄色)

3、在d1输入公式=IF(OR(C1=1,C1=2),C1,""),下拉。

4、可以对涂了颜色的C列进行颜色筛选,也可以对c列筛选包含1和2的格子,还可以对d列筛选非空格子,随你了。

本回答被提问者采纳