Arrays Google Sheets动态范围(用于查找实例编号)在arrayFormula中的计数

Arrays Google Sheets动态范围(用于查找实例编号)在arrayFormula中的计数,arrays,google-sheets,formulas,array-formulas,Arrays,Google Sheets,Formulas,Array Formulas,我使用以下方法查找数据项的实例号: =countif(C$2:C2,C2) 向下填充时,此公式显示C2、C3、C4等在其上方出现的次数,从而给出其“实例号” 我想将其转换为数组公式(以避免填写),但是 不起作用。我不确定如何转换countif的range参数以符合arrayformula,同时保持此范围的动态性 示例表: 采用了一种最终来源不明的解决方案 =ArrayFormula(if(len(A2:A),index(sort(iferror({sort(row(A2:A),A2:A,1),

我使用以下方法查找数据项的实例号:

=countif(C$2:C2,C2)
向下填充时,此公式显示C2、C3、C4等在其上方出现的次数,从而给出其“实例号”

我想将其转换为数组公式(以避免填写),但是

不起作用。我不确定如何转换countif的range参数以符合arrayformula,同时保持此范围的动态性

示例表:

采用了一种最终来源不明的解决方案

=ArrayFormula(if(len(A2:A),index(sort(iferror({sort(row(A2:A),A2:A,1),row(A2:A)-row()+2-vlookup(sort(A2:A),{unique(A2:A),iferror(match(unique(A2:A),sort(A2:A),0))},2,0)})),,2),))

使用
数组公式
计算if
的简单方法:

=数组公式(COUNTIF(A1:A6,A1:A6))


提示:使用同一范围两次

欢迎!请勾选绿色标志以接受答案。
=ArrayFormula(if(len(A2:A),index(sort(iferror({sort(row(A2:A),A2:A,1),row(A2:A)-row()+2-vlookup(sort(A2:A),{unique(A2:A),iferror(match(unique(A2:A),sort(A2:A),0))},2,0)})),,2),))