在EXCEL中如何取某一列的最大值对应的数据?

组数 序号 日期 收入金额
A组 1 2012-01-01 16,688.00
A组 1 2012-01-02 31,330.00
B组 1 2012-01-03 229,183.00
C组 1 2012-01-04 15,643.00
A组 2 2012-01-04 41,152.00
A组 3 2012-01-04 107,910.00
C组 1 2012-01-05 130,000.00
B组 2 2012-01-05 7,679.00
C组 3 2012-01-05 32,930.00
B组 1 2012-01-06 0.00
D组 2 2012-01-06 9,015.00
D组 1 2012-01-07 0.00
如何在这一数组中分别取出每组不同日期最多的收款额?入A组2012-01-04日收了两笔(41152,107910),如何用函数取得107910这个数?求高见,谢谢!!!!

在H2单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束

=MAX(IF((A$2:A$13=F2)*(C$2:C$13=G2),D$2:D$13))

公式通过MAX+IF数组公式,将A列等于F2且C列等于G2条件下的D列最大值求出来。

 

详见附图

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-19
这个用数据透视表比较合适,选中区域,插入,数据透视表,把组数拖到列,日期拖到行,收入拖到数值区,汇总方式选 最大值,就可以了。追问

我也知道可以用数据透视表,但是它是流水状态的表格。用数据透视表要不断刷新,不太直观。而且,数据源表如有空格,透视表刷新后会出现空白取数,是否有别的取数方式?

追答

空白取数用设置单元格格式的办法可以让它看不见,数据不断变化可以用OFFSET等函数取数,或用列表方式取得数据。

本回答被提问者采纳
第2个回答  2012-04-20
前提:要把日期列用datevalue转换在值
=INDEX(Sheet1!d:d,MATCH(MAX(IF(Sheet1!a$1:a$100=A1,Sheet1!C$1:C$100)),Sheet1!C$1:C$100,))
ctrl+shift+enter
第3个回答  2012-04-19
里面好像有个函数可以取最大值的追问

这位朋友,能说得具体以点吗?谢谢!

相似回答