excel满足条件求和

如图,我想在L9中得到H10H11H12的和,在L12中得到H12H13的和,就是H列连续的正数统计到L中,连续几个正数的和,连续几个负数的和填入L中,怎样公式。同时在M... 如图,我想在L9中得到H10H11H12的和,在L12中得到H12H13的和,就是H列连续的正数统计到L中,连续几个正数的和,连续几个负数的和填入L中,怎样公式。同时在M中有连续的天数,N中有F的连续天数之和。 展开
 我来答
immaotou
2013-05-19 · 超过89用户采纳过TA的回答
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:168万
展开全部

终于做出来了。。初步的,有小bug,结尾最后一个数会出问题,涂黄的地方注意一下下面会说


先说公式

1.添加辅助列K,K列公式

K2手动输入1,K3开始=IF(H3*H2<0,1,0),往下拉

表示从本行开始,如果H行数据和上一行的符号不同,输出1,否则输出0


2.M列公式,如果K列中对应数据是1,即H列涨跌幅发生变号,查找下一次变号的位置离本次变号有多远,计算出连续不变号的天数

M2公式   =IF(K2=1,MATCH(1,OFFSET(K3,0,0,10000,1),0),""),往下拉


3.L列和N列:当M不为空时,表示需要计算本段时间的总涨跌幅和F的积累量

L2公式   =IF(M2<>"",SUM(OFFSET(H2,,,M2,)),"")

N2公式  =IF(M2<>"",SUM(OFFSET(F2,,,M2,)),"")

分别往下拉  ok


——————————

再说存在的和可能存在的bug,

1.因为k列计算的是本行涨跌幅数据和上一行数据的乘积,对于第一个数据,不存在前一行的数据,会出错。解决方法是K2手动输入1,表示本行需要计算,这个前面已经提到了。


2.M列因为是用match查找下一次出现变号的位置,对于结尾处,不存在下一次变号位置,所以会找不到,显示NA。

解决方法一是修改公式,用if分情况在讨论一下,我太懒了实在不想改了。现在这种公式也便于理解,你要是有兴趣的话就自己改一下。。。

解决方法二是最后一个手动算一下加进去,比如在M15中手动输入2表示连续两天,L和N会自动计算。


3.M列中给出的查找范围是K列10000行中会发生变号,对于极端情况,10000天连续涨或者连续跌的就会发生错误,虽然这种情况好像不会发生。。


目前差不多就这样。

Excel研究僧
2019-04-12 · 优质视频达人
个人认证用户
Excel研究僧
采纳数:59 获赞数:12434

向TA提问 私信TA
展开全部

excel中如何对满足条件的数据进行求和

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式