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,写错了 不好意思 展开
取当前单元格判断正负,如果为正数,则当前数加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,写错了 不好意思 展开
3个回答
展开全部
已经了解了你的问题
你实际上是想说每次由正转负的时候n叠加一次。
想了一阵,似乎只能通过辅助列的方式实现。辅助列用于记载对应的n。
你实际上是想说每次由正转负的时候n叠加一次。
想了一阵,似乎只能通过辅助列的方式实现。辅助列用于记载对应的n。
更多追问追答
追问
具体怎么做呢,我也想到辅助列了,还是不知道怎么做
追答
辅助列就简单了。
假设第二行开始。
B2=if(A2<0,1,0)
B3=if(and(A3<0,A2*A3<0),B2+1,B2)
下拉复制
C2=A2+24*B2
下拉复制
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如上面数据在A列
结果要在B列
则
B1输入公式
=A1+24*(countif($a$1:a1,"<0"))
向下复制公式,完成
PS:你后面怎么冒出个8*(n) 8应该是24吧????
结果要在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")
可以想要的数据,能否不通过辅助列,直接公式计算?
谢谢您!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表述不清
一会24*(0+1)
一会又8*(n),之前没出现过8*(n)啊。
建议详细描述问题。
一会24*(0+1)
一会又8*(n),之前没出现过8*(n)啊。
建议详细描述问题。
追问
不好意思,都是24,写的太不仔细了,谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询