如何在excel中多条件取最大值?

来源:百度知道 编辑:UC知道 时间:2024/05/15 10:56:23
身份证号码 报销月份 已报销 本次报销 累计报销
352228198601122238 2009年1月 0.00 100.00 100.00
110109196004025318 2009年6月 0.00 50.00 50.00
352228198601122238 2009年4月 100.00 140.00 240.00
110109196004025318 2009年5月 50.00 50.00 100.00
352228198601122238 2009年9月 240.00 60.00 300.00

请问,如何用公式在“已报销”单元格中,自动读取前面记录中——身份证号码一样,且报销月份最近的那行记录中“累计报销”单元格中的值?

根据楼上的意思,建议结合数组用if公式,具体公式可这样设C2==IF(AND($A$2:$A2=$A2,MAX($E$2:$E2)),MAX($E$2:$E2),0)。然后别的直接下拉公式即可。。。

按楼主的意思理解应为
C2=IF(COUNTIF($A$2:$A2,$A2)=1,0,LOOKUP(MIN(--TEXT(ABS(IF($A$2:$A2=$A2,$B$2:B2)-B2),"[=0]65536;#")),ABS(IF($A$2:$A2=$A2,$B$2:B2)-B2),$E$2:$E2))

按CTRL+SHIFT+ENTER结束,公式下拉即可。

但是实际情况中不是“报销月份最近”,因为看你的表中的第2和第4条记录,你首先录入的日期是2009年6月,再录入的是2009年4月,如果你录入的顺序都是这样不是按大小按列的话,你的“最近日期”就会出错,所以按我的理解正确公式就为:

C2=IF(COUNTIF($A$2:$A2,$A2)=1,0,LOOKUP(2,1/($A1:$A$2=$A2),$E1:$E$2))

按CTRL+SHIFT+ENTER结束,公式下拉。

试试这个公式
=SUMPRODUCT(($A$2:$A$10=A2)*(MAX(($A$2:$A$10=A2)*$B$2:$B$10)=$B$2:$B$10)*$E$2:$E$10)

将当前行以上的所有‘本次报销’金额合计就是‘已报销’金额。
A B C D E
身份证号码 报销月份 已报销 本次报销 累计报销

C2公式 =SUMIF($A$1:$A1,$A2,$D$1:$D1)
往下复制公式即可,不用管输入的时间顺序。

注意上面有$符号不要用错。