Excel精英培训网

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

这种形式的表格怎么用函数统计行数

[复制链接]
发表于 2019-9-12 22:54 | 显示全部楼层 |阅读模式
本帖最后由 jsfc 于 2019-9-15 10:06 编辑

1、第一种情况,如A8:下一行单元格是以“理由”开头的,则统计“含理由行”下一行中以“1|”和“0|”开头的行数之和,显示格式为:“理由的前一行”+“:”+“统计数量”,如A8显示格式:有色 · 钴:9
2、第二种情况,如A35:下一行单元格不是以“理由”开头的,则统计下一行以“1|”和“0|”开头的行数之和,显示格式为:“第一个以1|”或“0|”开头的前一行”+“:”+“统计数量”,如A35显示格式:新能源汽车:1
3、第三种情况,如A37:下一行单元格开头既不是以“理由”,也不是以“1|”和“0|”开头的,则不统计,显示格式为:“原单元格内容”,如A37显示格式:ST股
4、想要的效果将B列
09-14.JPG

09-14.rar

12.28 KB, 下载次数: 1

发表于 2019-9-14 17:21 | 显示全部楼层
你这样不好哦,附件上不是已经有隔壁坛子代码了嘛
回复

使用道具 举报

 楼主| 发表于 2019-9-14 19:27 | 显示全部楼层

这种形式的表格怎么用函数统计行数

1、第一种情况,如A8:下一行单元格是以“理由”开头的,则统计“含理由行”下一行中以“1|”和“0|”开头的行数之和,显示格式为:“理由的前一行”+“:”+“统计数量”,如A8显示格式:有色 · 钴:9
2、第二种情况,如A35:下一行单元格不是以“理由”开头的,则统计下一行以“1|”和“0|”开头的行数之和,显示格式为:“第一个以1|”或“0|”开头的前一行”+“:”+“统计数量”,如A35显示格式:新能源汽车:1
3、第三种情况,如A37:下一行单元格开头既不是以“理由”,也不是以“1|”和“0|”开头的,则不统计,显示格式为:“原单元格内容”,如A37显示格式:ST股
4、想要的效果将B列

09-14.JPG

09-14.rar

12.28 KB, 下载次数: 1

回复

使用道具 举报

发表于 2019-9-14 21:00 | 显示全部楼层
本帖最后由 cutecpu 于 2019-9-14 21:17 编辑

E8(新增) 陣列公式: =IF(AND(LEFT(A8,2)<>{"1|","0|"})*OR(LEFT(A7,2)={"1|","0|"}),E7+2,E7)
B8 陣列公式: =IF(AND(LEFT(A8,2)<>{"理由","1|","0|"})*OR(LEFT(A9,2)={"理由","1|","0|"}),A8&":"&MATCH(E8+1,E9:E$1000)-(LEFT(A9,2)="理由"),A8)

註:
1. 以上除了 B58 不能正確處理以外,其他都能正確處理
2. B58 不能正確處理的原因是: "理由" 的下一行不是緊接著 "1|" 或 "0|" 開頭,而是跑出一個 "風電",所以打破規則

祝順心,南無阿彌陀佛!


解法

解法

B58不能正確處理

B58不能正確處理

09-14.rar

20.31 KB, 下载次数: 3

回复

使用道具 举报

 楼主| 发表于 2019-9-15 10:05 | 显示全部楼层
cutecpu 发表于 2019-9-14 21:00
E8(新增) 陣列公式: =IF(AND(LEFT(A8,2){"1|","0|"})*OR(LEFT(A7,2)={"1|","0|"}),E7+2,E7)
B8 陣列公式:  ...

感谢老师出手相助,谢谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 18:56 , Processed in 0.243042 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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