Excel精英培训网

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

[已解决]excel数字个数连续统计问题

[复制链接]
发表于 2011-1-9 22:17 | 显示全部楼层 |阅读模式
5学分
本帖最后由 popo_321 于 2011-1-10 20:47 编辑

a列表里有一列数字,有正数、负数、0,我想把正数、负数及0的个数按照从上到下的顺序将其连续地一一列出,比如A1是正数,那么就在B1中返回1,A2是负数,那么就在C2中返回1,A3A4是0那就在D3中返回2,A5A6A7A8A9是正数,那就在B5中返回5,就这样连续地将个数统计出来并分列于B、C、D列,请问该怎样做?

1.jpg
最佳答案
2011-1-9 22:17
回复 popo_321 的帖子

B1=IF(A1>0,IF(ROW()=1,MATCH(1,1*(A$1:A$100<=0),)-1,IF(INDEX(A:A,ROW()-1)<=0,MATCH(1,1*(N(OFFSET(A1,ROW($1:$99),))<=0),),"")),"")
C1=IF(A1<0,IF(ROW()=1,MATCH(1,1*(A$1:A$100>=0),)-1,IF(INDEX(A:A,ROW()-1)>=0,MATCH(1,1*(N(OFFSET(A1,ROW($1:$99),))>=0),),"")),"")
D1=IF(A1=0,IF(ROW()=1,MATCH(1,1*(A$1:A$100<>0),)-1,IF(INDEX(A:A,ROW()-1)<>0,MATCH(1,1*(N(OFFSET(A1,ROW($1:$99),))<>0),),"")),"")
均为数组公式。(即公式要以CTRL+SHIFT+ENTER三键结束)
1.jpg

最佳答案

查看完整内容

回复 popo_321 的帖子 B1=IF(A1>0,IF(ROW()=1,MATCH(1,1*(A$1:A$100
发表于 2011-1-9 22:17 | 显示全部楼层    本楼为最佳答案   
回复 popo_321 的帖子

B1=IF(A1>0,IF(ROW()=1,MATCH(1,1*(A$1:A$100<=0),)-1,IF(INDEX(A:A,ROW()-1)<=0,MATCH(1,1*(N(OFFSET(A1,ROW($1:$99),))<=0),),"")),"")
C1=IF(A1<0,IF(ROW()=1,MATCH(1,1*(A$1:A$100>=0),)-1,IF(INDEX(A:A,ROW()-1)>=0,MATCH(1,1*(N(OFFSET(A1,ROW($1:$99),))>=0),),"")),"")
D1=IF(A1=0,IF(ROW()=1,MATCH(1,1*(A$1:A$100<>0),)-1,IF(INDEX(A:A,ROW()-1)<>0,MATCH(1,1*(N(OFFSET(A1,ROW($1:$99),))<>0),),"")),"")
均为数组公式。(即公式要以CTRL+SHIFT+ENTER三键结束)
回复

使用道具 举报

 楼主| 发表于 2011-1-10 20:48 | 显示全部楼层
本帖最后由 popo_321 于 2011-1-14 16:11 编辑

回复 qinqh_yl 的帖子

厉害 看着像火星文一样
回复

使用道具 举报

发表于 2013-6-14 10:38 | 显示全部楼层
理清思路确实不易,讲讲公式的构建思路就更好咯。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 10:31 , Processed in 0.246440 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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