在A栏我有这个值1 0 3 2 0 五 1 1 1 0 2 1 1 1 0 2 1 1 1 0 0 3 0 2 0 0 3 1
此列表每天都在增长。 我需要一个公式来放置B列的每个单元格,向上计数大于1的值,直到找到下一个值= 1。 换句话说,我需要计算大于1的值在1到1之间。 假装的结果是这样的:
1
0
3
2
0
5
1 3
1
0
2
1 1
1
0
2
1 1
1
0
0
3
0
2
0
0
3
1 3
先谢谢
答案 0 :(得分:0)
如果可以接受,我会使用辅助列。
因此要创建一个大于1的运行计数,每次遇到'1'时重置,请从B2开始输入并向下拉(我假设数据有一个标题,列表以1开头) ): -
=IF(A2=1,0,B1+(A2>1))
然后要显示每个'1'值的计数(但不是重复值),请在C2中输入并向下拉: -
=IF(AND(A2=1,A1<>1,ISNUMBER(A1)),B1,"")
也可以使用数组公式来做,但不确定是否值得付出努力: -
=IF(AND(A2=1,A1<>1),
COUNTIF(
OFFSET(
A$1,
MAX(ROW(A1:A$2)*(A1:A$2=1))-ROW(A$1)+1,,
MAX(ROW(A1))-MAX(ROW(A1:A$2)*(A1:A$2=1))),
">"&0),
"")
在中输入 Ctrl Shift 输入并下拉。