在一个列中使用COUNTIF而不是在多个行中进行多个循环

我有大量的数据以轮的forms设置。 如果在“预测”列中出现“1”,则需要倒计数“圆”列。 我知道如何手动这样做,但我有200多轮,我需要考虑。 我只想拖过COUNTIFS(C2:C11,1),但是Excel假定我想要下一行(D2:D11)中的相同单元而不是列(C12:C21)下一组。 我想要一个方法来告诉它做一些像COUNTIF(x + 1:y + 1,1),但下一列。

数据样本

我需要考虑。 我只想拖过COUNTIFS(C2:C11,1),但是Excel假定我想要下一行(D2:D11)中的相同单元而不是列(C12:C21)下一组。

公式应该引用十个垂直单元格,并将其移动到每个向右拖动的列的十个垂直单元格组。

INDEX函数可以很好地工作,同时避免使用像OFFSET这样的volatile函数。 使用COLUMN函数提供增量(由一些math调整)来计算行。

=COUNTIF(INDEX($C:$C, 2+(COLUMN(A:A)-1)*10):INDEX($C:$C, 11+(COLUMN(A:A)-1)*10), 1) 

从C2开始:C11。 向右拖动C12:C21,C22:C31等

INDEX函数不仅仅是返回一个值; 它实际上返回一个有效的单元地址。 当用于最常见的查找容量时,您会看到返回的值,但实际上,与仅返回单元格值的类似VLOOKUP操作不同,INDEX正在返回实际单元格; 例如=A1 ,而不是A1包含的99 。 这个超级function可以用来创build可用于其他function的有效范围。 例如A2:A9也可以写成INDEX(A:A, 2):INDEX(A:A, 9)

尝试这个:

 =COUNTIFS($C:$C,1,$A:$A,COLUMN(A:A)) 

当您向右拖动时,由COLUMN(A:A)表示的圆形数字将从1到2变为3。