首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel -查找上一行和不同范围大小的最大值。

Excel -查找上一行和不同范围大小的最大值。
EN

Stack Overflow用户
提问于 2017-03-28 20:53:30
回答 1查看 314关注 0票数 1

我需要找出降水过程中的最大相对湿度值。我已经计算了每个事件的持续时间,并能够获得excel来“扫描”正在向后进行的事件。我遇到的问题是,有些事件是从前一天开始的,我不知道如何让excel扫描前一行。

下面是一个示例…

代码:

代码语言:javascript
复制
=IF(AND(Duration!BP3>0), MAX(INDIRECT(ADDRESS(3, COLUMN(C3)-Duration!BP3)):C3),0)

示例:上表中的 First事件只有一个小时(L2),因此最大值自动为90。

下一个活动的持续时间为11个小时。我试图让excel找到从21z到02z的最大值。因此,BP3 = 6。由于BP3大于0,我试图通过减去持续时间来获得事件的范围(列(C3)-Duration!BP3),从而求出最大相对湿度。对于此事件,最大值为100。

问题:我得到了"#VALUE!“因为没有带有=(C3-6)的单元格。有没有办法让它也扫描上一行?VBA或python代码工作得更好吗?我对VBA和python相当陌生,所以我不知道该如何做。

EN

回答 1

Stack Overflow用户

发布于 2017-03-28 21:57:18

代码语言:javascript
复制
=IF(BP3<COLUMN(C3),MAX(OFFSET(C3,0,-(BP3-1),1,BP3)),MAX(MAX(A3:C3),MAX(OFFSET(X3,-1,-BP3+COLUMN(C3)+1,1,BP3-COLUMN(C3)))))

如果BP3不是太大,则取C3偏移量的最大值向后。如果它太大,取两个范围的最大值:第一个范围是A3:C3。第二个范围是X3,偏移1行,返回许多列(BP3-列(C3))。

如果事件跨越两行以上,则此操作将无法工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43079740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档