Excel公式进行表格运算,需要判断条件和设置循环

我需要对excel的数据做批量运算,数据以列的形式存放,条件如下:取当前单元格判断正负,如果为正数,则当前数加24*0,向下再运算下一个数,如果仍为正数则仍维持运算为当前... 我需要对excel的数据做批量运算,数据以列的形式存放,条件如下:
取当前单元格判断正负,如果为正数,则当前数加24*0,
向下再运算下一个数,如果仍为正数则仍维持运算为当前数加24*0,如果为负,则运算法则变为为当前数加24*(0+1)
然后再向下运算,运算法则维持为当前数加24*(0+1),之后会有一些正数,维持运算法则不变化,
当再次遇到负数则8*(n)中的n就要加一,然后继续运算,直到遇到正数后在遇到负数,再次n+1
这个公式应该如何编写?
如下数据
plate_1

9.9475

12.13778

14.17639

-7.7875

-5.75389

-3.71889

-1.68361

4.156667

6.206667

8.251667

10.29722

12.34389

14.38

-7.585

-5.54861

-3.51167

-1.47694

0.559444

2.593889

4.628333

6.668611

8.714444

10.76056

12.805

14.85083

-7.10333

-5.05833

-3.0125

运算后应变成
plate_1

9.9475

12.13778

14.17639

16.2125

18.24611

20.28111

22.31639

28.15667

30.20667

32.25167

34.29722

36.34389

38.38

40.415

42.45139

44.48833

46.52306

48.55944

50.59389

52.62833

54.66861

56.71444

58.76056

60.805

62.85083

64.89667

66.94167

68.9875
都是24*n,写错了 不好意思
展开
 我来答
百度网友291979bb4
2013-08-05 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:86.5万
展开全部
已经了解了你的问题
你实际上是想说每次由正转负的时候n叠加一次。
想了一阵,似乎只能通过辅助列的方式实现。辅助列用于记载对应的n。
更多追问追答
追问
具体怎么做呢,我也想到辅助列了,还是不知道怎么做
追答
辅助列就简单了。
假设第二行开始。
B2=if(A2<0,1,0)
B3=if(and(A3<0,A2*A3<0),B2+1,B2)
下拉复制
C2=A2+24*B2
下拉复制
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzhilling
2013-08-05 · TA获得超过2701个赞
知道大有可为答主
回答量:3255
采纳率:45%
帮助的人:1135万
展开全部
比如上面数据在A列
结果要在B列

B1输入公式
=A1+24*(countif($a$1:a1,"<0"))
向下复制公式,完成

PS:你后面怎么冒出个8*(n) 8应该是24吧????
追问
是每一次遇见第一个负号后n+1,之后再次遇到正号变成负号的时候才加一,
不是每次遇见负号都n+1.不知道应该怎么改公式呢?
谢谢!

Countif这个函数很好呀,怎么用这个函数来统计正号变换为负号的转换的次数呢?

我通过添加辅助列
B2=if((A2-A3)<0,0,1)
B3=A2+24*countif(B$2:B2,"=1")
可以想要的数据,能否不通过辅助列,直接公式计算?
谢谢您!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
enjoyllonely
2013-08-05 · TA获得超过2.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:60%
帮助的人:7540万
展开全部
表述不清
一会24*(0+1)
一会又8*(n),之前没出现过8*(n)啊。
建议详细描述问题。
追问
不好意思,都是24,写的太不仔细了,谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式