ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的测验 > 函数与公式 > 按条件分段累加

按条件分段累加

作者:绿色风 分类: 时间:2022-08-18 浏览:191
楼主
syz105729913
一道很有趣的题目,给大家练练手。

按条件分段累加.rar


请用回复可见的方式跟贴。2009-08-12_123710.png
 
2楼
rongjun
暂时想到这:
C2填入公式,下拉

  1. =IF(ISNUMBER(1/(MATCH(B2,B3:B$26,)<MATCH(,(B3:B$26="f")+(B3:B$26=B2),)))+(B2="f"),"",SUM(A$2:A2*(B$2:B2=B2)*(ROW($2:2)>MAX((B$2:B2<>B2)*(B$2:B2<>"f")*ROW($2:2)))))

或者

  1. =IF(COUNTIF(OFFSET(B3,,,MATCH(,(B3:B$27=B2)+(B3:B$27="f"),)),B2)+(B2="f"),"",SUM(A$2:A2*(B$2:B2=B2)*(ROW($2:2)>MAX((B$2:B2<>B2)*(B$2:B2<>"f")*ROW($2:2)))))

3楼
gouweicao78
145字、106字:
145字:

  1. =IF((INDEX(B3:B99,MATCH(TRUE,B3:B99<>"f",))<>B2)*(B2<>"f"),SUMIF(INDEX(B:B,MATCH(1,0/(C$1:C1<>""))):B2,B2,INDEX(A:A,MATCH(1,0/(C$1:C1<>"")))),"")


106字:
  1. =IF(OR(INDEX(B3:B99,MATCH(TRUE,B3:B99<>"f",))=B2,B2="f"),"",SUM(A$2:A2)-SUM(C$1:C1)-SUMIF(B$2:B2,"f",A$2))

4楼
syz105729913
我的也贴出来吧,146字符,我们3个人的思路都不一样,真是条条大路通罗马,呵呵
=IF(OR(B2="f",INDEX(B:B,SMALL(IF(B$2:B$26<>"f",ROW($2:$26)),ROW()-COUNTIF(B$2:B2,"f")))=B2),"",SUMIF($B$2:B2,B2,$A$2:A2)-SUMIF($B$1:B1,B2,C$1:C1))
5楼
gouweicao78


sumif部分,改为:
SUMIF(B$2:B2,B2,A$2)-SUMIF(B$1:B1,B2,C$1)
这样前面用我的,后面用这个,就102字。
6楼
rongjun
改一下,98字符

  1. =IF(OR(OFFSET(B2,MATCH(,N(B3:B99="f"),),)=B2,B2="f"),"",SUMIF(B$2:B2,B2,A$2)-SUMIF(B$1:B1,B2,C$1))

7楼
yukaiwz
看看各位高手的创意,谢谢分享!
8楼
angel64471
目前頭很大~謝謝分享~
9楼
wenshui2006
学习一下,,,,,
10楼
三毛
学习学习!
11楼
aaabbb2010
非常需要啊
12楼
bluexuemei
学习学习
13楼
xpm130
呵,学习一下.
14楼
w83365040371
  1. =IF((B2<>"f")*(B2<>INDEX(B:B,MIN(IF(B3:B25<>"f",ROW(3:25))))),SUMIF(B$2:B2,"<>f",A$2:A2)-SUM(C$1:C1),"")
15楼
健康快乐123
看看学习一下,支持
16楼
sylzldd
学习了!
17楼
hopeson2010
占位学习!
18楼
humao
回复一下以便看贴。
19楼
wjc2090742
跟帖学习一下。
20楼
aini520zd
学习
21楼
LOGO
回帖学习函数。
22楼
玛拿西
感谢分享!
23楼
LOGO
这个公式最短,普通公式
  1. =IF(AND(B2<>B3,B2<>"f"),SUMIF(B2:B$2,B2,A2:A$2)-SUMIF(B1:B$1,B2,C1:C$1),"")

