ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: Edisonyu918

[已解决] 求连续大于0的数字之和

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-7-28 11:18 | 显示全部楼层
自定义函数,供参考。

Edisonyu918_连续大于零.rar

12.28 KB, 下载次数: 18

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-7-28 11:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
山菊花 发表于 2021-7-28 11:18
自定义函数,供参考。

@zshe  是什么意思呀, 把公式放到别的excel里错误

TA的精华主题

TA的得分主题

发表于 2021-7-28 11:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Edisonyu918 发表于 2021-7-28 11:29
@zshe  是什么意思呀, 把公式放到别的excel里错误

zshe是一个自定义函数,按Alt+F11,可看到这个函数的代码。用在别的Excel文件中,要把代码移过去。

TA的精华主题

TA的得分主题

发表于 2021-7-28 11:44 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
=SUMPRODUCT(IFERROR(MID(MAX(IFERROR(MID(TEXTJOIN(,,IF(B2:B99>0,B2:B99,REPT(" ",99))),ROW($1:$999),99)/1,0)),ROW($1:$999),1)/1,0))

数组

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-7-28 13:06 | 显示全部楼层
山菊花 发表于 2021-7-28 11:18
自定义函数,供参考。

可以加个辅助~~~
C2
=IF(B2>0,IF(B1>0,C1,ROW()))


MAX
=MOD(MAX(COUNTIF(C:C,ROW(1:17))*10^5+SUMIF(C:C,ROW(1:17),B:B)),10^5)

image.png




评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-7-28 13:49 | 显示全部楼层
cabcyvr 发表于 2021-7-28 11:44
=SUMPRODUCT(IFERROR(MID(MAX(IFERROR(MID(TEXTJOIN(,,IF(B2:B99>0,B2:B99,REPT(" ",99))),ROW($1:$999),99 ...

假设数据是从G4:G99999,公式应该怎么写呀

TA的精华主题

TA的得分主题

发表于 2021-7-29 07:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 小書生 于 2021-7-29 08:58 编辑
  1. =MAX(MMULT(COLUMN(A:P)^0,(COUNTIF(OFFSET(A2,,,ROW(1:16),),"<1")=TRANSPOSE(IFNA(IF(MAX(FREQUENCY(ROW(1:16),IF(A2:A17<1,ROW(1:16))))=FREQUENCY(ROW(1:16),IF(A2:A17<1,ROW(1:16))),ROW(1:16)-1),"")))*(A2:A17>0)*A2:A17))
复制代码

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-7-29 09:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 cinlo 于 2021-7-29 09:07 编辑

=SUM(OFFSET(A1,SMALL(IF(A$1:A$16<=0,ROW($1:$16)-2),MATCH(1,FREQUENCY(0,16-FREQUENCY(ROW($1:$16),IF(A$1:A$16<=0,ROW($1:$16)))),)),,1-MAX(IFERROR(FREQUENCY(ROW($1:$16),IF(A$1:A$16<=0,ROW($1:$16))),))))
我这里是假设源数据如楼顶所述在A1:A16

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-7-29 09:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
=MAX((MAX((COUNTIF(OFFSET(G3,ROW(1:99995),,COLUMN(A:Z),),">=0")=COLUMN(A:Z))*COLUMN(A:Z))=(COUNTIF(OFFSET(G3,ROW(1:99995),,COLUMN(A:Z),),">=0")=COLUMN(A:Z))*COLUMN(A:Z))*SUMIF(OFFSET(G3,ROW(1:99995),,COLUMN(A:Z),),">=0"))

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-7-29 12:11 | 显示全部楼层
= Table.Group(源,"数值",{{"次数",each Table.RowCount(_)},{"求和",each List.Sum([数值])}},0,(x,y)=>Number.From(x*y<0))
教程里的解法

评分

1

查看全部评分

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 05:44 , Processed in 0.045060 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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