计算两个值之间的范围内的值

时间:2015-06-13 23:05:17

标签: excel-formula

在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

先谢谢

1 个答案:

答案 0 :(得分:0)

如果可以接受,我会使用辅助列。

因此要创建一个大于1的运行计数,每次遇到'1'时重置,请从B2开始输入并向下拉(我假设数据有一个标题,列表以1开头) ): -

=IF(A2=1,0,B1+(A2>1))

然后要显示每个'1'值的计数(但不是重复值),请在C2中输入并向下拉: -

=IF(AND(A2=1,A1<>1,ISNUMBER(A1)),B1,"")

enter image description here

也可以使用数组公式来做,但不确定是否值得付出努力: -

=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 输入并下拉。