按条件分段累加-相对引用.rar
24楼
mathspirt
先来学习下
25楼
無心
来学习一下
26楼
larkychan
学习阶段~~~
27楼
南方有嘉木n_n
没看懂题目的意思
28楼
海鸥
大大大大大大大大大大大大大大大大大大大
29楼
qicpw
很好!很强大!
30楼
jm9999
ddddddddddddd
31楼
syz105729913
一道很有趣的题目,给大家练练手。

按条件分段累加.rar


请用回复可见的方式跟贴。2009-08-12_123710.png
 
32楼
rongjun
暂时想到这:
C2填入公式,下拉

  1. =IF(ISNUMBER(1/(MATCH(B2,B3:B$26,)<MATCH(,(B3:B$26="f")+(B3:B$26=B2),)))+(B2="f"),"",SUM(A$2:A2*(B$2:B2=B2)*(ROW($2:2)>MAX((B$2:B2<>B2)*(B$2:B2<>"f")*ROW($2:2)))))

或者

  1. =IF(COUNTIF(OFFSET(B3,,,MATCH(,(B3:B$27=B2)+(B3:B$27="f"),)),B2)+(B2="f"),"",SUM(A$2:A2*(B$2:B2=B2)*(ROW($2:2)>MAX((B$2:B2<>B2)*(B$2:B2<>"f")*ROW($2:2)))))

33楼
gouweicao78
145字、106字:
145字:

  1. =IF((INDEX(B3:B99,MATCH(TRUE,B3:B99<>"f",))<>B2)*(B2<>"f"),SUMIF(INDEX(B:B,MATCH(1,0/(C$1:C1<>""))):B2,B2,INDEX(A:A,MATCH(1,0/(C$1:C1<>"")))),"")


106字:
  1. =IF(OR(INDEX(B3:B99,MATCH(TRUE,B3:B99<>"f",))=B2,B2="f"),"",SUM(A$2:A2)-SUM(C$1:C1)-SUMIF(B$2:B2,"f",A$2))

34楼
syz105729913
我的也贴出来吧,146字符,我们3个人的思路都不一样,真是条条大路通罗马,呵呵
=IF(OR(B2="f",INDEX(B:B,SMALL(IF(B$2:B$26<>"f",ROW($2:$26)),ROW()-COUNTIF(B$2:B2,"f")))=B2),"",SUMIF($B$2:B2,B2,$A$2:A2)-SUMIF($B$1:B1,B2,C$1:C1))
35楼
gouweicao78


sumif部分,改为:
SUMIF(B$2:B2,B2,A$2)-SUMIF(B$1:B1,B2,C$1)
这样前面用我的,后面用这个,就102字。
36楼
rongjun
改一下,98字符

  1. =IF(OR(OFFSET(B2,MATCH(,N(B3:B99="f"),),)=B2,B2="f"),"",SUMIF(B$2:B2,B2,A$2)-SUMIF(B$1:B1,B2,C$1))

37楼
yukaiwz
看看各位高手的创意,谢谢分享!
38楼
angel64471
目前頭很大~謝謝分享~
39楼
wenshui2006
学习一下,,,,,
40楼
三毛
学习学习!
41楼
懃奋学习
学习一下
42楼
yjkuocangv
学习一下
43楼
冷笑
难度很大
44楼
铅笔人
查看下,谢谢!
45楼
Pak
学习学习一下
46楼
呆呆牛牛
来学习一下 ^_^
47楼
日月经天
学习
48楼
rainie311
学习
49楼
懃奋学习
学习一下
50楼
yjkuocangv
学习一下
51楼
冷笑
难度很大
52楼
铅笔人
查看下,谢谢!
53楼
Pak
学习学习一下
54楼
呆呆牛牛
来学习一下 ^_^
55楼
日月经天
学习
56楼
rainie311
学习

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap