如何在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)
往下复制公式即可,不用管输入的时间顺序。
注意上面有$符号不要用错。