Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1664|回复: 2

[已解决]求助:动态区域求和,查找最大值

[复制链接]
发表于 2020-11-8 19:45 | 显示全部楼层 |阅读模式
帮忙写两个公式,或者修改原有公式。非常感谢!

1、K列写一个公式下拉:如果A列为空则对J列的每行累加求和,如果A列出现【考核验收】则结束为空。下一行则重新开始重新累加,直到下一个【考核验收】出现结束为空…………动态区域求和

2、R列写一个公式下拉:如果A列出现【考核验收】则查找两个【考核验收】之间P列的最大值。…………每个【考核验收】前的数据都是独立的…………动态查找最大值

最佳答案
2020-11-11 10:23
K9=IF(I9="考核验收","",N(K8)+J9)

P9{=IF(I9="考核验收",MAX(OFFSET(P8,,,SUM(MATCH(1,0/(I$8:I8="考核验收"))-ROW()+7))),"")

22.zip

37.97 KB, 下载次数: 9

发表于 2020-11-10 22:08 | 显示全部楼层
本帖最后由 砂海 于 2020-11-10 22:17 编辑

1)
辅助列: S9=COUNTIF(I$8:I9,"考核验收")
K9=SUMIF(S$8:S9,S9,J$8:J9)
下拉

但到K17时 , 与你的值不同

2)
T8=IF(I8="考核验收",ROW(),T7)
R9=IF(I9="考核验收",MAX(OFFSET($P$1,T8-1,,ROW()-T8)),"")   --------------------------------------
....................................................
========================================
当然 问题1 也可以参照 问题2 ,用 Offset()  构建区域.

回复

使用道具 举报

发表于 2020-11-11 10:23 | 显示全部楼层    本楼为最佳答案   
K9=IF(I9="考核验收","",N(K8)+J9)

P9{=IF(I9="考核验收",MAX(OFFSET(P8,,,SUM(MATCH(1,0/(I$8:I8="考核验收"))-ROW()+7))),"")
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-4 22:26 , Processed in 0.478212 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表